AI 编程推理与性能

画得出成本曲线,不等于压得下成本曲线

同样叫便宜其实是两件事

挑选模型阶段,许多团队都宣称自己的方案更加划算。但在真实工程里部署代码智能体,月底面对的账单依然居高不下。很多开发者以为换用更便宜的模型或者调短思考时间就能省钱,任务解决率却随之大幅下滑。这种反差在实践中很普遍,原因在于大家平时讨论的便宜,其实混淆了两种截然不同的动作。

我们可以画一张基础坐标图来理清思路。横轴代表单次解决任务的花费,纵轴代表任务成功率。把不同模型在各种配置下的实测表现标在图里,那些在各个花费区间取得最高成功率的点,连起来就构成了一条光滑的能力边界。在这条曲线上挑选一个偏向便宜的点,调用费用变低了,代价却是处理复杂任务的能力缩水,这只是向指标妥协的选点。另一种动作则是发力把整条分界线向外推开,保持花费不变却能搞定更难的问题,或者在成功率分毫不掉的前提下大幅节省开销。在系统工程分析中,这条由最优组合构成的能力边界称作帕累托前沿。

把曲线上的点挪到更便宜的位置只是选点,把整条曲线向外推移才是优化;SWE-2 做的是后者。

主流评测已普遍跟进这类表现的测量,例如 Artificial Analysis 编码智能体指数DeepSWE 评测榜单。2026年9月10日,开发编程助手 Devin 的团队 Cognition 正式发布新模型 SWE-2。厂商自报数据显示,在同一 Devin CLI、同一 FrontierCode 1.1 Main 任务集上,SWE-2 中等档位相比前代 SWE-1.7,得分更高,同时减少了 58% 交互轮次并节省 81% 成本。其训练设计的关键做法,在于把运行花销直接做进强化学习训练目标,旨在让少绕弯路成为模型自发的内在权衡。既然推开边界才是真正的便宜,那么这条边界究竟由系统的哪一层来决定?

在模型外面省钱绕不开天花板

回答边界由什么决定,首先要看跑一次编程任务的花费究竟在哪一步定下来。在日常工程实践中,团队通常在输入提示、推理生成、框架编排和商业定价这四个外围层次尝试控制预算。这些方案都在模型权重之外做文章,对应着不同的工程代价。

成本可以在提示、推理、编排、定价、训练五个层次优化,只有训练层能移动整条成本-能力曲线。

工程师最先尝试的往往是输入提示词。我们在系统指令里写明字数限制,反复叮嘱模型回答要简明、克制发散思考,试图用提示词管住探索步数。TALE 提示词预算研究 报告过这种做法平均能减少 67% 输出 token,像 Qwen3 思考参数配置 也支持直接关闭思考模式。然而文字叮嘱终究只是一种软性约束,面对棘手的代码报错,模型依然会冗长发散,多余的工具调用依然难以刹车。

既然提示词管不住发散,工程直觉就会转向生成途中的硬性拦截。团队监控思考代币消耗,一旦超过预设预算就强行结束思考并转入作答,例如 s1 实验 采取的强制思考预算截断;或者引入 Anthropic 的 提示词缓存功能,通过复用历史前缀压低输入计费单价。半途切断生成虽然能止住账单失控,思维中断的模型却往往无法写出完整的修复补丁,省下的代币换来的是任务失败。

在生成环节设卡容易搞砸任务,控制逻辑就会移向外部调度框架。Anthropic 总结了 上下文编辑与压缩机制 清理工具调用的历史冗余,其发布的 智能体工程实践 也强调精简上下文;路由框架 RouteLLM 则把简单请求分流给低成本小模型。这类路由方案本质上是在不同模型之间做任务转移,修剪上下文也有丢失关键代码状态的风险,没有降低单次推理本身的探索难度。

至于商业层面的包月套餐,抚平了账单波动,却没有减少服务器消耗的真实算力。这些外围手段都在模型外部修补围栏,无法改变模型自身的推理决策。要想把帕累托前沿向外推移,只能让模型自己学会权衡,把成本考量注入训练过程。

把成本写进模型的学习目标

