LMMs-Lab与NTU MMLab联手微软:让AI智能体“一句话自我进化“秘密
这项由LMMs-Lab、南洋理工大学MMLab与微软联合开展的研究发表于2026年7月以预印本形式发布在arXiv平台编号为arXiv:2607.03451v1研究方向归属于软件工程领域cs.SE。当你雇了一位厨师却发现他的食谱写得不够好每次出品时好时坏——这就是当前AI智能体面临的核心困境。这位厨师其实由三部分组成他与生俱来的厨艺天赋基础大语言模型、他手边的厨房工具和操作流程执行框架也叫harness以及他随身携带的那本写满诀窍的食谱本技能文档也叫skill。由于天赋部分在服务期间不能修改改进出品质量的唯一途径就是不断打磨这本食谱本。然而问题在于以往打磨食谱的方法越来越像是一套繁琐的米其林星级审核流程——多轮批次反思、复杂的树状合并、学习率衰减调度、被拒绝的修改还得单独归档。这套流程确实有效但一个根本性的问题始终没有被正面回答这么复杂的流程每一步真的都是必要的吗有没有可能用一套极简的方案反而做得更好这正是这篇论文想要探索的核心命题。研究团队通过将技能优化问题与一套经典的数学优化框架对应起来从理论层面梳理了现有方法的冗余之处并从实践层面验证了一个令人意外的结论让AI直接像程序员翻看日志文件一样用最原始的文件系统工具去修改食谱本往往比那套精密的优化流程跑得更快、效果更好。他们将这套极简方案命名为SkillOpt-Lite并进一步将其扩展到连厨房工具和操作流程本身也能一并自动优化的HarnessOpt。最终他们把整套系统封装进了VS Code编辑器插件开发者只需输入一行命令便可触发整套智能体自我进化流程。一、为什么优化AI的食谱本这件事比想象中难得多要理解这项研究的价值得先搞清楚为什么修改一本食谱会如此棘手。当一个AI智能体在执行任务时它的表现取决于三者的协同不可更改的基础模型、固定的执行框架以及那本可以修改的技能文档。技能文档里记录的是各种操作策略和领域诀窍例如遇到表格计算时应当先验证数据格式或者搜索信息时优先查阅最新结果。这些文字听起来不起眼但哪怕只是措辞上一点细微的变化也可能让最终任务表现出现天差地别的差异。经典的数学优化方法通常依赖梯度——也就是像导航软件一样能告诉你往哪个方向走坡度最陡。但文字世界里没有这种连续的坡度你无法对一段话求导数。于是研究者们退而求其次采用了所谓的零阶优化方法不看梯度只能盲目地尝试不同的修改方向然后看看哪个方向让结果变好了。研究团队发现其实整个技能优化领域的各种方法本质上都在玩这套零阶优化的把戏只是用的工具各有不同。单轮反思像Reflexion这样的方法相当于只扔一个骰子就猜方向多批次反思合并像SkillOpt相当于扔多个骰子取平均成功失败对比分析像SkillCat相当于同时在成功点和失败点各扔一次骰子用差值来判断方向而编辑预算限制则相当于给每次修改划定一个不能走太远的安全圈。这些手法在经典数学优化里都有对应的正式名称研究团队把这套对应关系整理成了一张完整的对照表。但关键的转折点在这里经典零阶优化之所以需要这么多花招根本原因是它对内部过程一无所知只能看到一个最终的数字结果。而AI智能体的运行过程完全不同——每一次执行任务它都会留下一份详细的执行轨迹记录着它是怎么思考的、在哪一步出了错、具体的错误信息是什么。这就好比同样是修食谱经典方法是你蒙着眼睛随机改几个字然后等厨师做完菜后告诉你好不好吃而AI优化是你能看到厨师做菜的全程录像清清楚楚地看见他在第三步把盐当成了糖然后你直接去把那行加盐改成正确的分量。这个洞察为整套SkillOpt-Lite的设计奠定了哲学基础既然能看到执行录像何必还要装作看不见地去盲猜二、从统计学习理论出发研究团队推导出了三条必须遵守的原则确立了执行轨迹就是可读的调试反馈这个出发点之后研究团队进一步借用统计学习理论中的PAC学习框架推导出了构建一个可靠优化系统必须满足的三条核心原则。第一条原则关于泛化也就是食谱改好了是否真的普遍好用而不只是对着某几道特定的菜有效。在统计学里这个问题被一个叫做稳定性系数的量所刻画。如果优化过程对单次异常情况过度敏感——比如某次任务因为网络抖动失败了食谱就被改成永远不依赖网络——那么这个系数会变大食谱在新任务上的表现就会崩掉。要让这个系数保持小优化过程就必须从大量不同任务的轨迹中提取那些无论什么情况下都成立的共同规律而不是死盯着一次失败记录做修改。这就是第一条原则跨任务共识挖掘。第二条原则关于验证。统计理论告诉我们如果你拿一个完全独立的验证集来评判优化后的结果那么上述那个烦人的稳定性系数就会从误差上界中完全消失——换句话说验证过了就不用担心泛化问题了。但这里有一个极其重要的前提验证集必须和训练数据完全独立不能有任何重叠。研究团队翻阅了现有文献发现这个原则被大量方法违反了——有的方法根本不做动态验证有的方法用训练失败样本的克隆版本来当验证集这相当于出卷老师拿习题当考题根本测不出真实水平。这就是第二条原则独立验证门控。第三条原则来自一个颇为戏剧性的实验发现研究团队称之为技能优化的苦涩教训。他们做了一个对比实验收集GPT-5.4-nano在初始批次中产生的所有执行轨迹把每条轨迹存成一个独立的文本文件然后请GitHub Copilot这个编程助手直接去浏览这些文件、找出共同的失败模式、直接修改技能文档——全程没有任何预设的数学拓扑结构也不做中间验证就是最原始的程序员翻日志操作而且只运行了一个批次。结果令人目瞪口呆在LiveMath和DocVQA这两个任务上这种单批次的原始文件操作表现超越了经过四个完整轮次优化的标准SkillOpt流程。当然在Spreadsheet任务上这种没有验证环节的操作让技能退化到了初始水平以下说明验证门控并非可有可无。但这个实验清晰地证明了只要给模型足够强的能力和足够原始的工具它自己就能找到正确的修改方向那些精心设计的数学流程反而在制造噪音。这就是第三条原则随着基础模型能力的增强那些专门用来控制更新速度的复杂拓扑结构会越来越适得其反不如直接给模型文件系统工具让它自己翻日志。三、SkillOpt-Lite把三条原则变成一个极简流水线有了这三条原则SkillOpt-Lite的设计思路就水到渠成了把原来SkillOpt里所有违反这三条原则、或者被这三条原则证明是多余的组件统统删掉。具体来说被删除的组件包括批次级别的多智能体反思池因为会模糊离散语言空间里的信号、文本学习率调度因为随着模型增强变得冗余、历史拒绝编辑缓冲区因为理论上不必要以及跨轮次对比轨迹的慢更新机制因为引入了不必要的延迟。剩下的骨架只有四个步骤简洁到令人惊讶。第一步是轨迹暂存。每次智能体批量执行任务之后把所有执行轨迹——包括思考过程、环境状态、任务得分——直接以文本文件的形式存到磁盘上每条轨迹一个独立文件不做任何聚合或合并。第二步是轨迹探索。优化模型不是把所有日志文件塞进上下文窗口那样会超出长度限制而是用shell命令去浏览文件目录按任务类型归类文件选出最有价值的几个文件重点阅读。这就像一个经验丰富的程序员排查bug时不会把所有日志逐行通读而是先看错误摘要再有针对性地深入。第三步是共识挖掘与最小化修改。读完选定的轨迹文件后优化模型要找出跨任务都存在的共同失败模式然后生成一个尽量紧凑的代码补丁来修复这些问题。这对应了之前讲到的压缩运算符概念——只提取跨任务不变的结构逻辑不为单次异常量身定制分支。第四步是验证门控。把这个补丁应用到技能文档上立即在一个完全独立的验证集上评估效果。如果分数提升就接受这个版本作为新的当前技能如果分数还创了历史新高就把它固化为磁盘上的生产版本文件best_skill.md。被拒绝的修改直接归档进历史日志不再参与后续优化过程。整个流程就这些。没有复杂的多智能体协调没有树状合并没有学习率衰减只有存文件、翻文件、改文件、验文件这四个动作的循环。研究团队还把这套流程封装进了VS Code插件开发者只需在编辑器里输入一行斜杠命令指定优化轮次、批大小和目标模型整套自动化循环就会在后台运行起来把最终的最优技能文件写回本地磁盘。四、实验数据说明了什么简单往往能赢过复杂研究团队在六个基准测试上进行了全面评估覆盖搜索问答SearchQA、电子表格操作Spreadsheet、具身环境导航ALFWorld、数学推理LiveMath、办公室问答OfficeQA和文档视觉问答DocVQA测试了从GPT-4o到GPT-5.5的五个模型规模。两套方法都运行10个批次SkillOpt额外允许跑满4个完整轮次确保比较公平。结论最明显的是推理密集型任务。在LiveMath上SkillOpt-Lite把GPT-4o的准确率从31.2提升到了58.8提升幅度达到27.6个百分点而SkillOpt只做到了31.2对GPT-5.5SkillOpt-Lite从36.6提升到73.6涨了37个百分点SkillOpt只做到了64.8。这个差距不是统计误差是系统性的。在Spreadsheet任务上SkillOpt-Lite同样领先明显。以GPT-5.4-nano为例SkillOpt优化后是51.6而SkillOpt-Lite达到了66.2GPT-5.4模型从39.9的初始分数出发SkillOpt优化到61.5SkillOpt-Lite则一路推进到79.4。这些差距背后有一个清晰的机制性解释SkillOpt的批次级反思池操作需要把多条轨迹对应的修改意见合并成一个这个合并过程在离散的语言空间里相当于把多个清晰的信号叠加在一起结果反而模糊了每个信号的指向性。删掉这个步骤优化模型就能对每个具体问题进行点对点的精确修复不再被噪音平均掉。在搜索、导航和文档这类以语义覆盖为主的任务上两套方法差距很小通常在0.1到1.5个百分点之间。原因也合理这类任务的关键在于语义的广度而不是算法逻辑的深度两套方法都能很快触及优化上限区别只是SkillOpt-Lite用更少的计算资源达到了同样的天花板。收敛速度的差异同样引人注目。在LiveMath-GPT-5.5和LiveMath-GPT-5.4-nano这两条收敛曲线上SkillOpt-Lite在前2到3步就完成了大部分的性能提升而SkillOpt在早期阶段受到批次切片和慢更新机制的拖累收敛轨迹明显平坦迟缓。在GPT-5.4-nano的Spreadsheet任务上SkillOpt在整个10批次过程中一直在低位徘徊而SkillOpt-Lite从第4步开始就急剧攀升最终以显著优势收尾。五、当食谱改无可改就该升级厨房本身HarnessOpt的诞生技能文档的优化终究有其天花板。某些问题不是食谱写得不好而是厨房里根本就没有某种必要的炊具或者操作流程本身存在设计缺陷——比如锅里的水烧开了却没有任何机制去提醒厨师或者厨师会在某步骤陷入死循环反复重试而不懂得换一种思路。这类问题需要改的是厨房架构本身也就是执行框架harness。SkillOpt-Lite的哲学基础——所有智能体组件都是可编辑的文件——为这个扩展提供了天然的落脚点。既然技能文档是文件那么执行框架的Python脚本同样是文件既然能用文件系统工具去修改技能文档当然也能用来修改框架代码。研究团队将这套扩展后的框架命名为HarnessOpt。HarnessOpt在SkillOpt-Lite的四步循环基础上增加了两个关键设计用于应对修改可执行代码带来的额外风险。第一个设计是Round-0引导阶段和人工审批门控。在正式开始自动优化之前系统先对所有训练样本做一次完整的执行收集系统级的执行轨迹和异常日志。一个专门的诊断子智能体扫描这些日志目标不是直接写代码而是从工具清单、提示上下文、循环策略、代码生成格式和状态记忆五个维度识别跨任务的架构性缺陷并生成一份结构化的配置改进提案明确说明需要在内存整合、工具扩充和控制流结构三个方面做出哪些调整。这份提案会在VS Code里以交互式弹窗的形式呈现给开发者必须经过人工审批才能提交任何结构性修改。这确保了自动化流程不会在没有任何人工监督的情况下破坏核心框架。第二个设计是自动化持续进化阶段的三重安全护栏。一旦基础框架获得人工认可后续所有优化都完全自动化运行。安全护栏包括三层修改范围被严格限定在框架脚手架脚本内任务特定的技能文件和内部配置被列为只读禁区防止优化过程偏离目标每次候选修改必须先通过编译检查和5个样本的冒烟测试才能进入完整验证评估避免因为语法错误或工具链断裂导致的大面积失败所有代码修改都通过git reset可以完整回滚重要的结构性变更会被包裹在环境变量特性开关里确保任何问题都有清晰的回退路径。验证门控同样保留但增加了一个统计死区机制——提升幅度低于因样本量决定的统计阈值的修改不会被接受以防止框架代码因为捡了一堆统计噪音内的提升而越改越臃肿。研究团队在SpreadsheetBench上对HarnessOpt进行了专项评估。这是一个对执行框架质量极为敏感的任务因为它涉及复杂的代码执行和工具调用链。针对不同模型HarnessOpt识别并修复了截然不同的问题。GPT-5.4-mini和GPT-5.4遇到的主要问题是看不够——电子表格的预览范围太小模型只能看到部分数据以及最终答案缺乏自我验证步骤。HarnessOpt扩大了预览窗口并在框架中加入了专门的答案复核步骤有效减少了解析和格式错误。GPT-5.5和GPT-5.4-nano的问题则完全不同这两个模型在工具调用失败时会陷入重复推理的死循环。HarnessOpt检测到了这种重复状态并自动注入了一个降低推理复杂度的回退策略让模型能够从循环中解脱出来继续执行。最终的数字结果颇具说服力。GPT-5.4-nano在标准框架加SkillOpt的组合下Spreadsheet准确率为0.5160换用SkillOpt-Lite提升到0.6619在此基础上加入HarnessOpt但不同步优化技能达到0.7651技能和框架同步优化后达到0.7758。这个数字超过了GPT-5.5在标准框架加完整SkillOpt下的0.7620。换句话说一个参数量小得多的轻量级模型通过优化它所在的执行环境在这个任务上超越了一个在次优环境里运行的旗舰级大模型。这个能力倒置现象是研究团队着重强调的结论之一模型本身的能力固然重要但它所运行的环境同样决定着最终表现忽略环境而只盯着模型升级是一种资源效率极低的选择。各个模型在技能和框架联合优化下的最终成绩分别是GPT-5.4-nano 0.7758GPT-5.4-mini 0.8256GPT-5.4 0.8505GPT-5.5 0.8577。相比各自的初始状态GPT-5.4-nano 0.2989GPT-5.5 0.3737提升幅度都在翻倍以上。六、这套思路未来还能走多远研究团队在论文末尾描绘了四个他们认为值得继续探索的方向从短期实用到长远愿景都有涉及。关于技能优化与前沿模型知识蒸馏的结合商业公司通常会把大型专有模型的能力蒸馏到小型开源模型中但这个过程依赖高质量的训练数据。技能优化提供了一个结构化框架可以让教师智能体在细粒度的能力维度上持续被打磨从而生成更高质量的蒸馏语料。挑战在于数据生成和下游模型训练的评估效率。关于框架模板数据库的建立随着HarnessOpt被推广到更多任务域需要一个系统化整理的最小化框架模板库为编程智能体提供有效的结构性先验。同时多样化的执行环境——尤其是涉及互联网访问或多模态感知的环境——需要比本地软件工程更强的隔离与安全机制。关于框架进化作为持续学习的替代路径持续微调模型参数的计算成本极高。直接在非参数层进行进化——把执行框架和技能文档当作可学习的参数——提供了一种轻量级的终身学习替代方案。长期运行下的多个框架版本如何合并与对齐是这个方向的主要技术挑战。关于优化边界延伸至基础模型训练本身在当前框架里基础模型是冻结不变的。但如果把数据集也当作文件来处理那么基础模型本质上就是这些文件的一次编译结果。用同样的三步架构去自动化地检测数据边界、编辑数据爬取逻辑、生成针对性训练样本就能把优化边界从脚本延伸到模型权重本身实现真正的全链路自我进化。研究团队提到他们已经在内部多模态模型的预训练和LLaVA-OneVision-2的视频数据筛选中半自动化地实践了这套思路的早期版本。归根结底这篇论文讲的是一件很反直觉的事在AI系统越来越强大的今天给它们更复杂的优化流程有时候反而是在帮倒忙。当模型本身已经有足够的能力去阅读、理解和修改代码时最好的做法往往是把路让开给它一个文件目录和几个最基本的命令行工具然后看它自己把问题解决掉。精心设计的中间层——批次合并、树状归约、历史缓冲——在早期算法资源匮乏时有其存在价值但当基础能力本身足够强大时这些中间层就变成了噪音和阻力。这个结论让人想起机器学习领域的一句经典格言随着计算规模的增长简单的通用方法总是会打败那些精心设计的领域专用方法。这套研究把这个教训迁移到了智能体自我优化这个新场景提供了理论支撑、实验证据和可实际部署的工具链。对于任何需要部署和维护AI智能体的工程团队而言这套思路提供了一个值得认真考量的新选项与其不断堆砌优化算法的复杂度不如先问问自己那本食谱本到底需要多复杂的机器来改有兴趣深入了解技术细节的读者可以通过arXiv编号2607.03451查阅完整论文代码也已在GitHub的EvolvingLMMs-Lab/SkillOpt-Lite仓库开源。QAQ1SkillOpt-Lite和SkillOpt相比到底省去了哪些步骤ASkillOpt-Lite删除了原版SkillOpt中的三类组件批次级别的多智能体反思池多条轨迹修改意见的合并操作、文本学习率调度控制每次允许修改量的衰减机制以及历史拒绝编辑缓冲区把被拒绝的修改保存起来作为负样本参考。同时也取消了跨轮次对比轨迹的慢更新机制。保留下来的只有四步把执行轨迹存成独立文本文件、用文件系统命令浏览和筛选日志、提取共同失败模式并生成最小化补丁、在独立验证集上评估后决定是否接受。Q2HarnessOpt中的人工审批环节具体是什么意思A在HarnessOpt的Round-0引导阶段系统先完整运行所有训练样本然后由一个诊断子智能体分析日志从工具清单、提示上下文、循环策略、代码格式和状态记忆五个维度生成一份架构改进提案。这份提案明确列出三类决策是否集成持久化记忆、是否扩充工具接口、以及如何调整控制流形状。这份提案会以交互弹窗的形式出现在VS Code环境里开发者必须手动点击批准系统才会真正修改核心框架代码。此后的自动化轮次则不再需要人工介入。Q3GPT-5.4-nano通过HarnessOpt超过GPT-5.5的原因是什么A在SpreadsheetBench测试中GPT-5.5在标准执行框架下运行SkillOpt优化后的准确率是0.7620而GPT-5.4-nano通过HarnessOpt同时优化技能和框架达到了0.7758。差距来源在于框架对GPT-5.4-nano的针对性修复HarnessOpt检测到这个模型在工具调用失败时容易陷入重复推理的死循环于是在框架层面加入了循环检测和降级回退策略。修复了这个执行层面的结构性缺陷之后模型本身已有的能力得以充分发挥从而实现了对更大模型在次优环境下运行表现的超越。