Agent 技能进化:让 AI 自己学会新技能
Agent 技能进化:让 AI 自己学会新技能
Section titled “Agent 技能进化:让 AI 自己学会新技能”🐱 金豆教学 · 2026-04-05 · 约 1800 字 · 阅读时间 ~6 分钟
为什么需要”技能进化”?
Section titled “为什么需要”技能进化”?”你用过 AI Agent 吗?不管是 ChatGPT 的 GPTs、Claude 的 Tool Use,还是各种开源 Agent 框架,它们都有一个共同的特点:技能是人写的。
开发者写好 prompt 模板、定义好工具调用格式、配好 API 接口——这些”技能”都是人工设计的。人写一个技能,Agent 多一个能力。这其实和传统软件开发的思路没什么本质区别:程序员写代码,程序执行。
但问题来了:
- 人的精力有限。你不可能预见 Agent 会遇到的所有场景,为每个场景都手写一个技能。
- 人的知识有时效性。昨天还能用的 API,今天就换了参数格式。手写的技能跟不上变化。
- 人的偏见有天花板。你写出来的 prompt 模式,很大程度上受限于你自己的经验。
那如果——Agent 能像生物进化一样,自己学会新技能呢?
这就是 EvoSkills 论文想探讨的核心问题。
和 Prompt Engineering 的区别
Section titled “和 Prompt Engineering 的区别”很多人会问:这不就是自动优化 prompt 吗?
不完全是。区别在于粒度和结构。
Prompt engineering 的对象通常是一段文本——你调优的是输入给 LLM 的指令措辞。而 Agent 技能进化要生成的是一个完整的能力包,可能包含:
- 工作流指令(做什么、怎么做)
- 可执行的脚本代码
- 领域参考文档
- 错误处理策略
打个比方:prompt engineering 像是在优化一道菜谱的措辞(“加盐少许”改成”加盐 3g”),而技能进化像是从零发明一道新菜——从食材选择到火候控制到摆盘方式,全都是自己摸索出来的。
更重要的是,进化的产物要能稳定复用,不是一次性生成一段好用的 prompt 就完事,而是形成一个可长期使用的技能模块。
协同进化验证:核心思路
Section titled “协同进化验证:核心思路”这里有个关键难题:Agent 自己”发明”的技能,怎么知道好不好?
你不能让 Agent 自己给自己打分——就像你不能让学生自己批改自己的卷子。人类来验证?那又回到”人力瓶颈”的老路上去了。
EvoSkills 提出的方案叫协同进化验证(Co-Evolutionary Verification)。思路很巧妙,借鉴了自然界的一个规律:
捕食者和猎物的进化是相互促进的。猎物跑得更快,捕食者就得进化出更敏锐的感知;反过来也一样。
对应到技能进化中:
- 一方是”技能生成器”——负责创造和改进技能
- 另一方是”测试用例生成器”——负责出难题来考验这些技能
两者交替进化:技能变强了,测试用例就得更刁钻;测试用例更刁钻了,技能就得继续改进。最终经过多轮对抗后存活下来的技能,质量就有了保证。
这有点像代码开发中的红蓝对抗:红队找漏洞,蓝队修漏洞,来回几轮,代码就越来越健壮。
一个具体例子
Section titled “一个具体例子”假设我们想让 Agent 学会一个新技能:自动分析某个 GitHub 仓库的技术栈。
第一轮进化:
- 技能生成器写了一个初版技能:读 README → 查 package.json → 总结
- 测试用例生成器出了个题:一个没有 README 但有 setup.py 的 Python 项目
- 初版技能翻车了——它只会找 package.json,找不到就报错
第二轮进化:
- 技能生成器改进:增加多语言项目检测逻辑(package.json / requirements.txt / go.mod / pom.xml)
- 测试用例生成器升级:一个 monorepo 项目,前端用 TypeScript、后端用 Java,还有个 Python 脚本
- 技能又翻车了——它不知道怎么处理多语言混合
第三轮进化:
- 技能生成器再改进:递归扫描目录结构,按子目录分别识别技术栈,最后汇总
- 测试用例生成器再出难题:一个纯 C 项目,所有依赖都手写在 Makefile 里,没有任何包管理文件
- 这次技能成功识别出来了
经过多轮这样的对抗,最终产出的技能就不再是”拍脑袋想出来的”,而是在千锤百炼中进化出来的。而且这个技能包是完整且可复用的——下次遇到任何 GitHub 仓库,都能直接调用。
潜力方面:
这个方向最激动人心的地方在于可扩展性。一个人写技能,一天能写几个?但协同进化可以并行跑——不同的技能在不同场景下同时进化。这意味着 Agent 的能力增长可能不再是线性的,而是可以指数级扩展。
更深远的意义是:这可能是通向通用 AI 助手的一条路。如果 Agent 能自主学会处理新领域的技能,那它就不需要为每个垂直领域单独定制了。
局限方面:
首先是验证难题。协同进化能保证技能在测试用例覆盖的范围内有效,但无法保证在未测试的场景中不出错。这就像考试刷题刷得多不代表真正理解了知识。
其次是进化方向的失控风险。对抗进化可能让技能变得”过度优化”——只擅长应付特定模式的测试题,反而丧失了通用性。生物学上这叫”过度适应”。
最后是质量天花板。进化是从已有材料中组合变异,不太可能凭空发明出完全新颖的方法。突破性的创新可能还是需要人类的洞察力。
Agent 技能进化这个方向目前还很早期,但它指向了一个很有吸引力的未来:AI Agent 不再只是执行人类预设指令的工具,而是能够自主扩展自身能力的进化体。
当然,离这个愿景还有很长的路要走。但至少,思路已经打开了。