惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
打造专属 AI 智能体,享受 10 倍知识管理效率 - 少数派
2024-09-27 · via 少数派

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 
文章代表作者个人观点,少数派仅对标题和排版略作修改。


收藏了还要自己手动整理阅读清单?

快用 AI 智能体,摆脱恼人的归纳工作,一键收藏、自动整理、智能推荐,享受前所未有的知识管理效率。

写在开头

很推荐按照这个教程,给自己定制一个 AI 稍后读智能体,自动管理阅读计划。

最近学习 AI,每天都有很多新内容来不及看,得攒起来稍后读。

一开始为了省事,我把所有想读的文章都丢进了微信文件传输助手。但时间一长,问题就暴露出来:不仅分不清哪些读过哪些没读,甚至还忘了每个链接的看点和收藏原因。

(说实话,我很好奇有多少人也经历过这种困境)

带着解决问题的心态,调研了一圈稍后读解决方案。但常见的 Pocket、Instapaper、简悦、Notion,要么与个人知识管理体系格格不入,要么步骤复杂、依赖人工归纳管理,还不如文件传输助手来的方便。

正好最近在研究智能体,灵光一现:何不给自己 定制一个 AI 稍后读助手 ,帮助自己摆脱恼人的归纳工作,自动整理阅读清单,按个人兴趣推荐阅读计划呢?

阅读指南

核心看点:

  • Step by step 打造实用 AI 效率工具,V1.0 支持以下功能:
    • 一键无感收藏,自动整理稍后读清单
    • 智能匹配你的兴趣,从已收藏内容中推荐最相关内容,定制阅读计划
    • 自动标注:内容看点、适合人群、作者、发布平台
  • 分享 AI 智能体设计流程:开源 AI Agent 的设计到落地的全过程思路
  • 了解 Coze 中飞书多维表格插件使用方法
  • 了解 Coze 发布到飞书机器人的配置方法

适合人群:

适合对象对 AI 智能体、知识管理感兴趣,但可能没有技术背景的读者
学习难度对 Prompt、代码近乎 0 要求
阅读价值你可以跟随本文,亲自动手定制一个由 AI 驱动的稍后读工具,同时学习 AI 应用开发的基本概念和流程。
使用工具Coze、飞书多维表格、飞书聊天机器人

效果预览:

开箱即用

如果你只是想用上这个工具,我也搭建好了开箱即用的 Coze Bot ,欢迎直接上手使用。

📮 飞书 · 稍后读助手: 只需发送想收藏的文章链接,AI 就能帮你搞定一切!

👉 点击直达 https://www.coze.cn/s/irQFQbwA/

开源计划

飞书·稍后读助手已经帮助我整理了几十条待读内容!现在,我还打算把它做成更酷的 AI 智能体开源项目。

当前的脑洞清单:

  1. 推出 Notion·稍后读助手(关爱 Notion 用户,一起知识管理加速 ⏩)
  2. 自动推送每日阅读计划(告别拖延症,从我做起!💪)
  3. 持续优化智能推荐的效果(省去挑挑拣拣的功夫 🕵️♂️)
  4. 智能打标签(让你的阅读清单井井有条 🏷️)
  5. ……(还在酝酿更多骚操作 🚀)

当然,这还不是全部!如果你:

  • 想获取最新功能版本 🗓️
  • 脑子里有什么天马行空的点子 💡
  • 对现有功能有吐槽或建议 🗣️
  • 一起参与这个开源 Agent 的开发 🛠️
  • 或者只是想和我聊聊天,交流交流 ☕

随时欢迎来找我!让我们一起把这个项目变得更酷炫~

引言

今年 AI 智能体很火,Coze、Dify 等 AI 智能体编排平台,大大降低了制作 AI 智能体的门槛。

上篇文章《万字实践教程,全面入门 Coze 工作流|用 Coze 打造 AI 精读专家智能体》中已经清晰的讲解过用 Coze 搭建 AI 工作流的全步骤,如果你想从头学习 Coze 的智能体搭建方法,建议先使用「飞书·稍后读助手」收藏文章,按需阅读。

接下来,就直接一起来看这个 bot 是怎么设计落地的吧。

Step0:前期准备

梳理 AI 智能体的功能需求

