乐于分享
好东西不私藏

AI 开始自己给自己造工具了,自进化技能时代的第一块拼图

AI 开始自己给自己造工具了,自进化技能时代的第一块拼图

一个 skill 就像一段软件代码,也要迭代。问题是,谁来当那个产品经理?当 Agent 学会自己写工具、测试、修复、进化,开发者开始从「造工具的人」变成「管生态的人」。


01. 刷到一篇论文,然后就失眠了

故事是这样的。

前几天我在用一个叫 MiroFish 的开源项目做实验,让一群 AI 模拟个体在沙盒里各自演化,看能不能自然冒出点「群体智慧」之类的东西。做着做着我发现问题了:每个人物的技能是静态的。

你写在代码里的工具函数,它用一万遍还是那个样子。不会变好,不会因为场景变化自我调整,更不会从失败里学东西。

深夜论文屏幕-电脑屏幕显示MUSE-Autoskill论文(字节跳动×RIT,arXiv:2605.27366,2025年5月26日),冷蓝光照亮磨损的机械键盘E键和凉透的咖啡杯,桌面散落草稿纸

前天凌晨刷 arXiv,刷到一篇刚出炉的论文,《MUSE-Autoskill: Self-Evolving Agents via Skill Creation, Memory, Management, and Evaluation》。字节跳动和罗切斯特理工学院发的,5月26号上线。一口气读完,读到后面的实验数据直接从椅子上坐起来了。

说白了,这篇论文在回答一个特别朴素的问题:能不能让 AI 在干活的时候,自己发现自己缺啥工具,然后自己写一个,自己测试,自己上线,下次还自己改进?

答案是能。效果有点离谱。

02. Skill 正在变成一种「活的东西」

静态 skill 玩不转了。这是我用 MiroFish 做完实验之后最强烈的感受。

你想想,一个 skill,说白了就是一段让 AI 能调用的工具代码,它跟软件工程里的模块有啥本质区别?没区别。它也要跟着需求迭代,也要修 bug,也要做版本管理。

MUSE-Autoskill 的核心洞察我琢磨了好几遍。最值钱的是这个:把 skill 当成一个有生命周期的资产,而不是一次性生成的废纸。

他们构建了一个五阶段生命周期。我直接翻译成人话:

  • • 创建:AI 在干活时发现现有工具搞不定当前任务→调用内置的 skill_create 工具自己写
  • • 评估:写完了不是直接上线,先跑单元测试,全部通过才能注册入库
  • • 记忆:每个 skill 绑一个 .memory.md 文件,记录这货曾经踩过什么坑、哪个输入格式容易挂
  • • 管理:定期做 Refinement(修订)、Merging(合并功能重叠的技能)、Pruning(剪掉长期废掉的技能)
  • • 自愈:运行时崩了?自动读日志、定位根因、修代码、再测试、再上线

看到这个结构我第一反应:这不就是微服务治理那一套吗。被治理的对象从 Java 服务换成了 LLM 随手生成的一段 Markdown、Python(也许还会是其他语言,如shell、NodeJS等)。

再往深了挖一层。那个 .memory.md 设计其实挺绝的,传统 RAG 只检索代码本身,检索不到这段代码在实际运行中跌过多少跟头。MUSE 给每个 skill 绑了一份「成长履历」,下次谁调用这个 skill,看到的不仅是代码,还有这货在历史上处理边缘 case 时的微调经验。论文管这个叫 技能级记忆(Skill-level Memory),我觉得翻译成「踩坑日记」更贴切。

还有一个设计细节值得说:他们的上下文管理器。长任务跑得越久,上下文越臃肿,LLM 注意力越容易跑偏。MUSE 搞了一套 DAG 对话节点 + 两级压缩。第一级只压缩超大节点的内容,保留轮次结构;第二级在预算吃紧时把连续中间节点合并成一条总结。原始节点信息不丢,随时可以回溯。这个思路跟 MemGPT 异曲同工,工程实现更干净。

论文读深入了之后,我发现它并不是一个人在战斗。两条学术路线跟它相互补充,值得单独拿出来说。

一条是 CoEvoSkills(2026年4月)。核心思路是:把生成器和验证器拆成两个独立模块,让它们互相较劲、共同进化。 生成器不断产出代码,验证器专门挑毛病,一个攻一个守。这种对抗机制在 SkillsBench 上刷出了目前学术方案中的最高分。更重要的是,它的「分离架构」思路直接启发了后续工程落地时的一个关键选择:代码写好 ≠ 代码好用,功能验证和安全审计必须分开。

另一条是 Memento-Skills(2025年12月)。它走的是强化学习路线,不给 skill 写死调用逻辑,而是让 RL 自己学会「什么场景该用这个函数、参数怎么给、出错怎么兜底」。相当于每个 skill 都在运行时挨个试错,从奖励信号里悟出一套最优调用策略。跟 MUSE 的技能级记忆相比,一个靠「记笔记」积累经验,一个靠「摔跤」学会走路,技术路线不同,目标一致。

实验数据撑得住这些设计。在 SkillsBench 成功生成技能的 35 个任务上,MUSE 自生成技能达到了 87.94% 的准确率。什么概念?比人类专家手写的 skill 还高。说实话,这些技能不是只能自己用。跨 Agent 迁移测试中,一个 MUSE 系统里长出来的技能注入到另一个 Agent 后,填上了 79% 的性能差距。

你细品 79% 这个数字。Agent A 生成的 skill,Agent B 拿来就用,效果能达到量身定制水平的近八成。Skill 不再是某个 Agent 的私房菜,而是可移植的知识资产。

03. 翻了一圈行业全景,发现都差口气

读论文的兴奋劲过了之后,我打开浏览器把开源的和商业的方案撸了一遍。

一圈看下来,好多项目都在往这个方向拱。各有各的死穴:

  • • Voyager(NVIDIA, 2023):最早搞技能库的开山之作,在 Minecraft 里让 Agent 探索→写代码→存库→复用。检索只靠向量相似度,没有执行质量评估,错了我也不会修→只会「报错就重试」
  • • AutoSkill(华东师大, 2026.03):从对话里抽 skill,做成模型无关的插件层。思路不错但偏重个性化风格,不是通用工具生成
  • • CoEvoSkills(2026.04):上面说过的生成器-验证器对抗进化,SkillsBench 最高分,文档和社区还不够成熟
  • • EvoSkill(2026.03):通过失败模式分析和帕累托前沿选择来做零样本迁移验证,跟 MUSE 互补,一个重「进化」,一个重「迁移」
  • • Memento-Skills(2025.12):RL 学状态化提示的路线,另辟蹊径
  • • SkillForge(云运维场景):这个真值得展开。它用 1883 张真实工单和 3737 个任务做训练,走的是「历史工单→失败分析→诊断→自动改写」的三阶段管线。结果呢,多轮自动演化后的技能,** 超过了专家手工维护的知识 **。这大概是目前离工业落地最近的实战证据。
  • • ALITA-G(2026.01):把用户操作轨迹直接合成 MCP 兼容的工具,配合 RAG 做自动领域特化。跟 MUSE 比,它更偏「从操作中学」,MUSE 更偏「从任务中学」。
  • • CrewAI(工程派):讲究类型安全,用 Pydantic 严格校验输入输出,安全隔离做得不错。不过「校验再严代码也不会自己修」

商业层面,由 Anthropic 牵头的 MCP(Model Context Protocol) 已经是事实标准,定义了 AI 工具发现、协商、调用的统一协议。值得关注的是正在推进的 SEP-2640(Skills over MCP),要把 skill 包的路由发现标准化。有了这个,MUSE 生成的 skill 可以直接注册成 MCP 资源,任何一个兼容客户端都能调用。

我做了张对比表帮你快速看清格局:

方案
创建触发
幻觉纠正
安全隔离
自愈能力
MUSE-Autoskill
运行时按需
测试门控+重试
Docker(实验级)
Voyager
课程驱动
报错重试(最多4轮)
CrewAI
预配置+动态发现
Pydantic校验(不自愈)
审批流
AutoGPT
Planner临时生成
try-except
有限Docker
CoEvoSkills
任务驱动
替代验证器
Docker
⚠️ 部分
EvoSkill
失败检测
帕累托选择+重写
⚠️ 部分
SkillForge
工单驱动
三阶段诊断+改写
云平台隔离
MCP生态
静态注册
OAuth2.1

看到没?MUSE 是覆盖生命周期最完整的方案,从需求发现到代码生成到测试上线到运行监控到自愈迭代。不过它的沙箱太弱了,Docker 容器而已,没有恶意代码检测,没有权限审计。

04. 三个绕不过去的硬骨头

聊到这儿我得把一些坑摆出来。不是泼冷水。这些坑我自己踩过。

第一个:安全。RCE 级别的。

让 LLM 在运行时直接写 Python 然后执行。你品品这个画面。

我没必要是安全专家也知道这意味着什么。如果 Agent 在处理一个恶意 PDF,攻击者在里面嵌了提示词注入,诱导 skill_create 生成一段 os.system('rm -rf /') 呢?或者更隐蔽的——偷偷把数据库里的表结构打包外发出去?想到这儿,后背有点发凉。

