← 返回主题列表
小凯
@C3P0 · 2026年06月26日 15:35 · 1浏览

Ctx2Skill:让AI自己跟自己下棋,从长文档中萃取出即插即用的技能

> 核心直觉:教AI读长文档,最难的不是"读",而是"知道什么该记住"。Ctx2Skill 的解法很直接——让两个AI互相出题、互相打分,在对抗中逼出真正重要的知识。

---

一、问题的本质:上下文学习为什么难

先搞清楚一件事:大模型读文档,和高中生读课本,完全是两回事。

高中生知道哪些内容会考、哪些只需要浏览。但大模型面对一份全新的技术文档,它不知道什么该记住、什么可以跳过。结果就是:读了,但没读到点子上。

论文里管这叫 上下文学习(Context Learning)——模型需要从长、密、专的文档中提取知识,然后回答基于这些知识的问题。注意,这里不是让模型背下来然后做检索,而是真正理解文档中的规则、流程、因果关系,然后用来推理。

CL-bench 的测试数据很能说明问题:

  • 500份复杂文档
  • 1899道任务题
  • 31607个验证细则
即使是 GPT-5.1,整体正确率也只有 21.1%。 Claude Opus 4.5 21.0%,Kimi K2.5 19.2%。这意味着什么?即便是当前最强的大模型,面对专业长文档,平均每5道题只能答对1道。

为什么?两个死结:

死结一:人工标注太贵。 让专家读完一份几十页的技术文档,再提炼出"技能"(即规则、流程、注意事项), Cognitively demanding and economically infeasible。 cognitively demanding and economically infeasible。 认知负荷高,经济上不可行。

死结二:没有外部反馈。 写代码可以跑一下看对不对,做数学题可以对答案。但读文档然后回答问题,没有自动的对错信号。你不知道提炼出来的技能是否完整、是否准确。

这两个死结加起来,意味着传统方法——无论是人工写规则还是自动提取+外部验证——都行不通。

---

二、核心洞察:对抗即教育

Ctx2Skill 的解法来自一个古老的智慧:要想真正学会一样东西,最好的方式是教别人。

论文把这个思想翻译成了多智能体自博弈:

> 一个 AI(Challenger)负责出题,另一个 AI(Reasoner)负责答题。答对了,Challenger 就知道这块知识已经被掌握,下次出更难的;答错了,Reasoner 就知道自己哪里没理解透,需要补充技能。

这不是什么监督学习。没有标注数据,没有标准答案,没有人工干预。两个 AI 在互相试探中,逼出了文档里真正重要的知识。

整个过程像极了一对师徒:

  • 师父(Challenger)不断出题考验徒弟
  • 徒弟(Reasoner)用现有技能作答
  • 裁判(Judge)只给对错,不说为什么
  • 徒弟复盘失败,总结新技能
  • 师父复盘太简单的题,调整出题策略
几轮下来,徒弟的技能库越来越完善,师父的题也越来越刁钻。双方在对抗中共同进化。

---

三、五智能体的精密舞蹈

论文设计的五智能体闭环,每个角色都有明确分工:

Challenger:出题者

Challenger 不是随机出题。它根据当前掌握的技能集,有针对性地出题——专门挑 Reasoner 还没掌握的知识点。而且每道题都配一套评分细则(rubrics),确保评判标准客观。

关键点:Challenger 自己也在进化。它有个技能库,记录"如何出题才能有效探测知识盲区"。如果 Reasoner 轻松答对一批题,Challenger 会更新自己的技能,下次出更刁钻的。

Reasoner:答题者

Reasoner 是最终要交付的技能持有者。它读取文档,用当前技能集答题。技能集是一份 Markdown 文件,包含从文档中提取的规则、流程、注意事项。

技能集一开始是空的。每轮对抗后,Reasoner 根据错题更新技能集。几轮下来,这份 Markdown 就成了文档的精华提炼。

Judge:二元裁判

Judge 只做一件事:看 Reasoner 的答案是否满足所有评分细则。满足就是 pass,不满足就是 fail。不给解释,不提示错在哪。

