微信扫码
添加专属顾问
我要投稿
从复杂文档中提炼规则、流程与约束,让大模型真正掌握可复用的技能,Ctx2Skill提供了一种无需人工标注的自动化学习方案。核心内容:1. Ctx2Skill的核心目标与创新点2. 多智能体自博弈与跨时间重放机制3. 解决现实场景中复杂文档理解与技能迁移的挑战
一句话讲清楚👉🏻 Ctx2Skill 想解决的是一个很现实的问题:当大模型面对一份很长、很复杂、甚至完全超出参数记忆的文档时,能不能自己从里面提炼出“可复用技能”,以后遇到同类问题直接按技能办事,而不是每次重新硬读一遍上下文。
这篇论文来自清华大学、 DeepLang AI 、 UIUC 、复旦大学、香港中文大学等机构。论文题目是《 From Context to Skills: Can Language Models Learn from Context Skillfully?》,提出的框架叫 Ctx2Skill 。
它的目标不是再做一个更花哨的 RAG ,也不是让模型多背一点知识,而是把“上下文学习”这件事往前推一步:
更有意思的是,它不依赖人工标注,也不需要外部环境给出执行反馈。整个技能发现过程靠多智能体自博弈完成:一个模型负责出题,一个模型负责解题,一个模型负责判题;失败会推动 Reasoner 补技能,成功会推动 Challenger 出更刁钻的题。
听起来有点像“自己给自己出卷子,自己批改,自己总结错题本”。但论文真正难的地方在于:这种自博弈很容易失控。出题方越出越偏,解题方越学越窄,最后技能集看起来很厚,泛化反而变差。为了解决这个问题,作者又加了一个 Cross-Time Replay (跨时间重放) 机制,从不同迭代阶段里挑出最平衡的技能集,而不是盲目相信最后一轮。
大模型今天已经很会“读上下文”了。你给它一段文档、一段规则、一段代码说明,它常常能现场回答问题。
但问题也在这里:很多真实任务里的上下文,不是几段说明,而是长文档、多表格、多步骤流程、领域规则和隐含约束混在一起。比如:
这类任务要求模型做的不是“检索一句话”,而是理解一整套操作规范,然后迁移到新问题上。
论文把这种能力叫做 context learning (上下文学习) :模型要直接从给定上下文中学到相关知识,而这些知识可能并不存在于它的参数记忆里。
作者指出,已有路线有两个明显瓶颈。
第一,人工标注技能太贵。要把一份复杂上下文提炼成技能,标注者必须真正读懂整份材料,还要判断哪些规则重要、哪些步骤可复用、哪些例外不能漏。这个过程认知负担很高,规模化成本也很难接受。
第二,很多上下文学习任务缺少外部反馈。写代码可以跑测试,数学题可以对答案,游戏环境可以执行动作。但如果模型从一份长文档中抽出一条“技能”,我们很难自动判断它是否忠实、完整、可用。没有反馈,就很难自动优化技能。
Ctx2Skill 的切入点就是:既然没有人工标注,也没有外部反馈,那能不能让模型自己制造反馈?
Ctx2Skill 里最核心的设计,是一个面向技能优化的 self-play loop 。它不是简单让模型“总结一下文档”,而是让不同角色围绕同一份上下文不断对抗。
主要角色有三个:
另外还有两类辅助角色: Proposer 和 Generator 。 Proposer 负责诊断问题, Generator 负责把诊断转成具体技能修改。
这套流程可以拆成六步。
第一步, Challenger 出题。 它拿到原始上下文和自己的 Challenger 技能集,生成若干任务,以及每个任务的评分标准。注意,评分标准很关键,因为后续反馈都来自这里。
第二步, Reasoner 解题。 Reasoner 拿到上下文、任务和自己的 Reasoner 技能集,生成答案。
第三步, Judge 判题。 Judge 逐条检查评分标准。论文采用的是“全或无”的任务求解定义:只要某个任务有一个评分标准没过,这个任务就不算解决。
第四步,结果分流。 没答好的任务进入失败集合,答好的任务进入成功集合。
第五步,失败推动 Reasoner 学技能。 Reasoner 侧的 Proposer 分析失败案例,判断当前技能集缺了什么知识、规则或流程; Generator 再把这个诊断转成新的自然语言技能。
第六步,成功推动 Challenger 变强。 如果 Reasoner 已经能解决某些任务, Challenger 侧也会总结成功案例,更新自己的出题策略,下次更精准地探测 Reasoner 的薄弱点。
我认为这才是 Ctx2Skill 和普通自动总结最不一样的地方:它不是只训练答题者,而是连出题者也一起训练。
一套是 Reasoner 技能集 ,用来帮助模型理解上下文、解决任务。
另一套是 Challenger 技能集 ,用来帮助出题方生成更有效的测试任务和评分标准。
这就形成了一个动态对抗系统。 Reasoner 不断补自己的短板, Challenger 也不断升级自己的“考法”。如果只让 Reasoner 更新,任务很快会变得太容易;如果只让 Challenger 变难, Reasoner 又可能被压垮。论文的设计是让两边都进化。
我的理解是, Ctx2Skill 最像一个“自动化错题本系统”。区别在于,普通错题本只记录你错了什么,而 Ctx2Skill 还会让出题老师一起进化:当你掌握了旧知识点,老师会换一种角度继续考你。
很多人一听“技能”,可能会想到模型参数、 LoRA 、工具调用脚本,或者某种隐藏向量。但 Ctx2Skill 里的技能非常朴素:就是自然语言 Markdown 。
技能会被放进系统提示中,和上下文、任务一起输入模型。这样做有三个好处。
第一,可读。人可以直接检查模型到底总结了什么。
第二,可编辑。如果技能不对,理论上可以人工修。
第三,可迁移。自然语言技能不绑定某个模型内部结构,强模型生成的技能有机会给弱模型用。
这也是论文后面做“技能迁移”实验的原因:如果 GPT-5.1 生成的技能可以帮助 GPT-4.1 ,那说明技能里确实包含了可复用知识,而不只是某个模型自己的提示词偏好。
自博弈听上去很优雅,但它有一个天然风险:对抗会越来越极端。
论文把这个问题叫 Adversarial Collapse (对抗性崩溃) 。它大概会这样发生:
这很像刷题刷偏了:你可能越来越擅长某个老师的怪题,却不一定真正掌握了知识。
所以 Ctx2Skill 没有直接采用最后一轮技能,而是设计了 Cross-Time Replay 。
这个机制会在 self-play 过程中收集两类探针任务。
等自博弈结束后,系统会拿历史上每一轮的 Reasoner 技能集,重新在 Hard 和 Easy 两类探针上测试。最后选择同时兼顾困难任务和简单任务的技能集。
它不是追求“Hard 分数最高”,也不是追求“Easy 分数最高”,而是看两者的乘积。这样一来,牺牲简单任务去硬啃困难任务的技能集会被惩罚;只会做简单题、不敢碰难题的技能集也会被惩罚。
这个设计很朴素,但我觉得是整篇论文里最有工程味的一处:它承认自博弈会带来偏差,然后用历史回放去做选择,而不是相信“迭代越多越好”。
论文主要在 CL-bench 上做评估。这个基准专门考察模型在复杂上下文里的学习能力。
CL-bench 的规模不小: 500 个上下文、 1899 个任务、 31607 条验证标准。平均每个上下文包含 3.8 个任务,每个任务有 16.6 条标准。平均输入长度是 10.4K tokens ,最大达到 65.0K tokens 。
任务分成四类:
| 类别 | 上下文数 | 任务数 | 平均长度 |
|---|---|---|---|
| 领域知识 | 190 | 663 | 8.3K |
| 规则系统 | 140 | 566 | 12.2K |
| 程序执行 | 100 | 471 | 8.5K |
| 经验模拟 | 70 | 199 | 16.7K |
还有一个细节很重要: 51.1% 的任务是多轮顺序任务,需要依赖前面任务的回答。这意味着模型不能只做局部匹配,而要维持跨步骤状态。
评估也很严格。一个任务通常有很多条 rubric ,只要有一条没过,就不算解出。论文里也观察到, rubric 级别通过率远高于任务级别通过率,说明很多答案不是完全不会,而是经常漏掉某些细节。
这正是技能提炼可能发挥作用的地方:把容易漏的规则、步骤、约束提前整理出来。
论文把 Ctx2Skill 和两类基线比较:
在三个骨干模型上, Ctx2Skill 都带来了整体提升。
| 模型 | 基础 | Ctx2Skill | 提升 |
|---|---|---|---|
| GPT-4.1 | 11.1% | 16.5% | +5.4 |
| GPT-5.1 | 21.1% | 25.8% | +4.7 |
| GPT-5.2 | 18.2% | 21.4% | +3.2 |
如果只看相对提升, GPT-4.1 从 11.1% 到 16.5%,大约是 48.6% 的相对增幅。这个数字很醒目,但也要冷静看: CL-bench 本身很难,绝对求解率仍然不高。
所以我不会把这组结果解读成一次性能飞跃。它更像是在一个极难基准上证明:把文档先整理成技能,确实比直接硬读更稳。
同时也要看到,今天的大模型在长上下文、强约束、多步骤任务里仍然很容易漏细节。 Ctx2Skill 提高了天花板,但还远没把这类问题打穿。
不同任务类别里,程序任务执行的收益尤其明显。例如 GPT-4.1 在程序执行类任务上从 10.4% 提升到 17.6%,提升 7.2 个百分点; GPT-5.2 也从 19.1% 提升到 25.4%,提升 6.3 个百分点。
这很符合直觉:流程类、规则类任务最适合被整理成“如果遇到 A ,就按 B 步骤做;注意 C 例外”的技能。
性能提升之外,论文还评估了生成技能本身的质量,维度包括简洁性、忠实性、清晰性、有效性、可复用性。
这里的结果很有意思。 Ctx2Skill 不只是让下游任务分数变高,技能质量评分也超过 Prompting 和 AutoSkill4Doc 。
| 骨干模型 | Prompting | AutoSkill4Doc | Ctx2Skill |
|---|---|---|---|
| GPT-4.1 | 81.8 | 86.2 | 89.8 |
| GPT-5.1 | 90.7 | 91.5 | 93.6 |
| GPT-5.2 | 87.9 | 89.7 | 92.0 |
最明显的优势在清晰性和可复用性。换句话说,自博弈不是简单把文档压缩一遍,而是在不断被任务检验的过程中,把技能写得更像“可操作说明”。
这也是我觉得这篇论文值得关注的地方:它把“总结上下文”变成了“经任务压力检验的技能编辑”。两者差别很大。
消融实验能看出哪些组件真正有用。以 GPT-4.1 为例,完整 Ctx2Skill 的总体分数是 16.5%。
| 去掉什么 | 分数 | 下降 |
|---|---|---|
| 完整方法 | 16.5% | - |
| 无跨时间重放 | 14.7% | -1.8 |
| 无技能解耦 | 15.9% | -0.6 |
| 无 Challenger 演化 | 13.8% | -2.7 |
| 无 Easy 探针 | 15.7% | -0.8 |
| 无 Hard 探针 | 15.2% | -1.3 |
影响最大的是“去掉 Challenger 技能演化”,下降 2.7 个百分点。 GPT-5.1 上这个下降达到 3.3 个百分点。
这说明出题方不是一个辅助模块,而是整个系统的压力来源。 Challenger 如果不进化, Reasoner 很快就会在固定考法里局部收敛;只有 Challenger 持续升级,失败案例才会不断暴露新的缺口。
第二重要的是跨时间重放。去掉后, GPT-4.1 下降 1.8 个百分点, GPT-5.1 下降 2.8 个百分点。这个结果支持了前面的判断:自博弈会产生后期过拟合,最后一轮不一定是最好的。
还有一个细节: Hard 探针比 Easy 探针更重要,但两者都不能少。只有 Hard 会让系统追难题,只有 Easy 又容易保守;组合在一起才像一个健康的回放集。
论文还分析了 self-play 过程中任务、答案和技能集的变化。
以 GPT-4.1 为例,任务级解决率从 Iter-1 的 18.2% 上升到 Iter-5 的 23.3%,看起来 Reasoner 在变强。但失败率始终超过 76%,说明 Challenger 仍然能制造足够压力。
GPT-5.2 的现象更有戏剧性:任务解决率从 Iter-1 的 36.1% 下降到 Iter-4 的 23.0%,之后略微回升到 23.7%。这就是论文说的对抗性崩溃。强模型的 Challenger 可能更会“刁难”,导致任务复杂度上升过快。
任务长度也支持这个判断。 GPT-5.2 的 Challenger 任务平均长度从 69.1 词涨到 139.1 词,增长 101%。相比之下, GPT-4.1 增长 28%, GPT-5.1 增长 30%。
技能集字数同样一路上涨。 GPT-5.1 的技能集中位数从 Iter-1 的 1235 词涨到 Iter-5 的 6447 词。但跨时间重放最后选中的版本中位数是 3682 词,而不是最长版本。
这件事有一个很直接的启发:在智能体系统里,记忆和技能不是越多越好。过长的技能集会带来噪声、冗余和过拟合。真正有价值的是“恰好足够”的技能。
论文还做了跨模型技能迁移实验。
结果显示, GPT-5.1 生成的技能迁移给 GPT-4.1 后, GPT-4.1 的性能是 16.1%,只比使用自己技能的 16.5% 低 0.4 个百分点。
反过来, GPT-4.1 的技能迁移给 GPT-5.1 后, GPT-5.1 的性能是 23.1%,低于使用自己技能的 25.8%,差距 2.7 个百分点。
这说明强模型生成的技能更容易被弱模型复用;弱模型生成的技能虽然有帮助,但可能不够完整、不够抽象,不能充分释放强模型能力。
我觉得这个结果很有实际意义。未来如果企业要为复杂文档构建技能库,可能不需要每次都用最贵的模型执行任务,但可以用更强的模型离线生成技能,再让更便宜的模型在线使用。
Ctx2Skill 不应该被理解成 RAG 的替代品。它更像 RAG 前后的一个“技能层”。
RAG 解决的是“把相关内容找出来”。 Ctx2Skill 解决的是“把内容里的规则和流程变成可复用操作说明”。
举个例子,如果上下文是一份报销制度, RAG 可以帮你找出“交通费”“发票”“审批”的相关段落。但 Ctx2Skill 更像是整理出一份技能:
这种技能不是某一句原文,而是多段规则的组合。对复杂任务来说,这比单纯检索更接近人类处理文档的方式。
如果把 Ctx2Skill 放进真实产品,我首先会担心成本。
它更适合离线把高价值文档做成技能库,而不是每次用户提问时现场跑一轮自博弈。每个上下文都要多轮 self-play ,还要生成任务、解题、判题、更新技能,再做跨时间重放。论文设置中 N 为 5 , M 为 5 ,也就是每个上下文至少要经历多次多智能体调用。
第二,它依赖 Judge 质量。如果 Judge 对评分标准理解错了,反馈就会带偏技能演化。论文中 Judge 使用 GPT-5.1 ,并与 CL-bench 协议保持一致,但现实场景里 Judge 本身也可能需要校验。
第三,技能是自然语言,优点是可读,缺点是仍然可能含糊。对于强形式化任务,可能需要把技能进一步转成可执行规则、测试用例或工作流。
第四,提升幅度稳定但不是压倒性。 CL-bench 上绝对求解率仍然较低,说明长上下文复杂推理远没有被解决。
这篇论文最值得关注的,不是 GPT-4.1 提升了多少百分点,而是它提出了一种让模型“主动把上下文加工成技能”的路径。
过去我们常见的长上下文使用方式,是把材料塞进去,然后问模型问题。 Ctx2Skill 代表另一种思路:先让模型通过自我测试发现上下文里的可复用结构,再把这些结构沉淀成技能。
如果把它放到智能体系统里,这个思路很自然:
这其实已经接近“组织知识库自动技能化”的雏形。
我尤其喜欢 Cross-Time Replay 这个设计。很多智能体记忆系统都有一个问题:只会往里加,不会判断什么时候该停、该回退、该选择早期版本。 Ctx2Skill 用 Hard/Easy 探针给出了一种简单可执行的选择标准。它提醒我们,长期学习系统最难的不是记住更多,而是避免被自己的学习过程带偏。
Ctx2Skill 把上下文学习从“读完就答”推进到“读完、出题、自测、沉淀技能、再答”。
它的实验说明,在 CL-bench 这种长上下文、多规则、强约束任务上,技能化确实能提高模型表现;它的分析也说明,盲目自博弈会崩,需要跨时间回放这样的机制来做平衡选择。
如果未来的 AI Agent 真要长期服务一个团队、一个产品、一个业务系统,它不能每次都从零开始读上下文。它需要把经验沉淀成技能,也需要知道哪些技能仍然可靠,哪些技能只是对过去错误的过拟合。
从这个角度看, Ctx2Skill 的价值不只是“提高几个百分点”,而是给了我们一个更像学习系统的框架:自己出题,自己失败,自己总结,但也要学会回头看。
📄 论文页面
https://arxiv.org/abs/2604.27660
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-06-11
同样是一个Skill,凭啥有的skill卖5万?有的免费都没有用?
2026-06-11
装了一堆 Skill,为什么最后都删了?
2026-06-10
一文教你把 Kimi 调试为专业级法务AI工作台
2026-06-10
如何使用AI skill成为一个领域的大牛
2026-06-10
现在 AI 面试不会 Skill,基本很难过
2026-06-10
怎么写出一个「真会被用到」的 Skill
2026-06-10
把 Ant Design 规范做成 AI 设计 Skill,B 端设计提效的一次完整实践
2026-06-10
从工作流到Skill:律师如何把专业能力封装起来
2026-04-05
2026-03-17
2026-05-15
2026-03-26
2026-03-17
2026-04-09
2026-03-18
2026-03-16
2026-03-18
2026-05-24
2026-06-11
2026-06-11
2026-06-09
2026-06-08
2026-05-28
2026-05-19
2026-05-09
2026-05-08