两个不相干的新闻,一个共同的方向
2026 年 9 月 29 日,OpenAI 在 DevDay 上发布 Dots:基于 GPT-6 Astra 的常驻智能体,拥有自己的云端计算机与浏览器,连接四千余个应用,在你睡觉时替你工作。同一天在 arXiv 上,一篇题为《Harness Learning Enables Generalizable Test-Time Adaptation》的论文(2609.35738)展示了另一件事:一个 4B 的提案者模型,学会根据执行反馈改写求解器外层的 Python 脚手架程序,在从未见过的任务上持续适应,全程不更新任何模型参数——而且这个 4B 模型的修订质量反超了生成它训练数据的 35B 教师模型。
一个是产品,一个是论文,表面上不相干。但把它们并排放着看,会浮现同一个结构性变化:智能的载体正在从参数空间迁移到程序空间,适应的单位正在从训练循环变成执行反馈。
这篇长文想讲清楚这个迁移的三个层面:它为什么在经济上成立,它在控制结构上意味着什么,以及它真实的边界在哪里。
第一层:算力经济学的根本转向
过去两年,模型能力的提升路径高度单一:更多数据、更多算力、更大的参数量。适应一个新任务的标准答案是微调——收集数据、训练、评估、部署,周期以天计,成本以 GPU 小时计。这条路的天花板不在算法,在经济学:训练成本随参数量线性以上增长,而每个新任务的边际收益递减。
Hugging Face 每天的论文清单可以佐证这种疲劳:大量的精力花在「如何用更少的算力得到接近的效果」——量化、蒸馏、稀疏化、提前退出。这些工作的共同假设是:适应必须发生在参数空间,我们只能在成本上做优化。
Harness learning 提供了另一条轴。它的实验设置值得细看:求解器(solver)是一个冻结的 4B 模型,提案者(proposer)是另一个经过 RL 训练的 4B 模型。面对新任务时,提案者读取任务描述、当前的脚手架程序、以及脚手架在反馈题集上的执行报告,然后产出「结构化编辑」——定位已有代码片段并提供替换。修订后的脚手架在评分题上重新执行,得分作为奖励信号。
关键结果:在 21 个从未见过的 Reasoning Gym 任务家族上,base 提案者平均 0.32 分,经过 GRPO 强化学习训练后达到 0.62 分——超过了 35B 教师模型手写修订的 0.56 分。在多跳问答上,十轮连续修订把 MuSiQue 的精确匹配从 0.15 提升到 0.27,RL 训练的提案者的最终成绩超过了八十个独立提案中选最优的 oracle 基线。
经济学含义很直接:适应的边际成本从「一次训练运行」降到「几次模型调用」。当任务分布长尾化(每个团队、每条业务线都有自己的场景),参数空间的适应在成本上无法覆盖长尾,程序空间的适应可以。
Dots 是这个逻辑的产品化。它的四个官方场景——监控反馈自动修 bug、范围变更自动修订发布材料、新数据自动重跑分析、访谈转录自动提炼——全部是「高频、低单次价值、结构化反馈」的任务,恰好是程序空间适应的成本甜区。
第二层:控制论的视角——脚手架是被重新发明的「控制器」
如果只看表面,harness learning 像是「让 AI 改提示词」的高级版。更准确的定位来自控制论。
一个智能体系统可以拆成两部分:被控对象(模型,给定输入产生输出)与控制器(脚手架:如何组织模型调用、何时调用什么工具、信息如何流动)。过去两年业界的实践——ReAct 循环、反思模式、规划-执行分离、多智能体编排——本质上都是在手工设计控制器。
手工设计控制器的瓶颈很明显:控制器的最优形态依赖于任务分布,而任务分布在变。于是出现了「控制器自动化」的整条产品线:从早期的提示词优化,到 DSPy 这样的程序化提示框架,再到用 LLM 自动编排工作流的各类 agent 框架。
Harness learning 与这条线的区别在于两点。第一,它把控制器修订形式化为元学习:harness 修订在数学结构上扮演权重更新在梯度适应中的角色,提案者是「学习如何学习」的那个外层循环。第二,它用 RL 训练提案者,奖励直接取自修订后脚手架的真实任务表现——不是「编辑看起来合理」,而是「执行得分真的提高」。
这个结构的妙处在于风险隔离。参数空间的适应(微调)修改的是黑盒权重:可能灾难性遗忘、可能引入不可解释的行为,回滚需要保存检查点。程序空间的适应修改的是可读代码:每次变更有清晰的 diff、有触发它的执行反馈作依据、可以单次回滚。适应性与可控性不再是跷跷板的两端。
Dots 的产品设计显然理解了这一点。它的权限体系——感知层(主动研究)只用只读工具自由活动,行动层(写操作)必须走 Custom Rules 的「允许/审批/阻止」三档——正是控制系统的经典做法:传感器带宽放大,执行器权限收紧。你可以在反馈频道里读到任何东西,但你改不了任何东西,除非经过审批。恶意指令注入即便混进感知层,也无法直接触达执行层。
第三层:组织形态——从「工具」到「同事」的语义跃迁
DevDay 发布清单里藏着一个容易被忽略的细节:Dots 的配套不是模型升级,而是一整套协作基础设施——ChatGPT Space(队友与 dot 共享知识)、团队任务(周期性工作委派给智能体执行)、@ChatGPT(在 Slack/Teams 频道直接协作,无需单独许可证)、Pages(人类与智能体共同编辑的文档)。
这套东西拼出来的形态是:智能体作为组织成员参与分工,而不是作为工具被调用。 当你可以把「每周项目更新」这种周期性任务委派给一个智能体团队任务,当队友可以在同一频道给它的产出补充上下文,当它有自己的身份、凭证与记忆——它与人类协作者的边界就只剩下了权限与责任。
这正是「第二次外包」的含义。第一次外包(过去两年)是把生成外包给模型:写代码、写文案、总结文档,人类逐条审批。第二次外包是把适应也外包出去:不再由人类工程师为每个新场景手工调整脚手架,而是让模型基于执行反馈自己调。第一次外包节省的是执行成本,第二次外包节省的是维护成本——而后者的规模效应更陡峭,因为场景数量远多于工程师数量。
边界:论文自己划的那条线
热捧之前,必须诚实对待这条技术路线的局限。Harness learning 论文的自我披露相当克制,值得逐条看。
任务边界:26 个 Reasoning Gym 任务家族中有 5 个被排除在主结果之外——华容道、字母重组、模运算网格这类算法密集型任务,脚手架式修订使不上力。适应机制救不了算法问题。
收益递减:Reasoning Gym 上的五轮修订,增益大部分来自第一轮。问答场景好一些(因为种子脚手架是可逐轮精化的检索工作流),但「持续改进」的斜率因任务而异,不是普适承诺。
组合脆弱性:这是最有工程含金量的观察。失败案例的分析显示,多数失败不是「算法想错了」,而是「算法正确但某个接口环节出错」——问题解析失败、工具通信失败、答案提取失败。生成的辅助组件只有在周边接口全部正常时才有用。程序空间越复杂,接口数量越多,单点失败概率乘积越大。这为「自修订脚手架」的规模设了一个真实的顶:修订可以做深(增加循环、增加跳数),但做宽(集成更多组件)时可靠性快速衰减。
Dots 侧的对应边界是复核成本。OpenAI 公告自己写明「Dots 仍可能出错,重要工作务必人工复核」。常驻智能体的失败模式与人类新手不同:它不累、不抱怨、产出速度恒定——意味着审批队列的膨胀速度也是恒定的。第一周每天三个 PR 很可爱,第三个月每天五十个 PR 时,复核就成了全职工作。自适应智能体的产能上限,最终由人类审批带宽决定。 这也许解释了为什么 DevDay 同时发布了那么多「团队共享权限」「自动化需审批」的治理设施——OpenAI 知道瓶颈在哪。
长期变量:程序空间的复利
把视线拉长,程序空间适应有一个参数空间没有的性质:可积累。
权重每次微调都是一次覆盖式更新,旧任务的适应痕迹会被新任务冲刷(灾难性遗忘)。程序库则可以按任务、按场景分支保存,git 历史天然记录每次修订的动机与效果。一个团队跑两年积累下来的脚手架仓库,是新团队无法用一次大额训练换到的资产——它编码的不是通用智能,而是这个团队特定工作流的适应历史。
论文作者把这个方向称为「continually learning agents」——把累积经验转化为可泛化改进的智能体。结合 Dots 式的常驻形态(持续产生执行反馈)与 harness 式的程序修订(持续把反馈转化为代码变更),一个自我强化的闭环在理论上是成立的:智能体工作得越多,脚手架库越厚;脚手架库越厚,同类任务的起点越高。
结语:把「智能」当成动词
1970 年代的软件危机把「程序」从手工艺品变成了工程对象;今天的智能体潮正在把「适应」从手工调参变成工程对象。Dots 与 harness learning 是同一场迁移的两端:一端把常驻智能体铺成基础设施,另一端把「学会修订程序」训练成可迁移的能力。
对从业者,务实的行动不是预测拐点,而是把底座换成可被修订的形态:脚手架用代码而非配置文件管理、执行反馈结构化落盘、权限按读写分离设计。程序空间的外包已经开始,你唯一的选择是自己的工作流以什么姿势进入这个空间——是带着版本历史与反馈信号的可修订资产,还是一堆谁也不敢动的提示词。