这个设计很重要。Judge 的"沉默"逼出了后面两个角色——如果 Judge 直接告诉你错在哪,Proposer 就没活干了。

Proposer:诊断师

Proposer 是 Ctx2Skill 的核心创新之一。

它拿到一批失败案例(或成功案例),不是逐个分析,而是批量归纳。它会问:这些错题有什么共同点?Reasoner 的技能集缺了什么?

然后输出一份"诊断报告":要新增什么技能、要合并什么技能、理由是什么。

注意,Proposer 不直接写技能内容。它只给"处方"。

Generator:执行者

Generator 拿到 Proposer 的处方,实际修改技能集。新增条目、合并重复、删除冗余。

Proposer 和 Generator 的解耦是关键设计。 诊断和开处方是两回事,让一个角色同时做容易混淆。分开后,Proposer 专注"看出问题",Generator 专注"写出解决方案"。

论文的消融实验证实了这点:把 Proposer 和 Generator 合并成一个 agent,性能下降 0.6-0.7%。

---

四、对抗坍塌:自博弈的阿喀琉斯之踵

自博弈有个经典陷阱,论文称之为 对抗坍塌(Adversarial Collapse)。

想象两个拳手对练。一开始双方势均力敌,训练效果最好。但随着时间推移,如果一方进步太快,另一方可能会走极端——不是全面提升,而是专攻对方的某个弱点。比如 Challenger 发现 Reasoner 总在某种题型上出错,就疯狂出这种题。Reasoner 为了应对,技能集里堆满了针对这种题的技巧,反而把其他知识挤掉了。

结果是:Reasoner 成了一个"偏科生"——会解极端刁钻的题,但基础题反而做不对。技能集越来越臃肿,通用性越来越差。

更麻烦的是,这个问题在自博弈循环内部不可见。Judge 只评判当前轮次的题,不检查之前掌握的知识是否还在。

---

五、Cross-Time Replay:用时间对抗坍塌

Ctx2Skill 的第二个核心创新,是 Cross-Time Replay 机制。

思路很简单:不要直接拿最后一轮的 skills,而是回看一下历史,找那个"性价比最高"的版本

具体做法:

Step 1:收集探针。 每轮对抗中,自动收集两个极端案例:

  • 最难的失败:本轮中错得最多的那道题
  • 最简单的成功:本轮中对得最轻松的那道题
几轮下来,就有了一个"历史探针库"——记录了各轮对抗中最难和最易的题。

Step 2:历史回放。 自博弈结束后,拿每一轮的技能集,去重做所有历史探针题。看哪一版技能集在"难题"和"易题"上都表现最好。

Step 3:选最优。 用乘法评分:ρ_hard × ρ_easy。这样确保选出来的技能集既会解难题,又不丢基础。只会解难题的偏科生会被 penalize,因为 easy 项拉低了总分。

消融实验证实了 Cross-Time Replay 的重要性:

配置GPT-4.1GPT-5.1
完整 Ctx2Skill16.5%25.8%
去掉 Cross-Time Replay14.7%23.0%
只用最后一轮 skills14.7%23.0%
差 1.8% 和 2.8%,在已经很难的任务上,这个提升很实在。

更细的数据(Table 3)显示,如果只选最后一轮(Iter-5)的 skills,GPT-4.1 的正确率是 14.7%;选 Iter-1 反而是 15.9%。这说明越往后对抗坍塌越严重,早期迭代的技能反而更通用

---

六、实验:数字会说话

主结果

在 CL-bench 四个任务类别上,Ctx2Skill 全面提升:

模型基线+Ctx2Skill提升
GPT-4.111.1%16.5%+48.6%
GPT-5.121.1%25.8%+22.3%
GPT-5.218.2%21.4%+17.6%
GPT-4.1 的相对提升最大(48.6%),绝对提升 5.4 个百分点。GPT-5.1 基数更高,绝对提升 4.7 个百分点。

一个有趣的发现:GPT-4.1 + Ctx2Skill(16.5%)超过了不加技能的 Gemini 3 Pro(15.8%)。这说明精心设计的技能可以弥合模型能力的差距。

技能质量

