论文链接:The Handoff Tax: Continuing Non-Native Trajectories in LLM Agents 发表时间:2026年8月 机构:AWS Agentic AI(Roy Ganz、Mor Shpigel Nacson、Adi Kalyanpur、Ron Litman,纯企业研究) 领域标签:cs.AI / 长程Agent、模型经济学、SWE-bench实证研究

一、论文背景

现代coding agent的工作方式是"马拉松"而非"短跑":一个任务往往横跨几十到上百次模型调用、工具使用和代码编辑。用户在选模型时面临经典经济学困境——贵模型解题能力强但每次调用都烧钱,便宜模型省钱但常常卡壳。更麻烦的是,用户必须在任务开始前就下注,而此时根本不知道这个任务实际需要什么能力水平。

好消息是主流coding工具(Kiro、Codex、Claude Code的/model命令)都已支持中途换模型:

  • 升级(escalation):便宜模型(LC,low-cost)先干着,发现卡住了就切到贵模型(HC,high-capability)救场
  • 降级(downshift):贵模型把硬骨头啃完,剩下的收尾杂活交给便宜模型省钱

但每次切换都有一个被忽视的深层问题:接手方必须继续一条"非本族轨迹"(non-native trajectory)——那是另一个模型写的推理、用的工具习惯、犯过的错误。这就像让一位作家续写另一位作家的小说草稿:文风不合、伏笔不明,甚至可能继承一堆死胡同。

这条继承的上下文到底帮忙还是帮倒忙?直觉上方向应该重要:HC接手LC的烂摊子可能被锚定在错误方向上;LC接手HC的工作可能"蹭"到高质量的铺垫——也可能力不从心。在本文之前,没有任何系统研究量化过这个代价。作者将其命名为Handoff Tax(交接税)。

二、论文定位和关联工作

本工作处在"LLM推理成本-质量优化"研究脉络的延长线上,但它切入的是一个所有人都在用、却没人测量过的空白。

模型级节约脉络:

  • 级联(Cascades):FrugalGPT、AutoMix等——低配模型先答,置信度不够再升级。局限:主要面向单轮QA,不处理"继承轨迹"问题。
  • 路由(Routers):RouteLLM、Hybrid LLM等按请求分配模型池。近期的多轮路由工作(MT-Router等)决定"下一步谁来做"。

最接近的三项先行工作:

  • SWE-Router(Son et al. 2026):用LC的部分轨迹决定"继续还是换HC重启"——但不传递轨迹,切换即重启;
  • Khraishi et al. 2026:研究一个模型续写另一个模型对话前缀的方向性漂移——但只在最后一轮、无接口变体;
  • KC & Budathoki 2026:研究agent接管被中断任务时的"再发现成本"——但其模型是作为"继任者"评估,而非有不同成本画像的LC-HC组合。
维度路由/级联研究SWE-Router本论文
切换时传递什么不适用(单轮)不传轨迹系统变化:全轨迹/摘要×2/只留代码
切换方向通常只有升级升级升级+降级双向
切换时机按请求学习得来难度校准的7档百分位扫描
评估规模——58配置×2家族=58,000次运行

定位结论:这是第一个对"长程coding agent中途换模型"做方向×时机×接口三维系统测量的研究。其独特贡献是把handoff从"路由问题的一个附件"提升为独立的推理系统设计问题——路由决定"谁来做",handoff接口决定"继承什么",两者必须联合设计。

三、问题定义

具体场景:coding agent跑到第K步,用户执行/model换模型。此刻磁盘上已有前模型的代码改动(工作树W_K),上下文里有前K步的完整轨迹T_1:K。接手方到底该看到什么?

论文的核心洞察是把这个问题抽象为一个信息继承的受控实验:固定工作树不变(所有接口都保留W_K——毕竟代码是劳动成果),只变化轨迹信息的传递量,形成四档接口:

接口传递内容类比
Raw完整轨迹T_1:K逐字移交把前任的工作日志一页页塞给新人
Compact_pre前模型自己写摘要,只传摘要前任离职前留了份交接文档
Compact_suf后模型读全轨迹自己写摘要再开工新人先翻完工作日志自己记笔记
Traj-drop轨迹完全不传,只给W_K+固定提示语新人只看代码现状,无视历史