既然外围手段推不动边界,就只能深入模型内部,改变它的训练过程。要让模型自己学会权衡成本,首先要理解它在训练中调整行为的机制。在后训练强化学习阶段,算法让模型反复试跑真实的编程任务,并对每次尝试给出一个量化打分。这个评估表现优劣的得分称作奖励。随后,系统把得分高低转化为指引参数调整的方向信号,也就是数学上的梯度。如果打分只看任务跑通与否,模型可能学到的策略是不计代价盲目试错、反复读取无关文件,因为只要碰巧做对一次就能拿满分。

为了扭转这种不顾代价的习惯,Cognition 研发 SWE-2 期间重构了打分公式,设计目标函数为 R = S − λ_e · C。公式中的 S 代表试跑结果,成功通过测试取 1,失败取 0;C 代表综合开销,将推理美元费用与运行耗时合并折算;λ_e 则是对应不同思考强度档位的惩罚系数。模型如果在无关探索上消耗过多时间和代币,综合得分就会因为扣分项而大幅缩水。

这种让花销直接化为扣分梯度的做法,与此前的探索形成对照。SWE-2 基于开源模型 Kimi K3 构建。Kimi K3 是月之暗面开源的 2.8 万亿参数混合专家模型,每 token 激活约 1040 亿参数,拥有 1M 上下文。Kimi K3 在控制成本时采用硬性配额:预设 token 预算上限,试跑超支直接判负。相比一刀切的硬拦截,SWE-2 的连续惩罚旨在让模型在每次调用中感知开销轻重,自发寻找更短代码修改路径。

厂商自报数据显示,面对相同任务分布,前代 SWE-1.7 平均需要 127 步,SWE-2 中等档位压缩到 53 步,高档位 80 步,最大档位 98 步;首次编辑代码的中位步数从前代的 48 步提前到 SWE-2 中等档位的 18 步。官方将其归因于聚焦式探索,模型更善于直奔关键代码。然而把开销写入目标只是开端,惩罚设计稍有偏差,模型就会迅速学会钻空子走捷径。

设计成本惩罚难在防止模型走捷径

把开销惩罚引入训练信号之后,最大的挑战在于防止模型走投机捷径。强化学习算法寻找规则漏洞的本领极强,如果设计者没想清楚惩罚项的数学性质,模型就会通过敷衍任务来赚取虚假收益。Cognition 在实践中做出了三个关键设计取舍,化解了三个潜在的偷懒漏洞。

第一个取舍关乎惩罚形态。如果采用越往后越重的非线性惩罚,模型在长流程任务中,一旦发现后期扣分严厉,就会倾向于草草交卷放弃排查。为了解决这个问题,Cognition 在 技术报告附录 B 中借助詹森函数方程推导,指出若要对任意 rollout 分布,期望奖励都只依赖平均成本与平均成功率,打分函数对成本必须满足仿射关系。将其归一化后,形式正是简单的线性惩罚 R = S − λC。开源基准 OckBench 则主张对数惩罚,说明行业内对扣分形态尚未形成统一共识。

第二个取舍关乎惩罚系数的设定。同一个模型可以有省着想和使劲想多种思考模式,也就是不同的思考强度档位。如果系数凭工程师感觉调节,模型容易在档位之间偷工减料。Cognition 官方技术报告披露过失效案例:高档位惩罚系数如果过大,模型会把高思考强度档位表现得像中等档位一样保守,省下的开销抵消了成功率下滑,账面奖励看似上升,实际能力边界却没有向外推移。为了化解这一漏洞,Cognition 将惩罚系数 λ_e 锚定在基座模型成本成功率曲线的局部切线斜率上。这样能确保等奖励线与该处的帕累托前沿相切:模型单纯沿着曲线小幅滑向低成本档位对奖励的一阶影响为零,目标是鼓励把前沿向外推开以真正获益。

第三个取舍关乎多档位模型的训练架构。常规工程通常针对不同难度单独训练多套专家模型,随后通过蒸馏合并为一个系统。例如 Kimi K3 曾训练九个专家再做蒸馏融合,容易在知识压缩阶段产生损耗。SWE-2 采用单次强化学习覆盖所有档位,让单一模型学会适应多种思考预算,并沿用长度加权奖励基线稳住梯度方差。即便在数学形态与训练架构上做足了防范,这种把成本写进网络权重的方案,依然有着无法触及的客观边界。

省下来的成本边界在哪里

即便在防范走捷径上做足了设计,我们依然需要跳出厂商自报的数据,审视这套机制在哪些场景下会失效,以及证据链条上存在哪些难以自洽的空白。结合公开评测与第三方实验,这套方案面对极端难题与长流程任务,暴露出多处显著的工程边界。

首要局限出现在难度极高的复杂任务上。e1/AEC 论文 指出,固定惩罚系数设定下,面对成本惩罚超过预期成功收益的难题,模型的最优数学策略其实是及早认输。因为一旦展开大规模试错与搜索,持续累积的扣分会吞噬微小成功带来的收益;为了保住期望得分,模型最理性的选择反而变成放弃尝试。

另一个疑问在于效率提升的归因难题。官方技术报告中缺乏去掉成本惩罚项的对照实验,唯一的消融对比仅针对奖励基线的计算形式。与前代相比,SWE-2 换上了实力更强的 Kimi K3 作为基座。SWE-2 能够更早定位关键代码,这种效率跃迁很难与基座模型本身代码理解能力的提升清楚剥离。官方将步数缩减归因于聚焦式探索,但未证实这种改变有多大程度依赖基座模型对代码语义的理解力。

面向长流程任务,局限更加明显。在包含大量系统交互的基准测试 Terminal-Bench 4 上,按 Cognition 自报表,SWE-2 仅取得 27.3% 通过率,落后于 Claude Fable 5.1 的 55.8% 与 GPT-6 Astra 的 57.9%。这一差距属于跨模型、跨 harness 的表现差异,不能作为因果结论。这提示,面对步骤繁复的深水区任务,单纯强化短路径探索未必足以弥补复杂推理能力的差距。

在自家主导的 FrontierCode 1.1 Main 评测 中,SWE-2 取得 50.0% 通过率,厂商打出了平均每次 rollout 比 Claude Fable 5.1 便宜 64% 的宣传。然而该基准不公开题目细节,评测体系本身也没有将开销计入最终得分,外界难以独立复现任务成绩。

此外,脱离测试环境孤立讨论成本数字,极易让指标失去参考锚点。独立调研在 测试环境效应 分析中发现,同一批任务更换外围脚手架,摊到每解决一题的代币消耗就可能相差约 40 倍。看清这些客观边界,才能理性评估这项成果的实质价值。

成本从一个旋钮变成一种习惯

看清了训练层控制开销的具体机制与现实局限,我们才能客观衡量这项探索给智能体开发带来的实质转变。从外围修饰走向内核演进,代表着软件工程在控制资源消耗这一方向上迈出了关键一步。

回顾以往的工程习惯,控制开销的重担落在开发者肩上。工程师日常调用模型往往扮演预算管理员的角色:在请求参数里反复调整思考档位旋钮,在系统提示词里写入严格字数限制,或在网关中间件中维护繁琐的路由与上下文修剪逻辑。那种模式下,模型对计算资源代价缺乏感知,节省开销只能依赖外部防线层层设卡。

SWE-2 展现的路径,则是尝试把节约资源的考量直接刻进模型的网络参数里。其训练目标是通过在强化学习阶段建立持续的开销反馈,让模型把克制低效尝试、优先阅读关键代码培养成无需外部提醒的习惯。这种让开销变成内在权衡的做法,旨在减少系统对外围工程手段的过度依赖。

这种训练路径的转变,同时也把一个更深层的工程难题摆在所有从业者面前。智能体的核心魅力在于面对未知挑战展开自主探索,如果对计算成本的惩罚过于僵硬,容易过早掐灭模型在深水区推理的火花。如何在避免漫无目的挥霍资源的同时,给复杂的逻辑突破留出足够的试错空间,依然是整个行业在通往实用化道路上需要持续解答的命题。

鸭哥每日手记

日更的深度AI新闻和分析