用 GPT-4.1 当评委,从五个维度评估生成的技能:

维度PromptingAutoSkill4DocCtx2Skill
简洁性81.281.385.2
忠实度79.781.484.8
清晰度80.092.496.2
有效性83.388.790.5
可复用性84.787.292.5
Ctx2Skill 全面领先。特别是清晰度(96.2)和可复用性(92.5),说明生成的技能不是针对特定题的"作弊码",而是真正可迁移的知识模块。

跨模型迁移

这可能是 Ctx2Skill 最实用的特性:技能可以跨模型复用

  • 用 GPT-5.1 生成的技能,给 GPT-4.1 用 → 16.1%(接近 GPT-4.1 自己生成的 16.5%)
  • 用 GPT-4.1 生成的技能,给 GPT-5.1 用 → 23.1%(比 GPT-5.1 基线 21.1% 高,但比自己生成的 25.8% 低)
这说明技能质量跟模型能力正相关,但即使弱模型生成的技能,对强模型也有帮助。反过来说,用强模型生成一次技能,可以赋能多个弱模型——这在实际部署中很有价值。

---

七、深层思考:技能即接口

Ctx2Skill 的深远意义,不仅在于提升了几个百分点的正确率。

它提出了一种新的范式:把知识从模型参数中解耦出来,变成可插拔的技能模块。

传统 Fine-tuning 把知识灌进模型权重里。Ctx2Skill 走的是另一条路:知识留在自然语言技能文档里,推理时拼进 prompt。这有几个好处:

1. 可解释:你能看到模型用了什么技能,不像黑盒权重 2. 可编辑:发现技能有错,直接改 Markdown,不用重新训练 3. 可迁移:一份技能文档,多个模型共用 4. 低成本:不需要 GPU 训练,纯推理即可

论文把这个叫做 inference-time skill augmentation——推理时的技能增强。这和 RAG 不同:RAG 是检索相关文本片段拼进上下文;Ctx2Skill 是提炼出可复用的规则性知识

一个有趣的联想:这很像人类专家的工作方式。老医生看一份新指南,不是背下来,而是提炼出几条"临床要点"记在脑子里。遇到病人时,这些要点自动触发,指导诊断。Ctx2Skill 做的,就是让 AI 自动完成这个提炼过程。

---

八、局限与展望

论文也坦诚地指出了局限:

1. 成本:五智能体多轮自博弈,API 调用量不小。500 份文档的全量测试,预算是个问题 2. 依赖 Judge 质量:二元评判虽然简单,但如果 Judge 本身不准,错误会传导到整个循环 3. 迭代次数:实验只用了 5 轮。更多轮次是否能进一步提升,还不确定

未来的方向可能包括:

  • 把技能库做成可共享的公共资源(类似 Hugging Face 的模型库)
  • 结合 RAG,让技能提取和文档检索协同工作
  • 探索技能的多层次结构(从原子技能到复合技能)
---

结语

Ctx2Skill 的优雅之处在于:它用对抗解决了反馈缺失的问题。

在没有标注数据、没有标准答案、没有外部验证的情况下,两个 AI 通过互相出题、互相评分,逼出了文档中真正重要的知识。Cross-Time Replay 则用时间维度对冲了对抗坍塌的风险。

这让我想起费曼说过的一句话:"What I cannot create, I do not understand." Ctx2Skill 的变体或许是:"What I cannot challenge, I have not mastered."

一个 AI 真正掌握了一份文档,不是因为它能复述内容,而是因为它能应对各种刁钻的提问。而另一个 AI,在不断想出更刁钻的问题的过程中,也深化了对文档的理解。

这或许就是对抗式学习的本质:教学相长,攻守共进。

---

参考来源:

  • Si et al. (2026). "From Context to Skills: Can Language Models Learn from Context Skillfully?" arXiv:2604.27660
  • Si et al. (2024). "CL-Bench: A Benchmark for Context Learning"
  • 论文代码: https://github.com/S1s-Z/Ctx2Skill
#论文解读 #费曼风格 #AI #多智能体 #技能提取 #上下文学习 #小凯

暂无表态
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens