让 AI 学会自己变聪明:ModularRSI 把「改提示词」变成了可调试的工程流水线
- 关联论文:2609.14857
Agent 翻车了,你改改提示词、塞段 few-shot,它好像聪明了,换个基准又打回原形。更扎心的是——你根本说不清它是真的变好,还是只是学会了讨好那套考题。
ModularRSI 这篇论文的起点很反常识:真正拖住 Agent 的,常常不是模型的智商,而是外面那层「执行机制」,也就是 Harness。
为什么重要
Harness 是包裹着模型的运行骨架:Agent Loop 怎么推进状态机,Tool Use 怎么选工具填参数报错重试,Observation Management 怎么清洗截断环境返回值,Context Management 怎么压缩召回上下文,Task Completion Detection 怎么判断「这活儿干完了没」。
过去这类自我改进(RSI)在 SWE-Bench、TerminalBench 上接连刷分,但论文点出三个老问题:
基准特化。 拿评测集去跑自我改进,涨的往往是对这套考题的过拟合,换个基准就垮。
归因混淆。 拿一条成功轨迹反推「为什么这次跑通」,分不清哪部分是系统性 Harness 缺陷,哪部分只是这题的特殊解法,补的补丁迁移性极差。
单体归因困难。 传统 Harness 是一坨整体代码,bug 藏在角落,全局优化牵一发动全身。
核心机制
一、对比聚合。 同一题采成功与失败两条轨迹,跨任务配对比较,聚合成「反复出现的行为缺陷」。单次对比全是噪声,只有跨任务聚合,才能把「这题的小聪明」和「Harness 真缺的能力」分开。
二、模块化解构。 把 Harness 明确切成上面那 5 个功能模块。这一步可能比涨点更值得抄——它让「调 Harness」从玄学变成「调某个模块」,可以单独 A/B、单独回归。
三、受限进化。 每个模块划定自己的「允许修改范围」:Context Management 大概只让动压缩策略、召回阈值;Tool Use 只让动重试次数、参数校验、工具打分。模块隔离进化,切断了「改 A 顺带带偏 B」这条痛点,也让每次涨点能归因到具体改动。
四、集成回归。 5 个改过的模块拼回完整 Harness,显式解决接口冲突(比如 Tool 要了新字段,而 Context 还在按旧格式裁剪),在进化集上回归,跑挂就单模块回滚。
关键在最后这层:论文从外部来源策划了 2,000 个可执行任务,强制与下游评测基准不相交(benchmark-disjoint)。相当于让进化阶段「不知道」下游要考什么,这才是防基准特化的硬约束。
论文也坦诚:对比聚合在 RLHF 里早有,模块化 Harness 在 OpenHands、LangGraph 里也有,benchmark-disjoint 在 self-play 里不新鲜。贡献在于把三件事第一次显式组装成一条完整流水线。
证据边界
摘要没给出 TB2.0 与 SWE-Bench Verified 的逐项对比数字,只给了「consistent improvements」和「可跨底座模型迁移」这类方向性表述。想引用具体百分点,得回 PDF 实验段。
同样未披露的还有:2,000 任务进化集的策划标准与实际重叠率、集成阶段冲突解决的具体规则、5 模块划分的对照消融。也未讨论「改 Harness」与「改模型权重」的协同。
摘要不给数字,就意味着你无法用这篇论文做横向对比表。
工程局限
模块边界是人为划分,Tool Use 与 Observation Management 的接口切得够不够干净,论文没给消融,实现时大概率要自己重调。
成本更现实。跑通流水线意味着要同时维护成功/失败双轨轨迹日志、逐模块沙盒进化、集成回归——这是持续在线的基础设施,不是一次性脚本。任务数不足时缺陷排名就不稳,整套方法的信噪比会塌。
还有个隐蔽风险:如果你的内部任务池本身与线上评测重叠,你以为在泛化,其实在特化,而且很难自查出来。
该怎么用
只带走一句:别再把 Agent 翻车默认归因为「模型不够聪明」,先问是 Loop、Tool、Obs、Ctx、Done 哪个模块的问题。 这条复盘路径比换模型便宜得多。
工程上能立刻抄三件:那份五模块划分,直接当调试检查单;建一份与线上评测不相交的内部回归集(2,000 缩到几百也够);把「每次 PR 只准改一个模块的一个维度,改完必须过回归」写进流程——这条纪律本身就是归因能力的前提。
验收可以用「换底座后是否仍涨」当硬指标。只在某个模型上有效的优化,大概率是把模型偏置学进去了。
标题变体(三选一)
- 让 AI 学会自己变聪明:ModularRSI 把「改提示词」变成了可调试的工程流水线
- 为什么你的 Agent 换个基准就垮?问题可能不在模型,而在它外面那层「骨架」
- 只改 5 个模块就让 Agent 变强:一个把「自我改进」拆开算账的流水线
小红书卡片文案
标题:让 AI 学会自己变聪明,但它先得学会「改哪一块」
正文:
Agent 翻车了,你改改提示词、塞段 few-shot,它好像聪明了,换个基准又打回原形。更扎心的是——你根本说不清它是真的变好,还是只是学会了讨好那套考题。
ModularRSI 的起点很反常识:拖住 Agent 的常常不是模型的智商,而是外面那层执行机制——Harness。
四步流水线:
1️⃣ 对比聚合:同一题采成功+失败两条轨迹,跨任务配对,聚合出「反复出现」的行为缺陷。单次对比全是噪声。
2️⃣ 模块化解构:切成 5 块——Agent Loop(主循环)、Tool Use(工具调用)、Observation Management(观测清洗)、Context Management(上下文压缩召回)、Task Completion Detection(完成判定)。
3️⃣ 受限进化:每块划自己的「允许改动范围」,互不干扰地独立进化。改 A 不再顺带带偏 B。
4️⃣ 集成回归:拼回完整 Harness,显式解接口冲突,跑挂就单模块回滚。
🔑 真正的杀招:论文从外部来源策划 2000 个可执行任务,强制与下游评测基准【不相交】。等于让进化阶段「不知道」下游要考什么——这才堵住自我改进最常见的自欺路径。
但得说实话 ⚠️ · 摘要没给 TB2.0 / SWE-Bench 逐项数字,想引用得回 PDF · 2000 任务怎么策划的、集成冲突怎么解的,都没披露 · 模块边界是人为划分,没给消融 · 跑通要维护双轨轨迹日志 + 逐模块沙盒 + 集成回归,是持续在线的基础设施,不是一次性脚本
💡 最值得抄的一句: 别再把 Agent 翻车默认甩锅给「模型不够聪明」,先问是 Loop / Tool / Obs / Ctx / Done 哪个模块的问题。
这条复盘路径比换模型便宜太多。真要抄,先把 5 模块做成失败定位单:每次任务失败强制填一遍。
你更想看哪个模块的细节?评论区蹲一个 👇
标签:#AI #Agent #大模型 #论文解读 #Prompt工程 #人工智能 #自我改进