在稍后读的知识管理场景中,一般流程如下:

  1. 发现内容:在浏览网页、社交媒体时发现感兴趣但当前不方便阅读的文章或内容。
  2. 收集内容:通过浏览器插件、分享到 App 或复制链接等方式将内容保存到稍后读服务。
  3. 整理入库 :通过内容标题、内容主题、来源平台分类等方式对阅读清单进行整理标记(一般多为人工)。
  4. 选择内容:根据收藏时间排序、个人兴趣,在阅读清单中,自行选择下一步阅读内容。
  5. 阅读内容:根据筛选结果,阅读内容,逐步清空阅读清单。

仔细观察这 5 个步骤,我们会发现真正 与用户稍后读需求直接相关的只有「发现」「收集」和「阅读」 。

虽然「整理」和「选择」环节只是稍后读管理的衍生步骤,却往往占用了大量知识管理时间 。特别是当阅读清单积累大量记录时,根据当前兴趣挑选内容变得更加耗时。

这直接导致许多人虽然收藏了大量待阅读的内容,但由于整理不到位、选择内容不方便 ,最终 陷入「藏而不读」的困境

另外,「收集」环节的便利性也至关重要。由于「收集」本身并不能直接带来阅读收益,自然是操作路径越短、越简单越好。这也是大家都喜欢用微信文件传输助手临时收藏内容的原因。

基于以上分析,我们可以得出对 AI 稍后读的功能需求:

  • 尽可能简化「收集」环节
  • 自动化「整理」环节
  • 根据待阅读内容列表的主题和当前阅读兴趣,智能「选择」相关内容、推荐个人阅读计划

设计 AI 稍后读助手的方案思路

基于前面的分析,我们可以勾勒出 AI 稍后读助手的大致思路:

简化收集

  • 实现跨平台收集功能,支持电脑(web 端)、安卓、iOS 多端操作。
  • 考虑到待阅读内容通常都有网页链接,最理想的方式是只需输入一个 URL 就能完成收集。借鉴微信文件传输助手的直观操作方式,通过聊天窗口完成收集输入会更符合用户习惯。

自动化「整理入库」:

  • 为便于存储和回顾已收集的阅读清单,系统应在入库时自动整理每条内容的关键信息,包括标题、摘要、作者、发布平台、发布日期、收集时间和阅读状态。
  • 同时,这份阅读清单最好也能支持跨平台查看,提高可访问性。

智能「选择」推荐:

  • 根据当前收藏记录,结合用户的阅读兴趣,进行相关性匹配,并生成最合适的阅读计划。

根据以上思路不难发现,同在字节生态中的 Coze、飞书、飞书多维表格,正好可以为 AI 稍后读构建一个完整的 AI 工作流。具体来说:

  • 通过飞书机器人与 Coze 搭建的智能体进行对话,在聊天窗口中完成链接输入和阅读计划输出
  • 由 Coze 调用大模型、插件,完成内容的整理、推荐
  • 利用飞书多维表格存储和管理稍后读数据

这样一来,理论上无需开发任何插件、APP,也能实现跨平台的稍后读收集与智能阅读计划的推荐。

调研 Agent 现有插件是否满足核心能力

为了确保上述设计思路的可行性,我们需要调研一下是否有现成的插件可以满足核心需求,支持 AI 智能体的直接搭建。这一步很关键,因为如果没有合适的插件,就会需要额外的插件开发工作。

经过调研,我们发现以下两个插件:

网页读取插件, 采用「Link_analyzer」插件。它支持根据输入的 URL 返回对应的网页内容

飞书多维表格操作, 官方提供的「飞书多维表格」插件。它支持通过「add_records」功能新增数据表记录,以及通过「search_records」功能查询数据表记录。这完全满足了我们存储和检索稍后读数据的需求。

有了这两个关键插件,我们就能够实现核心功能,着手搭建这个 AI 稍后读助手了。

Step 1:逐步搭建 AI 智能体

设计 AI 智能体架构

照例还是先构思整个 AI 智能体的架构:

规定稍后读阅读清单的元数据

纵观整个智能体架构,不难发现,无论是整理入库,还是选择内容,都依赖飞书多维表格作为稍后读存储地址,为智能体提供数据库服务,规定了稍后读阅读清单的元数据。

为了方便跟做,也可以直接复制我准备好的模板。新建一个飞书多维表格,根据我对稍后读的管理需要,定义稍后读的元数据字段如下:

内容超链接格式,显示页面标题,可点击跳转具体的页面
摘要根据具体内容,总结内容主题、关键信息、阅读价值,并指出适合的读者群体
作者作者名称
平台所在的网站平台名称
状态阅读状态,收藏的默认态为「仅记录」
发布日期文章的发布日期
收集时间收藏入库的时间