形式化的问题定义:给定方向(升级/降级)×切换时机K(难度校准百分位{5,10,15,25,35,45,50})×接口(4种),测量每次handoff的端到端pass率、美元成本、步数,并用两个归一化指标回答"值不值":

  • QRec(质量恢复率) = (策略pass − LC pass) / (HC pass − LC pass):恢复了多少LC到HC的质量差距。0=LC水平,100=HC水平。
  • CSRet(成本节约保留率) = (HC成本 − 策略成本) / (HC成本 − LC成本):保住了多少LC的成本优势。100=LC成本,0=HC成本,负数=比HC还贵。

这个抽象的精妙之处:用匹配切换子集上的归一化锚点,把"7个切换点×2方向×2家族"的海量原始数据压到同一坐标平面上,直接可比。

四、问题解法

论文的"方法"就是一套严谨到罕见的实验基础设施,其设计本身就是贡献。

4.1 受控切换框架

  • 统一脚手架:mini-swe-agent,同一agent循环、同一Docker环境、同一Bash工具。切换只换模型,环境全程延续——保证工作树持久化。
  • 模型对:Claude家族(Haiku 4.5=LC / Opus 4.7=HC)和GPT家族(GPT-5.6 Luna=LC / Sol=HC),家族内升级/降级,避免跨家族混淆。
  • 切换点校准:直接用固定步数不可比(轨迹长短差异巨大)。作者按每难度桶内前模型步数分布的百分位设定切换点,避免了"简单任务提前完成导致的难度分布偏斜"这一隐蔽混淆。
  • 切换子集评估:只有真正发生切换的实例才提供handoff证据。比较限制在"四种接口下都触发了切换"的交集上,基线也在同一子集上重算——否则接口对比会被任务集合差异污染。

4.2 重启对照:更狠的问题

升级场景下除了四种接口,作者还构造两个重启对照(都为LC已干的活付钱,但丢弃其对话与代码改动,HC从原始任务状态重来):

  • Abort + HC fresh:付LC到第K步的钱,然后HC全新开始
  • LC-full + HC-full:付LC完整跑完的钱,再HC完整跑一遍

这两个对照回答的问题是:继承LC的任何东西,是否根本不如推倒重来?

4.3 成本记账

每次响应标记模型、调用序号、前后阶段;Compact的摘要调用费用计入handoff成本;成本按provider计价(含缓存读写)从token用量重构;150步上限;跑前后审计确保prefix/handoff/suffix成本与总额精确对账。36B token的账目能对到分毫不差,这是数据可信度的根基。

4.4 超越coding的扩展

为检验结论的边界,作者又引入两种信息动态不同的任务:

  • LiC(Lost in Conversation):需求逐轮揭示——切换时任务还欠定,接手方是第一个面对完整规格的模型
  • BrowseComp:问题先给出、证据靠搜索逐步积累

五、评估指标与实验证据

指标体系:主指标pass率(官方SWE-bench评测器判分)+ 美元成本;归一化指标QRec/CSRet;机制指标为后handoff步数与每步成本分解。

主表(SWE-bench Verified全500题,7切换点平均,匹配子集):

(a) 升级(LC→HC)

策略Claude pass%Claude成本$Claude QRecClaude CSRetGPT pass%GPT成本$GPT QRecGPT CSRet
LC-only60.70.40010058.70.060100
HC-only79.20.72100083.70.471000
Abort+HC fresh79.20.90100−5883.70.51100−11
LC-full+HC-full79.21.12100−13083.70.53100−15
Raw handoff69.21.6147−28567.50.363626
Compact_pre71.80.7560−1168.80.274049
Compact_suf69.60.9849−8268.80.434010
Traj-drop72.40.8164−3079.70.5084−8

(b) 降级(HC→LC)

策略Claude pass%Claude成本$Claude QRecClaude CSRetGPT pass%GPT成本$GPT QRecGPT CSRet
LC-only54.60.41010063.60.050100
HC-only75.80.85100085.80.471000
Raw handoff65.60.51508081.00.417914
Compact_pre66.80.52567879.80.437210
Compact_suf63.70.53427380.40.427513
Traj-drop60.90.59285975.40.435310

四大核心发现及证据链:

发现1:Raw升级是笔烂账。两家族QRec都不到50%(47%/36%),成本却是LC-only的4.0×/6.1×。Claude下Raw($1.61)被"Abort+HC fresh"($0.90)和"LC-full+HC-full"($1.12)严格支配——花更多的钱、解更少的题。这是全文最刺眼的数字:为LC的前半程买了单,还不如直接扔掉它。

发现2:降级是甜点区。Raw降级在两家族都拿到有利的中间点:Claude保住80%成本优势同时pass从54.6升到65.6;GPT保住79%质量优势。家族差异体现在平衡点:Claude偏省钱,GPT偏保质量(源于GPT对的HC/LC成本比约8×,Claude约2×)。

发现3:接口最优解随方向反转。升级时减少LC轨迹信息单调改善质量:Traj-drop把QRec从47%拉到64%(Claude)、36%拉到84%(GPT,bootstrap差异+12.2pp,CI [9.2,15.4]);降级时同样 Traj-drop 却变成最差接口(Claude QRec从50%掉到28%,差异−4.7pp,CI [−7.3,−2.1])。同一个接口,方向一换,从最优变最差。

发现4:难度与信息动态调节结论。困难任务上,三种减上下文接口成本都低于HC-only(CSRet 12-42%)且恢复65-74%质量——升级在难题上变得划算(探索性结论,样本小);LiC上升级QRec高达86%(接手方首次见到完整规格,决定性阶段交给HC是对的);BrowseComp上升级QRec=95.8%但CSRet=−30%——质量能追平,钱省不下来。

六、效果优势的根源解释

为什么同一个handoff接口在两个方向上表现反转?论文的成本机制分解给出了漂亮的答案——升级税和降级税走的是两条不同的计算通道。

升级税来自"更贵的单步":Claude升级中,Raw下post-handoff每个HC步的成本是Compact_pre的2.2×(GPT为1.6×),但两者HC步数相近。原因:全量LC上下文(含其错误推理与死胡同)把每次HC调用的输入膨胀得巨大——HC每次思考都要拖着LC的全部历史。这笔钱花在两方面:纯token开销 + 锚定风险(HC被LC的错误方向带偏,Raw质量低于Traj-drop也印证了这一点)。类比:新来的资深顾问每小时收费是别人的十倍,你却让他先花两倍长的时间读完前任的流水账——账单爆炸,还可能被流水账里的错误思路污染。

降级税来自"更多的步数":Traj-drop降级需要Compact_pre 1.6×(Claude)/2.0×(GPT)的LC步数,但每步成本相近。原因:抽掉HC轨迹后,LC接收者必须从工作树现状反推HC的思路——重新定位bug、重新理解改动意图。HC轨迹对LC是引导而非负担。类比:实习生接手架构师的代码,只给代码不给设计文档,实习生要花大量时间逆向工程"为什么这么改"。

两条通道的对照实验设计极其干净——同样是Raw vs Compact_pre的对比,升级方向差异体现在每步成本(步数不变),降级方向的Traj-drop差异体现在步数(每步成本不变)。方向二重性由此获得机制层面的解释:

升级:LC轨迹 = HC接收者的负担(膨胀调用+锚定错误)→ 减少它,质量和成本同时改善 降级:HC轨迹 = LC接收者的地图(省去逆向工程)→ 抽掉它,LC要走更多弯路

为什么Raw升级连重启都不如(Claude家族)?因果链:Raw下HC要为处理LC全轨迹付出每步2.2×的输入成本(总成本$1.61)→ 而Abort+HC fresh只需付LC半程的钱($0.90)就拿到HC原生质量 → LC轨迹中值得继承的信息价值 < 继承它的边际成本。Traj-drop的存在证明代码改动本身值得保留(QRec 64%>47%),不值钱的是LC的推理文本。

模型切换披露消融:往Raw里加一句"前面的工作是另一个模型做的"——pass率只从69.3微涨到70.5,成本反升,仍被Compact/Traj-drop支配。说明税不是心理问题,是信息结构问题——告知模型换人了并不能消除上下文本身的负担。

七、必要知识反推

