先说一个可能违反直觉的事实。
如果你现在去试试市面上那些能自己上网查资料、能操作电脑的AI代理,你会发现一个奇怪的现象:同样一个模型,给它配一份写好的"操作手册",它的表现能提升二三十个百分点。这份手册在业内有个专门的名字,叫技能。
**技能**:一段可以塞进AI对话上下文里的文字,里面写着某类任务该怎么做,用什么策略,踩过什么坑,相当于给AI一份浓缩的经验笔记。
这事听起来简单,写份说明书而已,随便一个懂行的人都能编。但问题恰恰出在这里:如果这份说明书是靠AI凭空脑补写出来的,看起来头头是道,实际用起来经常不管用。真正管用的技能,必须是从AI真刀真枪跑过的任务里提炼出来的,得看它哪里做对了、哪里摔了跟头,然后才能写出针对性的建议。
这就带来一个绕不开的成本问题。你想知道一份技能到底好不好用,唯一的办法是让AI真的带着这份技能去做一遍任务,看它是不是真的答对了、任务是不是真的完成了。这个过程叫执行评估,每评估一次都要真金白银地调用模型接口,花钱、花时间。如果你要不断生成新技能、不断验证、不断修改,那这笔账很快就会滚雪球一样滚大。
这篇来自香港中文大学(深圳)等机构的论文,COBRA-Skills,瞄准的正是这个问题:怎么用最少的试错次数,找到真正管用的技能。
试错这件事,该怎么花钱最划算
先把这个问题拆开看。
假设你手里有一批候选技能,比如说三十份不同的操作手册,你的预算只够真刀真枪测试其中几份。这时候你面临一个经典的两难:是把预算都花在看起来最靠谱的那几份上,反复验证它们到底有多好(这叫利用)?还是分一部分预算去试那些还没被验证过、说不定有黑马的候选(这叫探索)?
这个两难其实不是AI技能优化独有的,你去餐厅点菜也会遇到。总吃你最爱的那道菜,能保证不踩雷,但可能错过了更好吃的新菜;每次都点没吃过的,新鲜是新鲜,但也可能连续踩几次雷,钱花得心疼。如果一个餐厅老顾客永远只吃招牌菜从不尝试新品,他可能永远不知道后厨新研发的那道菜其实更对他胃口,这就是纯利用策略的代价:错过潜在的更优解。反过来如果每次都随机点单,那前几次的糟糕体验会让你白花很多冤枉钱,这是纯探索策略的代价。
这个"利用还是探索"的权衡问题,在机器学习里有个专门的研究领域叫做上下文赌博机(contextual bandit),过去几十年一直用来解决类似"该把广告推给谁""该给用户推荐哪篇文章"这类问题。
**上下文赌博机**:一种数学框架,把每个候选选项(这里是每份技能)看成一个"老虎机拉杆",每次只能拉一个拉杆看结果好不好,目标是在有限次尝试里,尽量拉到收益最高的拉杆,同时兼顾去试那些还没拉过、可能藏着惊喜的拉杆。
COBRA-Skills的第一个核心想法,就是把每一份候选技能当成一个"拉杆",用赌博机算法来决定每一轮该去测试哪一份。具体做法是给每份技能算一个"优先级分数",这个分数由两部分组成。第一部分是一个轻量级的神经网络,根据这份技能的"语义指纹"预测它大概能考多少分;第二部分是一个不确定性奖励,如果这份技能还没怎么被测试过,或者跟它相似的技能测试次数很少,这部分分数就会给它加点分,鼓励系统去试一试。
**语义指纹**:把一段文字(这里指技能内容)转换成一串数字向量的过程,语义相近的文字对应的向量也相近,方便计算机比较和学习。论文里用的是Qwen3-Embedding-4B这个模型来生成这个向量。
这个设计背后其实藏着一个很聪明的迁移逻辑。假设你测试过一份"处理表格数据时优先用公式而不是手写代码"的技能,效果不错。这时候如果冒出另一份内容相近的新技能,即便它从没被真正测试过,系统也能大致猜到它可能也不错,因为它们语义指纹相近。这就避免了每个新候选都要从零开始摸索,前面积累的经验能"照亮"后面相似的候选。
技能池子也得进化,不是一潭死水
光会挑该测哪个还不够。如果候选池子里的技能永远是那三十份,再怎么聪明的挑选算法,天花板也就是那三十份里最好的一份。真正想突破上限,候选池子本身得能自我更新,淘汰弱的,生出更强的。
论文设计了三种"进化操作",分别对应三种不同的信息来源。
第一种叫再生,直接从最初"什么技能都不给"的裸跑轨迹里,重新提炼出一份独立的新技能。这个操作的意义在于保持候选池子的多样性,防止系统一头扎进某个局部最优解就出不来了。打个比方,如果你一直在优化同一道菜的做法,某天突然有人说"其实咱们可以换个完全不同的做法试试",这种跳出思维定式的尝试有时候能带来意外惊喜。
第二种叫轨迹变异,针对当前刚被测试过的那份技能,系统会去看它这次执行时哪些地方成功了、哪些地方失败了,拿这些具体的成功和失败案例作为证据,对这份技能做局部修改。这个操作很克制,不是推倒重来,而是像医生看诊一样,根据具体症状开对应的药方。
第三种叫交叉,这个操作会把过去积累的所有测试历史按表现分成高分组和低分组,选一份高分技能当"主干",再从其他高分技能里挑一份提供正面参考,同时把低分技能当反面教材,一起喂给负责改写技能的模型,让它在保留主干优点的基础上,吸收别的成功经验,同时避开已知的失败模式。
值得说一下这个设计的克制之处。轨迹变异和交叉都不是让AI"随便发挥重写一份新的",而是要求它必须基于具体的执行证据做改动。这个约束其实很重要,如果任由AI凭空想象改写技能,很容易又回到开头说的那个问题,产生听起来很合理但实际不管用的内容。
那如果不做这种周期性进化会怎样?论文专门做了对比实验,把候选池子固定成三十份技能,不再补充新的,只靠赌博机算法在这三十份里反复挑。结果平均分比完整方案低了2.4个百分点。这说明光靠聪明的挑选算法在一个静态池子里打转,天花板确实会被锁死,进化机制提供的是持续突破天花板的可能性。
一整套流程串起来是什么样子
现在把这几块拼起来看看COBRA-Skills完整跑起来是什么样子。
系统一开始会先让AI代理不带任何技能跑一遍任务,收集这些"裸跑"的执行记录,再用再生操作从这些记录里独立生成十份初始技能,这构成了最初的候选池子。
接下来进入正式的优化循环,每一轮系统都用前面说的优先级分数,从当前池子里挑出得分最高的那份技能,交给目标AI代理去真刀真枪执行一遍任务。执行完之后,系统会拿到两样东西:一个具体的分数,还有完整的执行轨迹。这两样都会被记录进"历史档案",用来更新那个负责打分的神经网络,同时也更新赌博机算法里追踪"探索够不够"的那个矩阵。
每隔几轮,系统会触发一次"周期性进化",用更新过的优先级分数,把池子里表现最差、又没什么探索价值的几份技能淘汰掉,腾出的位置用前面说的三种进化操作生成新技能填补。这个"周期性"不是固定几轮就触发一次,而是按照一个对数增长的节奏来安排,早期进化得频繁一些,让候选池子快速迭代出多样的方向;到了后期,已经积累了足够多的证据,进化的间隔会拉长,系统更倾向于把资源花在精细打磨已经比较靠谱的候选上。
这套流程跑满三十轮之后,系统会从整个历史档案里,挑出平均得分最高的那份技能,作为最终交付的成果。
如果不用这种周期性节奏,而是每一轮都做一次进化会怎样?那意味着每次测试完都要立刻调用负责生成技能的教师模型去分析、去改写,这个教师模型的调用次数会急剧上升,而教师模型往往比执行任务的目标模型贵得多。论文的实验数据能印证这个直觉:COBRA-Skills用的教师模型token数量,比对照方法SkillOpt少了67%到80%。这笔省下来的钱,靠的正是"不是每次都要重新分析,而是攒够了证据再动手"这个节奏控制。
实验结果:六个任务,三个模型,数字说话
论文在六个差异很大的任务上做了测试,涵盖开放域问答(SearchQA)、表格操作(SpreadsheetBench)、文档视觉理解(DocVQA)、数学推理(LiveMathematicianBench)、社交推理(SocialMaze)和具身决策(ALFWorld)。这些任务有的是一问一答的单轮任务,有的是需要连续操作三十步的多轮交互任务,覆盖面相当广。
测试用了三个不同能力档位的目标模型:Qwen3.6-35B-A3B、GPT-5.4-Nano、Gemma-4-26B-A4B-it。
| 方法 | Qwen3.6-35B-A3B平均分 | GPT-5.4-Nano平均分 | Gemma4-26B-A4B-it平均分 |
|---|---|---|---|
| 无技能基线 | 60.4 | 30.0 | 46.4 |
| LLM Skill | 66.2 | 48.3 | 55.2 |
| Trace2Skill | 64.4 | 43.2 | 53.6 |
| SkillOpt | 69.6 | 53.7 | 67.6 |
| **COBRA-Skills** | **73.5** | **56.9** | **68.9** |
三个模型上,COBRA-Skills都拿到了最高分,相比不带任何技能的基线,分别提升了13.1、26.9、22.5个百分点。26.9个百分点是什么概念?意味着原本一百道题只能对30道的GPT-5.4-Nano,配上优化过的技能之后,能多答对将近27道题。
比分数更能说明问题的,是成本这笔账。
| 模型 | 方法 | 相比无技能提升 | 优化总成本(美元) | 每提升一分花费 |
|---|---|---|---|---|
| Qwen3.6-35B-A3B | SkillOpt | +9.2 | 121.02 | 13.15 |
| Qwen3.6-35B-A3B | **COBRA-Skills** | **+13.1** | **54.10** | **4.13** |
| GPT-5.4-Nano | SkillOpt | +23.7 | 133.59 | 5.64 |
| GPT-5.4-Nano | **COBRA-Skills** | **+26.9** | **58.46** | **2.17** |
| Gemma4-26B-A4B-it | SkillOpt | +21.2 | 92.14 | 4.35 |
| Gemma4-26B-A4B-it | **COBRA-Skills** | **+22.5** | **38.98** | **1.73** |
对照方法SkillOpt每提升一分要花4到13美元,COBRA-Skills只要1.7到4美元,成本降了60%到69%。而且COBRA-Skills用的优化样本数量只有对照方法的一半左右,每个基准只用了50个样本。
这个对比让人想起两种考试复习方式。一种是把整本习题册的每道题都反复做,做完再对照标准答案逐题分析改进,费时费力但覆盖全面;另一种是先做一遍摸底测试,挑出自己最容易出错、也最有提升空间的那几类题,集中攻克。COBRA-Skills走的是第二条路,它不追求穷尽所有可能的技能变体,而是把有限的"做题"(也就是执行评估)机会,用在真正值得的地方。
论文还测了两个额外场景。一个是换掉执行环境,用Claude Code和Codex这两种不同的代理运行框架来跑同样的实验,COBRA-Skills依然是表现最好的方法,说明这套优化框架不依赖某个特定的执行接口。
另一个是自我教学场景,前面提到负责生成和修改技能的"教师模型",论文原本用的是能力更强的GPT-5.5,现在换成让目标模型自己教自己。结果平均分从73.5微降到72.5,但优化成本直接砍半。这说明COBRA-Skills的效果提升不是靠"借了一个更聪明的外援",而主要来自于这套挑选加进化的机制本身,即便自己教自己,大部分收益依然保留。
消融实验:两个部件,各自值多少钱
论文还专门拆解了赌博机挑选和技能进化这两个部件各自的贡献。
去掉赌博机挑选,改成随机选技能测试,平均分从73.5掉到71.3,降了2.2分。去掉进化机制,固定用三十份技能反复挑,平均分掉到71.1,降了2.4分。另外还测了一个对照,叫"三十选一",就是生成三十份技能,全部测一遍,选最好的那份,结果是71.0分,同样比完整方案低了2.5分。
这最后一个对比很关键,它说明COBRA-Skills的优势不是简单靠"生成更多候选,然后选最好的"这种粗暴的数量堆砌,而是挑选策略和进化机制配合起来产生的化学反应。这就好比一个团队想找出最佳方案,光是让所有人各自埋头想方案然后投票选一个最好的,效果肯定不如大家一边尝试一边根据反馈互相借鉴改进来得好。
论文还测试了这个探索强度参数该调多大。调得太保守,系统容易一头扎进当前看起来最好的候选,错过潜在更优解;调得太激进,又会把太多预算浪费在验证那些大概率不靠谱的候选上。实验发现这个值设在0.1时效果最好,平均分能到73.5,调到0.3就掉到70.8。这个结果印证了前面提到的"探索和利用"权衡的确是个需要精细拿捏的分寸问题,不是越多探索越好。
技能能不能换个模型接着用
最后一个有意思的发现是关于技能的迁移性。论文做了个交叉实验,用一个模型优化出来的技能,拿去给另一个完全不同的模型用,看效果如何。
结果36组跨模型迁移里,34组的表现都超过了目标模型自己不带技能时的水平,有些提升幅度还相当大,比如在SocialMaze任务上,用Gemma优化出来的技能拿给GPT-5.4-Nano用,提升了38.7个百分点。
这个结果挺让人意外的,一份技能明明是针对某个模型在某组任务上摸索出来的经验,却大概率也能帮到完全不同的另一个模型。这说明这些经过筛选和进化打磨出来的技能,捕捉到的更多是任务本身的通用规律,比如"这类问题该先查什么资料""表格操作该用什么顺序",而不是针对某个特定模型的怪癖做的定制化调教。
写在后面
读这篇论文时,最触动我的其实不是那些提升的百分点,而是它对"评估"这件事本身的态度转变。
大多数做AI优化的工作,默认的思路是"想办法生成更好的候选",把力气花在怎么写出更聪明的提示词、怎么设计更精巧的改写逻辑上。COBRA-Skills反过来了,它承认生成候选这件事本身没那么难,真正稀缺的资源是"验证一个候选到底好不好"的机会。这个视角转换挺值得琢磨的,很多时候我们习惯性地把注意力放在"怎么想出更好的点子"上,却忽略了"怎么用最少的成本判断哪个点子是真的好",后者往往才是真正卡脖子的环节。
另一个让我反复想的细节是那个"三十选一"的对照实验。生成更多候选,然后挑最好的那个,这是一个非常直觉、几乎所有人第一反应都会想到的笨办法。而论文用实验证明了,这个笨办法的天花板比动态挑选加进化的组合方案低了2.5分。这提醒我一件事,很多时候我们以为"多生成几个总比少生成强",但如果没有一套机制去有效利用每一次尝试积累下来的信息,那些额外生成的候选很可能只是徒增了成本,并没有真正转化为更好的结果。
如果技能真的能像论文展示的那样跨模型迁移,那未来会不会出现一种"技能市场",不同团队针对不同任务打磨出的经验包,可以像插件一样被任何模型直接调用?这个想法让人有点兴奋,也有点忐忑,兴奋的是效率的提升,忐忑的是,当经验可以被这样打包和复用的时候,我们该怎么判断一份技能到底是真正管用,还是只是恰好在某几个测试样本上蒙对了?
Q&A
Q1:COBRA-Skills是什么?
A:一个用于优化AI代理技能的框架,它把候选技能当成赌博机的拉杆,用神经网络加不确定性奖励来决定每轮该测试哪份技能,同时通过再生、轨迹变异、交叉三种操作让技能池子不断进化,目标是用更少的执行评估找到更好的技能。
Q2:COBRA-Skills相比其他技能优化方法有什么优势?
A:在六个基准测试和三个目标模型上都取得了最高平均分,相比对照方法SkillOpt,优化总成本降低了55%到58%,每提升一分所需花费降低了60%到69%,且只用了50个优化样本。
Q3:技能能不能在不同的AI模型之间通用?
A:论文的交叉实验显示,36组跨模型技能迁移中有34组效果都超过了目标模型不带技能时的表现,说明优化出来的技能捕捉的更多是任务本身的通用规律,而不是针对特定模型的定制内容,具有较好的可迁移性。







