Agent 的自我进化技能系统

“不只是给 Agent 加技能,而是让技能能够随时间自我改进”
SKILL.md 似乎已经成为了 Agent 技能的标准格式,但我们还没有真正解决围绕它的最根本问题:
技能通常是静态的,而它们所处的环境却不是!
几周前还正常运行的技能,可能会在代码库变化、模型行为改变、或用户请求的任务类型发生转移时悄悄开始失败。在大多数系统中,这些失败是不可见的——直到有人注意到输出质量变差,或者完全无法工作。
要让技能文件夹真正有用,缺失的那块拼图就是:开始把技能当作活的系统组件来对待,而不是固定的 prompt 文件。
这正是 cognee-skills 背后的核心理念——
不只是如何更好地存储或路由技能,而是如何让它们在失败或表现不佳时自我改进!

直到今天,技能的使用方式一直是:
- 写一个 prompt
- 保存到文件夹
- 需要时调用
这种方式效果出人意料地好,但不幸的是只适用于演示……到了一定程度后,我们开始撞上同一堵墙:
- 某个技能被选中的频率过高
- 另一个看起来不错但实际执行时失败
- 某条具体指令反复出错
- 某个工具调用因为环境变化而中断
而最糟糕的是,没人知道问题出在路由、指令、还是工具调用本身,这导致了大量的手动维护和排查。我们这个实现所达成的,就是闭合整个循环,让技能能够随时间自我改进。
下面简要介绍一下底层的工作原理。
1. 技能摄入(Skill Ingestion)
目前你的技能文件夹大概长这样:
my_skills/
summarize/
SKILL.md
bug-triage/
SKILL.md
code-review/
SKILL.md

上周我们展示了,通过 cognee 可以给所有内容赋予更清晰的结构——不仅因为看起来更整洁,还因为它让搜索更加高效。我们还可以用语义含义、任务模式、摘要和关系来丰富不同字段,帮助系统更智能地理解和路由信息。所有这些都通过 cognee 的 “Custom DataPoint” 来存储。
下面是你的技能可能呈现的可视化效果:

动态图谱视图链接:https://cognee-graph-skills.vercel.app/
2. 观察(Observe)
如果系统对技能运行时发生的事情没有记忆,技能就无法改进。因此,在每个技能执行完成后,我们会存储数据以了解:
- 尝试了什么任务
- 选择了哪个技能
- 是否成功
- 发生了什么错误
- 用户反馈(如有)
通过观察,失败变成了系统可以推理的对象。如果你不知道技能运行时发生了什么,你就无法改进它。考虑到我们在结构化图上操作,这可以通过一个额外的节点来实现,收集所有的观察数据。这一切都可以通过 cognee 的 “Custom DataPoint” 来管理,用户可以指定想要填充的所有字段。
3. 检视(Inspect)
当积累了足够多的失败运行(甚至在一次重要失败之后),就可以检视该技能周围的关联历史:过去的运行记录、反馈、工具故障和相关的任务模式。因为所有这些都以图的形式存储,系统可以追溯导致不良结果的反复出现的因素,并利用这些证据来提出技能的改进版本。
运行 → 反复出现的弱表现 → 检视
4. 修正技能 → .amendify()
一旦系统有足够的证据表明某个技能表现不佳,它就可以提出对指令的修正方案。该方案可以由人类审核,也可以自动应用。目标很简单:
- 减少系统增长时维护技能的摩擦。
与其手动搜索代码库中损坏的 prompt,系统可以查看技能的执行历史——包括过去的运行、失败、反馈和工具错误——并建议有针对性的修改。
修正可能包括:
- 收紧触发条件
- 添加缺失的条件
- 重新排列步骤
- 更改输出格式
这是技能从静态 prompt 文件转变为进化组件的关键时刻。系统不再需要你打开 SKILL.md 文件猜测该改什么,而是基于技能实际运行表现的证据来提出补丁。
5. 评估与更新技能(Evaluate & Update)
然而,一个自我改进的系统不应该仅仅因为它能修改自己就被信任。任何修正都必须经过评估。新版本是否真的改善了结果?是否减少了失败?是否在其他地方引入了错误?
因此,循环不能仅仅是:
- 观察 → 检视 → 修正
而必须遵循更严谨的周期:
- 观察 → 检视 → 修正 → 评估
如果修正没有产生可衡量的改进,系统应该能够回滚。因为每次更改都记录了其理由和结果,原始指令永远不会丢失,自我改进变成了一个结构化的、可审计的过程,而不是不受控制的修改。当评估确认有改进时,修正就成为技能的下一个版本。
结论
当周围的系统不断变化时,技能不能保持静态。随着模型、代码库和任务的演进,固定的 prompt 文件不可避免地会退化。我们引入了一种直观的方式来自动完成这一过程,同时不放弃对技能本身的任何控制和监督。
PyPi 构建:https://pypi.org/project/cognee/0.5.4.dev2/
Cognee 项目:https://github.com/topoteretes/cognee
Discord 社区:https://discord.gg/pMFAz242
原文由 Vasilije (@tricalt) 发布于 X。原文链接。
如果这篇文章对你有帮助,欢迎请我喝杯咖啡,支持我继续创作更多内容。
Buy me a coffee