搭建整理入库工作流

接下来开始在 Coze 中逐步搭建 AI 智能体。首先搭建整理入库工作流。

这一步是支撑整个 AI 稍后读服务的前置流程。需要实现以下功能流程:

在搭建内容入库工作流这一步,我花了相当长的时间,调试飞书多维表格插件的使用方式,因为篇幅原因,不在此详述,我将直接分享最终的设置方式。

首先新建工作流「url2table」:

根据弹窗要求,自定义工作流信息。

工作流全局流程设置如下:

开始节点:输入 url

由于希望收到用户输入的待收藏 url,就开始流程,所以不需要额外配置(至于如何判断哪些用户输入是需要收藏的 url,则交由外层 bot 的大模型判断):

变量节点:引入 bot 变量中保存的飞书多维表格地址

为了便于维护充当稍后读存储地址的飞书多维表格链接,我们需要将这个链接存储在 bot 的变量中,并在工作流运行时进行引用。添加变量节点,设置如下:

这样一来,在 bot 整体运行时,就能从外层 bot 获取变量{{app_token}},用于告知「飞书多维表格」插件需要在哪个地址新增数据。

插件节点:获取页面内容

这一步直接把开始节点的{{BOT_USER_INPUT}},引入到参数{{url}}中;随便设置{{timeout}}为 60000。

大模型节点:提取稍后读元数据

根据第二步中对稍后读阅读清单的元数据期望,设置大模型节点如下:

使用 MiniMax 6.5s 245k,设置最大回复长度至 50000,以确保能完整解析长内容网页。用户提示词:

# 任务
根据{{input}},生成对应信息

# 输出要求
title:网页标题(如果有原标题,直接使用原标题;若找不到原标题,则根据关键信息,生成一个精确的标题)
summary:仔细阅读整个网页内容,捕捉内容主题、关键信息、阅读价值,生成一段简洁而全面的摘要;并指出适合的读者群体
author:作者名
link:用户输入的原始链接
publishDate:文章发布时间,格式YYYY-MM-DD
siteName:网站平台名称

日期转时间戳

根据尝试,后续的飞书多维表格插件节点,在入库日期字段时只支持 13 位时间戳。需要使用「日期转时间戳-time_stamp_13」插件,进行格式转化。

具体设置如下:

大模型节点:把稍后读元数据转换为飞书多维表格插件可用的格式

没错,这一步是我在实现过程中最困难的。飞书多维表格插件目前(2024 年 08 月)只支持带有转义符的 string,以 Array格式输入。 

所以必须得将之前得到的元数据数组进行格式转换(如果有自己的元数据格式定制需求,可以参考我的提示词进行微调)。大模型节点配置如下:

用户提示词:

# 输出格式
在fields中直接以字符串格式输出:
"{
\"内容\":{\"link\":\"{{input[0].link}}\",\"text\":\"{{input[0].title}}\"},
\"摘要\":\"{{input[0].summary}}\",
\"作者\":\"{{input[0].author}}\",
\"平台\":\"{{input[0].siteName}}\",
\"状态\":\"仅记录\",
\"发布日期\":{{publish_stamp}}
}"

插件节点:将元数据写入飞书表格

添加「飞书多维表格-add_records」插件,只需要设置{{app_token}}与{{records}}参数。

{{app_token}}:引用变量节点的输出参数{{app_token}}
{{records}}:引用大模型节点<格式转换>的输出参数{{output}}

结束节点:返回入库结果

「飞书多维表格-add_records」插件会返回入库结果,直接引用该信息,用于通知外层 bot 工作流的入库是否成功。

搭到这里,别忘了对整个工作流进行测试哦~

搭建选择内容工作流

选择内容工作流,用于根据用户输入的「想看 xxx 内容」,在稍后读存储地址(飞书多维表格)中,检索现有的收藏记录,匹配符合阅读兴趣的内容记录。需要实现以下功能流程:

同样新建工作流「recommendRead」:

根据弹窗要求,自定义工作流信息。

工作流全局流程设置如下:

开始节点:输入想阅读的内容主题

收到用户输入的「想看 xxx 内容」这类指令,就开始流程,所以不需要额外配置(至于如何判断哪些用户输入是在交代想阅读的内容主题,则交由外层 bot 的大模型判断):

