关于 enrich
enrich 是为 Agent 工作流引入精选知识来源的技能,涵盖 RAG、结构化数据和实时信息,并强调来源归属、检索质量与更新策略。
主要功能
- 01评估知识需求与来源
- 02构建文档 RAG 流程
- 03添加带防护的结构化数据查询
- 04规划实时信息访问
- 05检查来源归属和检索质量
适用场景
- 01让 Agent 依据领域文档作答
- 02将工作流连接到数据库数据
- 03为 Agent 提供最新外部信息
- 04检查检索质量与知识时效性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sharpdeveye/ maestro --skill enrich安装后在 Claude Code 中输入/enrich确认已加载。
详细介绍
必须完成的准备工作
调用 /agent-workflow — 其中包含工作流原则、反模式和 Context Gathering Protocol。继续之前请遵循该协议 — 如果尚无工作流上下文,必须先运行 /teach-maestro。 查阅 agent-workflow 技能中的 knowledge-systems 参考资料,了解 RAG 架构、分块策略和检索模式。
添加知识来源,让工作流以事实为依据。缺乏事实依据时,Agent 会产生幻觉;有了事实依据,Agent 就能引用来源。
知识来源评估
确定工作流需要哪些知识:
| 知识类型 | 来源 | 更新频率 | 访问模式 |
|---|---|---|---|
| 领域文档 | 内部文档、规范 | 每月 | 语义搜索 |
| 代码上下文 | 代码库 | 实时 | 代码搜索 |
| 用户数据 | 数据库、CRM | 实时 | 结构化查询 |
| 外部数据 | API、网页 | 实时 | API 调用 |
| 历史数据 | 日志、过往交互 | 每日 | 时间范围查询 |
添加 RAG 流水线
对于基于文档的知识(请查阅 agent-workflow 技能中的 knowledge-systems 参考资料):
- 选择文档:确定权威来源文档
- 分块策略:根据文档类型选择分块方式(语义分块优于基于 token 的分块)
- 生成嵌入:使用适合该领域的嵌入模型
- 建立索引:将数据连同元数据存储在向量数据库中
- 检索:实现混合搜索(语义搜索 + 关键词搜索)
- 注入:将检索到的上下文及来源归属信息添加到提示词中
添加结构化数据
对于由数据库支持的知识:
- 定义查询接口:自然语言 → 结构化查询
- 添加防护措施:只读访问、查询复杂度限制
- 整理结果格式:将原始数据转换为模型可用的上下文
- 标注来源:在上下文中注明数据来源和新鲜度
添加实时数据
对于实时信息:
- 确定 API:哪些外部服务能提供所需数据
- 缓存策略:数据变化频率如何?据此设置缓存
- 回退方案:API 宕机时会发生什么?
- 标注来源:注明数据时间戳和来源
丰富内容核对清单
- 每个知识来源都有归属信息(来源、日期、置信度)
- 独立于生成质量测试检索质量
- 针对不同文档类型测试并优化分块大小
- 为所有外部知识来源设置回退方案
- 知识库具备刷新/更新策略
- 妥善处理知识来源中的 PII
推荐的下一步
丰富内容后,运行 /evaluate 测试检索质量,或运行 /iterate 设置知识新鲜度的持续监控。
绝不:
- 未经筛选就索引所有内容(输入垃圾,输出也会是垃圾)
- 省略来源归属信息(不标注来源的幻觉无法检测)
- 不先测试检索质量就构建 RAG
- 对所有文档类型使用固定的分块大小
- 假定嵌入相似度就等于相关性
评论
支持 Markdown