No. 22: 我砍掉了 Agent 的“自我进化”:一次关于 Skill 的产品判断修正
从自动改写 Skill 到人工维护 Skill:个人 Agent 可以积累经验,但未经稳定验证的经验,不该自动获得长期指令权。
2026/7/21
几个月前,我在自己的个人 Agent「悟空」里做了一套自我改进闭环:
任务结束后打分,复盘成功和失败的差异,再由 Agent 修改 Skill。修改前备份,修改后测试,失败自动回滚。
当时我很喜欢这套设计。它听起来像一个真正会成长的 Agent:不只完成任务,还能从任务里学习,下一次做得更好。
后来,我把这套自动生成和改写 Skill 的机制砍掉了。
不是因为它做不到,而是我逐渐意识到:Agent 能总结一次经验,不等于这次经验有资格成为长期生效的能力。
最危险的不是改错,而是把偶然当成规律
最初,我把学习过程想得很简单:
执行任务 → 判断结果 → 提取经验 → 更新 Skill → 下次复用
真正运行后,我发现这里少了一个关键问题:
系统凭什么确认,这次任务里的做法值得影响未来所有相似任务?
一次任务成功,可能来自很多因素:输入更完整、工具刚好可用、模型这次发挥得好,甚至只是任务足够简单。
如果 Agent 把这些局部经验直接写进 Skill,偶然做法就会获得长期指令权。它不一定立刻报错,反而可能在很长时间里稳定地把后续任务带偏。
回滚只能解决“修改后测试失败”,却解决不了另一个问题:测试本身是否代表真实任务。
这让我重新思考,Agent 到底应该学习什么。
我曾经把五种不同的东西都叫作 Skill
这不是一个抽象问题。翻看悟空早期的 Skill 清单,里面曾经同时存在:
calculator、weather:提供确定性能力,本质上更接近 Tool;web_search、session_search、schedule_task:把搜索、会话检索和定时执行包装成 Skill,实际依赖的是运行时能力;market_analysis、competitor_research:包含分析步骤和判断标准,更接近真正可复用的方法协议;- 还有一些从单次任务中自动生成的 Learned Skill,把特定对象和某次交付方式一起固化了下来。
它们都叫 Skill,却回答着完全不同的问题:有的说明“能做什么”,有的记录“以前做过什么”,有的才是在约束“以后遇到这类问题应该怎么判断”。
复盘之后,我把 Agent 使用的信息重新拆成了五类。
Tool:它能做什么
搜索网页、读取文件、调用接口,这些是确定性的外部能力。Tool 应该说明参数和返回结果,不负责告诉 Agent 什么情况下值得这么做。
Memory:它需要记住谁
用户身份、稳定偏好和长期约束属于 Memory。比如“默认使用中文”是我的偏好,不应该被包装成适用于所有人的 Skill。
Episode:上一次发生了什么
一次任务的目标、过程、结果和现场信息属于 Episode。它可以帮助复盘,但一次成功记录还不是通用方法。
Reasoning:这次学到了什么
从任务中提取的判断、失败原因和适用条件,可以进入 Reasoning。它是一个值得再次验证的候选经验,不自动拥有指挥未来任务的权力。
Skill:以后遇到这类问题应该怎样判断和行动
只有跨多个任务仍然成立、边界明确、经过验证的认知与行动协议,才有资格成为 Skill。
这五类对象一旦混在一起,Agent 看起来会“学得很快”,但它积累的可能不是能力,而是一层越来越厚的历史偶然性。
自动优化不是错,缺少验证条件才是问题
最近出现的 Skill 优化方法已经把这件事做得更严谨:把 Skill 当作可优化对象,用任务评分和留出的验证集筛选修改;候选版本没有稳定提升,就拒绝更新。
这说明自动优化 Skill 并非不可行,但它需要一个经常被忽略的前提:任务必须有足够可靠的评价方式。
代码能否通过测试、答案能否命中标准结果,这类任务较容易建立验证门槛。
但个人 Agent 面对的很多事情是开放式的:一篇文章是否更好、一次产品判断是否合理、一条主动提醒是否打扰、一个偏好是否只适用于当前阶段。这些结果很难用一次自动评分决定。
没有稳定验证集时,“自动进化”很容易退化为“自动修改”。两者只差两个字,产品风险完全不同。
我现在把学习停在经验层
现在,我允许悟空自动保留任务经历,也允许它提取带有适用条件的判断和教训。
但这些内容先停在经验层。它们可以被检索、比较和复盘,却不会自动升级成运行时 Skill。
真正的 Skill 由人来维护:判断这条经验是否跨任务成立,是否与已有规则冲突,失败时会造成什么后果,以及有没有办法验证它确实带来稳定改进。
这会让 Agent 的“成长”慢一些,却让它更像一个可以长期合作的系统。
因为个人 Agent 的价值,不是今天看起来多聪明,而是几个月后仍然知道哪些东西可以相信。
边界与结论
我并不认为所有 Skill 都必须人工编写。
当任务有稳定评分、足够样本、独立验证集和明确的拒绝门槛时,自动优化可能比人凭感觉修改更可靠。
但在写作、产品判断、个人偏好和其他开放式任务里,我目前更愿意采用另一条边界:
Agent 可以自动积累经验,也可以提出能力修改建议;但未经验证的经验,不自动获得长期指令权。
这是我在悟空项目里修正的一次产品判断,也可能还会继续变化。
我现在更关心的,不是 Agent 能不能自己改自己,而是:它凭什么证明,改完之后真的更好。
标签:AI Agent · Skill · 产品设计 · 个人 Agent · 悟空