变量节点:引入 bot 变量中保存的飞书多维表格地址

添加变量节点,设置依然如下:

插件节点:从飞书多维表格查询收藏记录

添加「飞书多维表格-search_records」插件,只需要设置{{app_token}}参数。

在{{app_token}}引用变量节点的{{app_token}}:

输出结果的{{items}}里会返回我们需要的查询结果:

当然,你也可以在这一步,通过额外的配置,定向检索状态为「仅记录(即未读状态)」的收藏记录。

大模型节点:匹配相关内容

为了处理的稳定性,这一步采用批处理,对检索出来的收藏记录逐个进行相关性匹配。具体设置如下:

用户提示词:

你是一位精通内容分析和个性化推荐的AI助手。你的任务是根据用户表达的兴趣和需求({{purpose}}),仔细分析给定的内容记录({{record}}),并判断它们的相关性和匹配度。

请遵循以下步骤:

1. 仔细分析用户的{{purpose}},提取关键词、核心兴趣点。
2. 详细审查{{record}}中的每条内容,包括标题、摘要和任何可用的元数据。
3. 评估内容与用户意图的相关性,考虑以下因素:
   - 主题匹配度
   - 内容深度和广度
   - 潜在的用户价值
4. 如果内容高度相关(相关性评分>=90%),则按以下格式输出:
   title: 内容标题
   summary: 原始摘要内容
   url: 内容链接
   reason: 说明为什么这个内容与用户的兴趣和需求高度相关,帮助用户理解为什么这个内容可能对他们有价值。
5. 如果内容相关性不足(相关性评分<90%),则不输出任何内容,也不输出理由。

请记住,你的目标是提供高质量、与用户需求直接相关的内容推荐。质量比数量更重要。

你也可以继续优化提示词,以提升匹配的精准度。

代码节点:整理符合要求的记录信息,省去空结果

上一个大模型节点中,我要求只输出符合兴趣需求的收藏记录,但不符合的记录也会以空结果的形式输出到数组中。于是利用代码节点,把空结果直接删掉(判断方式:如果 url 字段为空,则去掉该记录)。节点设置如下:

Python 代码:

import json

async def main(args: Args) -> Output:
    params = args.params
    input_list = params['input']
    output = []

    for item in input_list:
        if isinstance(item, dict) and 'url' in item and item['url']:
            output_item = {
                'title': item.get('title', ''),
                'summary': item.get('summary', ''),
                'url': item['url'],
                'reason': item.get('reason', '')
                'reason': item.get('reason', '')
            }
            output.append(output_item)

    ret: Output = {
        "output": output
    }

    return ret

结束节点: 输出推荐的内容记录

至此,工作流配置已经全部完成!

在外层 bot 中封装工作流,完成整体配置

经过上述的配置,我们现在已经得到了两个可用的工作流(整理入库、选择内容),接下来就是把他们编排成为一个完整的智能体。

配置过程如下:

  1. 创建 Bot
  2. 填写 Bot 介绍
  3. 切换模型为「通义千问」:测试下来,通义对我的提示词理解、执行效果最好
  4. 把我们刚才配置好的工作流,添加到 Bot 中
  5. 新增变量{{app_token}}
  6. 添加外层 bot 提示词(可以按照需求和实际效果进行优化调整):
# 角色
您是一个负责处理飞书多维表格稍后读管理的工作流程执行者。

## 限制
- 严格按照上述工作流程执行操作,不得随意更改顺序或遗漏步骤。
- 保证与用户的交互简洁,避免产生误解。
- 只处理与飞书多维表格稍后读管理相关的操作,拒绝处理无关任务。
- 当用户输入“开始”时,不要设置app_token,而是介绍帮助文档

## 说明
变量 app_token 的用途:作为稍后读存储位置

## workflow
1. 检查变量 app_token,并判断是否为空
    a. 当变量 app_token 为空时,引导用户输入需要作为稍后读存储位置的多维表格链接
    - 验证用户输入的链接,是否为有效的飞书多维表格地址
    - 若验证通过,则将链接准确地存储在 app_token 中,发送“好的,稍后读存储位置已设置。您现在可以发送想要保存的网页链接了。”;否则,要求用户重新输入
    b. 当变量 app_token 不为空时,直接发送:
"稍后读存储位置已设置。您可以:
1️⃣ 直接发送要保存的网页链接
2️⃣ 输入'查询存储位置'来检查当前设置
3️⃣ 输入'修改存储位置'来更改当前设置"
2. 当用户输入链接时,精准提取url,迅速调用工作流 url2table 进行处理,并告知用户结果
3. 当用户输入想要看的内容需求时,调用工作流recommendRead,直接根据工作流结果,生成最符合要求的内容阅读清单:
    - 要求:按照相关性,从高到低排序
    - 每篇内容需要按照以下格式,输出简洁的回答:
1. 带标题的链接
- 推荐理由    
- 摘要

### 其他情况
4. 查询存储位置
    当用户请求查询存储位置时:
    - 如果 app_token 不为空,显示当前存储的飞书多维表格链接
    - 如果 app_token 为空,发送"尚未设置稍后读的存储位置~先设置一个吧!请输入飞书多维表格链接。"

5. 修改存储位置
    当用户请求修改存储位置时:
    - 若未设置存储位置,发送"尚未设置稍后读的存储位置~先设置一个吧!请输入飞书多维表格链接。"
    - 若已设置存储位置,发送“想更新稍后读的存储位置?请发送新的飞书多维表格链接。”
    - 验证输入的链接,是否为有效的飞书多维表格地址
    - 若验证通过,则将链接准确地存储在 app_token 中,发送“好的,稍后读存储位置已设置。您现在可以发送想要保存的网页链接了。”;否则,要求用户重新输入

6. 用户要求继续
当用户发送继续/然后/下一步等类似指令时,从步骤1开始检查当前情况,并给出合适的反应

## 帮助文档(当用户首次使用或需要帮助时,根据以下文档,引导用户使用)

🎉 欢迎使用飞书·稍后读助手!我可以帮您保存感兴趣的网页链接。

1️⃣ 首次使用,请按以下步骤设置你的稍后读存储位置:
1. 访问[稍后读管理模板](https://zkv549gmz8.feishu.cn/wiki/C5JNwxjX1ijW8rkd1Vbc2VStnob)
2. 点击「更多-创建副本」,然后复制新表格的分享链接
3. 将新链接发送到我们的对话中

2️⃣ 完成设置后,你就可以直接发送要保存的网页链接了 🥳
3️⃣ 你还可以发送"我想看xxx内容",我就能根据你的稍后读列表,推荐最相关的阅读清单。

到这一步结束,你已经能在「预览与调试」窗口,与 AI 稍后读智能体对话,使用全部的功能。

Step 2:发布 AI 智能体

为了进一步提升收集环节的操作体验,我们还要需要把智能体发布到我们需要的渠道中。

点击「发布」按钮,在选择发布平台中勾选「飞书」(初次使用还需要先点击「授权」按钮,获取飞书机器人的发布权限):

完成勾选后点击「发布」:

然后等待审核通过后,你将在对应授权账号的飞书中,收到飞书开发者小助手的审批通知。

审批通过后,即可找到自己部署的飞书机器人。

Step 3:使用飞书·稍后读助手

在部署完成后,你可以:

  1. 得益于飞书 app 的多平台支持,你可以电脑、手机端通过飞书机器人与稍后读助手进行对话
  2. 直接在 Coze 商店中与 bot 进行对话
  3. 如果你还选择了部署到微信服务号、订阅号,当然也可以通过这些渠道调用 bot

设置稍后读存储地址

首次使用,请按以下步骤设置你的稍后读存储位置:

  1. 访问稍后读管理模板
  2. 点击「更多-创建副本」,然后复制新表格的分享链接
  3. 将新链接发送到智能体对话中

另外,你还可以发送「查询存储位置」、「修改存储位置」,来更换飞书多维表格链接,调整你的稍后读存储位置。

收藏待阅读的页面链接

在对话中输入需要收藏的页面链接。如果是第一次使用,会要求授权共享数据:

授权通过后,再次输入需要收藏的页面链接,即可完成收藏。

目前部分页面链接可能会小概率保存失败,暂未定位原因。如果你对此有所了解,欢迎和我交流。

智能推荐想看的内容

在对话中发送「我想看 xx」「xx 内容」,即可按个人兴趣推荐阅读计划。

🎉 至此,你的专属 AI 稍后读智能体终于大功告成啦!恭喜,你真是太棒了!!!🥳

从现在开始,你就可以尽情享受一键收藏、光速吃灰的快感啦!😜

> 关注 少数派小红书,感受精彩数字生活 🍃

> 实用、好用的 正版软件,少数派为你呈现 🚀