打造专属 AI 智能体,享受 10 倍知识管理效率
Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
收藏了还要自己手动整理阅读清单?
快用 AI 智能体,摆脱恼人的归纳工作,一键收藏、自动整理、智能推荐,享受前所未有的知识管理效率。
很推荐按照这个教程,给自己定制一个 AI 稍后读智能体,自动管理阅读计划。
最近学习 AI,每天都有很多新内容来不及看,得攒起来稍后读。
一开始为了省事,我把所有想读的文章都丢进了微信文件传输助手。但时间一长,问题就暴露出来:不仅分不清哪些读过哪些没读,甚至还忘了每个链接的看点和收藏原因。
(说实话,我很好奇有多少人也经历过这种困境)
带着解决问题的心态,调研了一圈稍后读解决方案。但常见的 Pocket、Instapaper、简悦、Notion,要么与个人知识管理体系格格不入,要么步骤复杂、依赖人工归纳管理,还不如文件传输助手来的方便。
正好最近在研究智能体,灵光一现:何不给自己 定制一个 AI 稍后读助手 ,帮助自己摆脱恼人的归纳工作,自动整理阅读清单,按个人兴趣推荐阅读计划呢?
核心看点:
适合人群:
适合对象 | 对 AI 智能体、知识管理感兴趣,但可能没有技术背景的读者 |
---|---|
学习难度 | 对 Prompt、代码近乎 0 要求 |
阅读价值 | 你可以跟随本文,亲自动手定制一个由 AI 驱动的稍后读工具,同时学习 AI 应用开发的基本概念和流程。 |
使用工具 | Coze、飞书多维表格、飞书聊天机器人 |
效果预览:
如果你只是想用上这个工具,我也搭建好了开箱即用的 Coze Bot ,欢迎直接上手使用。
📮 飞书 · 稍后读助手: 只需发送想收藏的文章链接,AI 就能帮你搞定一切!
👉 点击直达: https://www.coze.cn/s/irQFQbwA/
飞书·稍后读助手已经帮助我整理了几十条待读内容!现在,我还打算把它做成更酷的 AI 智能体开源项目。
当前的脑洞清单:
当然,这还不是全部!如果你:
随时欢迎来找我!让我们一起把这个项目变得更酷炫~
今年 AI 智能体很火,Coze、Dify 等 AI 智能体编排平台,大大降低了制作 AI 智能体的门槛。
上篇文章《万字实践教程,全面入门 Coze 工作流|用 Coze 打造 AI 精读专家智能体》中已经清晰的讲解过用 Coze 搭建 AI 工作流的全步骤,如果你想从头学习 Coze 的智能体搭建方法,建议先使用「飞书·稍后读助手」收藏文章,按需阅读。
接下来,就直接一起来看这个 bot 是怎么设计落地的吧。
在稍后读的知识管理场景中,一般流程如下:
仔细观察这 5 个步骤,我们会发现真正 与用户稍后读需求直接相关的只有「发现」「收集」和「阅读」 。
虽然「整理」和「选择」环节只是稍后读管理的衍生步骤,却往往占用了大量知识管理时间 。特别是当阅读清单积累大量记录时,根据当前兴趣挑选内容变得更加耗时。
这直接导致许多人虽然收藏了大量待阅读的内容,但由于整理不到位、选择内容不方便 ,最终 陷入「藏而不读」的困境 。
另外,「收集」环节的便利性也至关重要。由于「收集」本身并不能直接带来阅读收益,自然是操作路径越短、越简单越好。这也是大家都喜欢用微信文件传输助手临时收藏内容的原因。
基于以上分析,我们可以得出对 AI 稍后读的功能需求:
基于前面的分析,我们可以勾勒出 AI 稍后读助手的大致思路:
简化「收集」:
自动化「整理入库」:
智能「选择」推荐:
根据以上思路不难发现,同在字节生态中的 Coze、飞书、飞书多维表格,正好可以为 AI 稍后读构建一个完整的 AI 工作流。具体来说:
这样一来,理论上无需开发任何插件、APP,也能实现跨平台的稍后读收集与智能阅读计划的推荐。
为了确保上述设计思路的可行性,我们需要调研一下是否有现成的插件可以满足核心需求,支持 AI 智能体的直接搭建。这一步很关键,因为如果没有合适的插件,就会需要额外的插件开发工作。
经过调研,我们发现以下两个插件:
网页读取插件, 采用「Link_analyzer」插件。它支持根据输入的 URL 返回对应的网页内容
飞书多维表格操作, 官方提供的「飞书多维表格」插件。它支持通过「add_records」功能新增数据表记录,以及通过「search_records」功能查询数据表记录。这完全满足了我们存储和检索稍后读数据的需求。
有了这两个关键插件,我们就能够实现核心功能,着手搭建这个 AI 稍后读助手了。
照例还是先构思整个 AI 智能体的架构:
纵观整个智能体架构,不难发现,无论是整理入库,还是选择内容,都依赖飞书多维表格作为稍后读存储地址,为智能体提供数据库服务,规定了稍后读阅读清单的元数据。
为了方便跟做,也可以直接复制我准备好的模板。新建一个飞书多维表格,根据我对稍后读的管理需要,定义稍后读的元数据字段如下:
内容 | 超链接格式,显示页面标题,可点击跳转具体的页面 |
---|---|
摘要 | 根据具体内容,总结内容主题、关键信息、阅读价值,并指出适合的读者群体 |
作者 | 作者名称 |
平台 | 所在的网站平台名称 |
状态 | 阅读状态,收藏的默认态为「仅记录」 |
发布日期 | 文章的发布日期 |
收集时间 | 收藏入库的时间 |
接下来开始在 Coze 中逐步搭建 AI 智能体。首先搭建整理入库工作流。
这一步是支撑整个 AI 稍后读服务的前置流程。需要实现以下功能流程:
在搭建内容入库工作流这一步,我花了相当长的时间,调试飞书多维表格插件的使用方式,因为篇幅原因,不在此详述,我将直接分享最终的设置方式。
首先新建工作流「url2table」:
根据弹窗要求,自定义工作流信息。
工作流全局流程设置如下:
由于希望收到用户输入的待收藏 url,就开始流程,所以不需要额外配置(至于如何判断哪些用户输入是需要收藏的 url,则交由外层 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 的大模型判断):
添加变量节点,设置依然如下:
添加「飞书多维表格-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
至此,工作流配置已经全部完成!
经过上述的配置,我们现在已经得到了两个可用的工作流(整理入库、选择内容),接下来就是把他们编排成为一个完整的智能体。
配置过程如下:
# 角色
您是一个负责处理飞书多维表格稍后读管理的工作流程执行者。
## 限制
- 严格按照上述工作流程执行操作,不得随意更改顺序或遗漏步骤。
- 保证与用户的交互简洁,避免产生误解。
- 只处理与飞书多维表格稍后读管理相关的操作,拒绝处理无关任务。
- 当用户输入“开始”时,不要设置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 稍后读智能体对话,使用全部的功能。
为了进一步提升收集环节的操作体验,我们还要需要把智能体发布到我们需要的渠道中。
点击「发布」按钮,在选择发布平台中勾选「飞书」(初次使用还需要先点击「授权」按钮,获取飞书机器人的发布权限):
完成勾选后点击「发布」:
然后等待审核通过后,你将在对应授权账号的飞书中,收到飞书开发者小助手的审批通知。
审批通过后,即可找到自己部署的飞书机器人。
在部署完成后,你可以:
首次使用,请按以下步骤设置你的稍后读存储位置:
另外,你还可以发送「查询存储位置」、「修改存储位置」,来更换飞书多维表格链接,调整你的稍后读存储位置。
在对话中输入需要收藏的页面链接。如果是第一次使用,会要求授权共享数据:
授权通过后,再次输入需要收藏的页面链接,即可完成收藏。
目前部分页面链接可能会小概率保存失败,暂未定位原因。如果你对此有所了解,欢迎和我交流。
在对话中发送「我想看 xx」「xx 内容」,即可按个人兴趣推荐阅读计划。
🎉 至此,你的专属 AI 稍后读智能体终于大功告成啦!恭喜,你真是太棒了!!!🥳
从现在开始,你就可以尽情享受一键收藏、光速吃灰的快感啦!😜
> 关注 少数派小红书,感受精彩数字生活 🍃
> 实用、好用的 正版软件,少数派为你呈现 🚀