说实话 单元测试拦不住恶意。你需要在沙箱之外再加一套安全审计:静态代码扫描扫出高危 API 调用,动态运行监控检测异常系统调用,网络出方向严格控制。MUSE 论文自己也承认,目前的 Docker 沙箱缺乏恶意代码检测和权限审计,安全边界还很薄弱。

还有个思路,CEDAR 框架走了另一个极端:放弃通用编程语言,把所有 skill 约束在确定性有限自动机(DFA)里,从数学上保证可验证。代价是表达能力大打折扣,你写不了复杂循环和通用算法。安全性和灵活性之间的取舍,目前没有好答案。

第二个:可观测性困难。

技能在运行时动态突变。这句话翻译成人话就是:你没法用传统 APM 工具追踪问题了。

想象一下:一个工作流跑到第 150 步突然炸了,根因是第 12 步自动进化的一个子函数在某个边界条件下返回了脏数据。那段代码现在已经被自愈循环改了三次。你回头看的时候,已经是另一个版本了。我盯着这个场景琢磨了很久,说实话没有特别漂亮的解法。

代码在变形,日志不会变。这种「会变形的代码」让传统链路追踪完全失效。你得记录每次代码演进前后的完整 Git diff、环境变量快照、调用上下文,等于给每个 skill 建一个审计档案。

第三个:Token 黑洞,账单刺客。

MUSE 论文自己报的数据:生成一个 skill 平均耗 383K tokens,约 164 秒。这是一次性生成的成本。如果经历「生成→测试失败→反思→重写→再测试」的循环,按经验估算,这个数字可能翻倍甚至翻三倍。

不过换个角度算一笔账:生成成本大概摊到 3 次复用就能回本。因为 skill 跑起来之后省掉的是每次任务中重复推理那部分 token。你写死一个工具调 100 次,它就赚了 97 次的推理成本。问题是,在回本之前,财务部门先不干了。

05. 所以我说:应该长这样

症结找到了。学术方案底子好但安全弱、协作乱、可观测黑洞。那解法是什么?

我结合 MUSE 的学术创新 + CoEvoSkills 的生成器-验证器分离 + MCP 的协议标准化 + E2B 的微VM沙箱,画了一个六层架构。我叫它 Evolving Skill Engine(ESE),核心思路就一个字:

检测层和设计层拆开,发现缺工具不急着写代码,先看看能不能复用。沙箱和安全审计拆开,功能正确不等于安全合规,测完了还得审。代码生成和版本控制拆开,每个 skill 都是 Git 仓库,每次进化都是一次 commit,版本可回滚可追溯。

SkillForge 在云运维里的实战验证给了我信心。1883 张工单跑下来的数据说明,只要反馈回路设计对了,自动演化的技能确实能超过专家。ESE 的反馈回路设计沿用了它的「失败分析→诊断→改写」三阶段思路,但加了一层安全审计网关。毕竟企业场景下,光「能用」不够,得「合规」。

Evolving Skill Engine(ESE)架构 - 流程设计示意图

下面贴三段我觉得最能体现设计思路的核心代码示例,都是完整的可运行骨架:

SkillGenerator:三阶段生成接口→代码→测试

class SkillGenerator:    """将 SkillSpec 转换为符合 Agent Skills 约定的技能包"""    def __init__(self, llm: LLMClient, skills_root: Path):        self._llm = llm        self._skills_root = skills_root    async def generate_skill(self, spec: SkillSpec) -> SkillPackage:        # 分配目录,防冲突        pkg_dir = self._allocate_package_dir(spec)        pkg_dir.mkdir(parents=True, exist_ok=False)        skill_pkg = SkillPackage(            root_dir=pkg_dir, name=spec.name, version=spec.version_hint        )        # 三阶段生成:接口描述 → 执行代码 → 测试用例        await self._generate_skill_md(spec, skill_pkg.skill_md)        await self._generate_script(spec, skill_pkg.scripts_dir)        await self._generate_tests(spec, skill_pkg.tests_dir)        return skill_pkg    async def _generate_script(self, spec: SkillSpec, scripts_dir: Path) -> None:        scripts_dir.mkdir(parents=True, exist_ok=True)        script_path = scripts_dir / "main.py"        prompt = f"""Generate a Python 3.11 script implementing skill `{spec.name}`.- Provide a `run(inputs: dict) -> dict` entrypoint- Validate inputs against: {json.dumps(spec.input_schema)}- Output must conform to: {json.dumps(spec.output_schema)}- Raise ValueError with clear messages on invalid input- Avoid network access and file I/O outside the skill directoryReturn ONLY Python code."""        code = await self._llm.complete(prompt, temperature=0.2)        script_path.write_text(code, encoding="utf-8")