领域知识层:

  • coding agent的运作机制(轨迹=推理+工具调用+观察的累积;工作树=磁盘上的持久代码改动)——不理解"上下文"与"仓库状态"是两种可分离的继承物,就提不出接口矩阵
  • API计费模型(输入/输出/缓存token分别计价)——每步成本分解依赖于此
  • SWE-bench Verified的评测方式(pass/fail判定、难度标注)——难度分层结论的基础

方法论知识层:

  • 匹配子集评估:切换只在未完结的运行上触发,比较必须限制在共同触发的交集上——否则选择偏差(简单任务从不切换)会污染一切结论。这是观察性研究里"可比较性"意识的直接迁移
  • 难度校准的切换点:按难度桶内百分位设切换点,规避"早完成的都是简单任务"混淆
  • 归一化锚点指标设计:QRec/CSRet把不同家族、不同切换点的结果压到同一[0,100]标尺
  • 支配分析:严格支配(更贵且更差)比统计显著性更能支撑工程决策
  • 任务级聚类bootstrap:任务间相关、任务内观测不独立的正确统计处理

工程知识层:

  • mini-swe-agent扩展为双模型wrapper(前/后模型切换、环境持续)
  • 成本审计基础设施:36B token的逐调用记账与对账
  • LiteLLM/Bedrock双端点接入、会话历史格式转换

知识融合的关键节点:最有创造性的融合是把"切换时机"从固定步数改为难度校准百分位——它需要同时理解(a)轨迹长度分布因模型而异、(b)百分位在全数据集上计算会引入难度偏斜。两股知识碰撞出的方案让7档切换点在两家族间真正可比。其次是成本分解(步数×每步成本)与方向对比的交叉——单独看任何一边都只能看到现象,交叉后才看到"升级贵在单步、降级贵在步数"的机制。

八、论文中可以提取的通用性灵感

灵感1:继承的信息 ≠ 继承的成本——分通道记账

  • 核心思想:移交"上下文"时,把信息价值和携带成本分开评估;同一信息对不同接收者价值符号可能相反。
  • 论文证据:LC轨迹对HC接收者是净负担(每步2.2×成本+锚定),HC轨迹对LC接收者是净资产(去掉后步数1.6-2.0×)。
  • 推广场景:新员工接管项目的交接文档设计;微服务迁移时历史数据的选择性继承;机器人换控制器时的状态映射;企业并购中的IT系统整合。

灵感2:默认接口往往是最差接口——别把"全部传递"当成零选项

  • 核心思想:系统的默认行为(逐字保留全部历史)常常是未经审视的;显式设计传递粒度可能同时改善两个指标。
  • 论文证据:Raw是所有agent产品的默认handoff方式,却在升级方向被严格支配。
  • 推广场景:API版本迁移的兼容层设计;上下文窗口管理策略;多agent系统的消息传递协议;版本控制中rebase vs merge的选择。

灵感3:二重性检验——同一干预在反方向条件下重跑

  • 核心思想:任何"X有好处"的结论都应检查其在相反初始条件下的表现,最优策略可能完全反转。
  • 论文证据:Traj-drop在升级方向是最优接口(GPT QRec 84%),在降级方向跌到最差(53%)。
  • 推广场景:A/B测试中分群反转效应检查;推荐系统的探索-利用参数对冷/热用户的双向校准;课程先修与后修的知识顺序效应。

灵感4:支配对照——给"继续"找个"推倒重来"的竞争对手

  • 核心思想:评估增量方案时,构造"丢弃沉没成本"的对照,检验继承的东西是否真的值回票价。
  • 论文证据:Abort+HC fresh以更低成本拿到更高质量,证明Claude家族Raw升级的沉没成本追缴是纯损失。
  • 推广场景:技术债务的"重构vs重写"决策;继续训练vs重训的模型迭代选择;中断任务的checkpoint恢复策略评估。

灵感5:任务的信息动态决定最优交接时机

  • 核心思想:交接的价值取决于"关键信息在切换时刻是否已经就位"——规格后到的任务适合强模型收尾,证据积累型任务交接能继承搜索进度但省不了钱。
  • 论文证据:LiC(需求逐轮揭示)升级QRec 86% vs SWE-bench 47%;BrowseComp升级QRec 95.8%但CSRet −30%。
  • 推广场景:多轮谈判中换主谈人的时机;接力赛交接棒的位置选择;流水线工位的人机能力匹配。