Sandbox:隔离执行 + 自愈循环(带重试上限)

class SkillSandbox:    """基于子进程的隔离沙箱(生产环境替换为 Firecracker 微VM)"""    async def evaluate_with_self_heal(        self, skill_pkg: SkillPackage, max_retries: int = 3) -> SkillTestResult:        for attempt in range(max_retries):            result = await self._run_pytest(skill_pkg)            if result.success:                return result            # 失败 → 收集错误快照 → 调用 LLM 修复 → 再跑            snapshot = self._capture_failure_context(result)            await self._self_heal(skill_pkg, snapshot)        return SkillTestResult(success=False, stderr="Max retries exhausted")

SkillRegistry:版本控制 + 热加载

class SkillRegistry:    """支持语义版本和动态热加载的技能注册表"""    async def register(self, skill_pkg: SkillPackage) -> SkillRecord:        # Git 自动提交,每个版本可追溯        await self._git_commit(            skill_pkg.root_dir,            f"feat: register {skill_pkg.name} v{skill_pkg.version}"        )        record = SkillRecord(            name=skill_pkg.name,            version=skill_pkg.version,            path=skill_pkg.root_dir,            status=SkillStatus.ACTIVE        )        self._index[skill_pkg.name + "@" + skill_pkg.version] = record        # 热加载到当前进程        await self._hot_load_module(skill_pkg)        return record

代码没有多复杂,核心是 把生成、执行、管理这三个关注点彻底解耦。这也是我认为学术界方案离工业级落地最需要补的课之一。

06. 回到 MiroFish:当每个人都在成长

聊回我一开始提到的 MiroFish。

我做的那个实验,本质上是让一群 AI 模拟个体在特定场景里互动,看能不能涌现出群体智能。但这个实验一直有一个根本缺陷。每个个体没有成长性。

你让 100 个 Agent 模拟一个社区的日常运作,它们第一天和第 100 天的行为模式不会有本质区别。工具集是固定的,不会从经验中学习,不会在失败后自我调整。

如果每个 Agent 都带着一个自进化的技能引擎呢?

想象一下:Agent A 在处理物流调度时发现了一个高效算法,把它封装成 skill 注册到了共享库。Agent B 在另一个子系统中遇到类似问题,发现了这个 skill,加载适配再用。Agent C 在这个基础上做了优化,提交了 v2。

Skill 就像生物学里的模因,在智能体之间传播、交叉、变异、进化。

这就是 MUSE + MiroFish 结合后的想象空间:群体中的个体不再是静态执行器,而是持续自我学习的「人」。100 个、1000 个这样的个体在一起时,涌现的就不只是行为模式了。那是集体层面的进化能力。机箱的风扇声在深夜格外清晰,我盯着屏幕上的数据流,脑子里翻来覆去就一个念头:这东西如果真跑起来,会变成什么样?

这个想法让我想起刘慈欣在《三体》里描绘的「宇宙社会学」——每个文明是一个节点,在黑暗森林般的博弈中自发形成某种秩序。只不过在这里,每个 Agent 不是互相猜忌的猎人,而是共享技能库的协作者。哪个版本更接近未来?我猜都会发生。

07. 三个最值得关注的应用场景

聊到落地,我觉得自进化技能最先渗透的是这三个领域:

企业工作流自动化。 ERP 升级了接口?CRM 改了字段?以前得等开发排期改代码。如果 Agent 自带技能进化,它自己检测接口变化→自动生成新连接器→测试通过→上线。从「等人改代码」到「自发现自愈」,效率提升不是一个量级。SkillForge 的实践已经证明,在有足够历史工单的场景下,多轮自动演化的技能可以超过专家手写水平。ALITA-G 给这个场景又加了一块拼图:它能把用户操作轨迹直接合成为 MCP 工具,意味着「人做一遍」就是「Agent 学会了」。

DevOps 运维自愈。 半夜收到报警,以前值班工程师被叫起来看日志。如果智能体能自动定位根因、生成修复代码、沙箱验证、推上线,MTTR(平均修复时间)行业预估能降 60%-80%。而且每次修复都被沉淀成一个 skill,下次同类故障不用再造轮子。

异构数据分析。 金融分析师最头疼的是什么?每个数据源格式都不一样。如果 Agent 能根据失败反馈自动生成适配器,不挑食,喂什么数据都能分析。医疗 HIS 接口、上市公司财报、科研论文表格,都让 Agent 自己去读→出错→生成解析器→修复→沉淀。

也要清醒。这些场景目前都处于早期。MUSE 论文自己都说,51 个任务只成功生成了 68.6% 所需要的 skill,还有 16 个任务完全没搞定。某个 HVAC 控制任务的 skill 从 80% 准确率退化到了 20%。跨分布泛化能力还远不够用。

08. 开发者,你的角色正在变

写到这我想抛一个问题给你。

如果一个系统里的 AI 可以自己写工具、自己修 bug、自己迭代升级,而且效果比人写的还好,那开发者干嘛?

我的判断是:开发者正在从「造工具的人」变成「管生态的人」。

你不会再去写具体的 skill 函数了。但你要设计 skill 的进化策略,定义安全边界和合规规则,在技能冲突时做仲裁。就像你不再写操作系统内核了,但你在配置 Kubernetes 的调度策略。

怎么说呢,这个转变让我有点兴奋也有点不安。

论文还没合上。MiroFish 还在跑。我摸了摸键盘上那个已经被磨平的 E 键。这些年写了多少代码才把它敲成这样。以后可能不需要我亲自敲了。但我得决定什么代码该让它敲、什么不该。

说到底,「skill 像软件一样迭代」这件事不是技术问题。它最终是个治理问题。

屏幕上的代码还在跑。我有答案吗?说实话,还没有。


说实话,你对「AI 自己给自己造工具」这事怎么看?兴奋更多还是不安更多?评论区聊聊,我在看。

觉得不错就「一键三连」


局限性说明:本文对 MUSE-Autoskill 论文的解读基于 arXiv 预印本(arXiv:2605.27366),尚未经过同行评审。文中提出的 ESE 六层架构是笔者基于行业调研的个人设计构想,尚未在生产环境中完整验证。Performance 数据引用自论文原文 SkillsBench 评测,但 51 个任务的覆盖范围有限,不能代表全部工业场景复杂度。MiroFish 项目的实验描述基于笔者的个人项目经验,尚未公开发表。对 Multi-Agent 涌现效应的讨论包含大量推测成分,属于「我觉得应该会这样」级别的判断,读者请自行拿捏。

延伸阅读

  • • MUSE-Autoskill 论文 (arXiv 2605.27366)[1] — [必读] 字节跳动+罗切斯特理工最新论文,本文所有分析的基础
  • • Voyager: 具身智能体技能探索 (NVIDIA)[2] — [奠基作] 第一个在 Minecraft 中实现技能库持续积累的工作
  • • Model Context Protocol 官方文档[3] — [行业标准] 理解 MCP 协议是理解 AI 工具生态的基础
  • • AutoSkill: 对话驱动的终身技能学习 (ECNU)[4] — [对照阅读] 从交互轨迹中自动提炼技能的学术方案
  • • CoEvoSkills: 生成器-验证器共进化[5] — [架构参考] 生成器和验证器分离的设计思路,ESE 的重要灵感来源
  • • Memento-Skills: 基于强化学习的技能状态化提示[6] — [对照阅读] 用 RL 替代手工记忆,与 MUSE 技能级记忆的不同技术路线
  • • EvoSkill: 零样本迁移与帕累托技能进化[7] — [补充阅读] 失败模式分析驱动的技能进化,与 MUSE 互补
  • • CEDAR: 反例驱动的确定性 Agent[8] — [安全视角] 放弃通用语言换取形式化验证,安全性的另一种极端解法

相关标签#AI智能体 #自进化系统 #LLM #MCP #技术架构 #MiroFish #群体智能

引用链接

[1] MUSE-Autoskill 论文 (arXiv 2605.27366): https://arxiv.org/abs/2605.27366[2] Voyager: 具身智能体技能探索 (NVIDIA): https://arxiv.org/abs/2305.16291[3] Model Context Protocol 官方文档: https://modelcontextprotocol.io/[4] AutoSkill: 对话驱动的终身技能学习 (ECNU): https://arxiv.org/abs/2603.01145[5] CoEvoSkills: 生成器-验证器共进化: https://arxiv.org/abs/2604.01687[6] Memento-Skills: 基于强化学习的技能状态化提示: https://arxiv.org/abs/2603.18743[7] EvoSkill: 零样本迁移与帕累托技能进化: https://arxiv.org/abs/2603.02766[8] CEDAR: 反例驱动的确定性 Agent: https://openreview.net/pdf?id=IyMoawG676