全文移交只收回一半质量差,Claude升级不如直接重启

The Handoff Tax: Continuing Non-Native Trajectories in LLM Agents

Roy Ganz, Mor Shpigel Nacson, Adi Kalyanpur, Ron Litman

cs.AI

2026-08-25

弱模型全文移交给强模型,Claude只收回47%质量差且比重启更贵;反过来降级能保住大半质量,费用低于强模型。

这篇在解决什么

写代码的 agent 一条任务能跑几十到上百步。用户在 Claude Code、Codex、Kiro 里已经能中途 /model 换模型:便宜模型卡住了就升级,难推理做完了再降级。产品把开关做出来了,代价几乎没人量过。

AWS Agentic AI 组把这件事拆开。换模型等于让接收方续写一条自己没写过的轨迹:措辞、假说、工具习惯、走错的死胡同全是别人的。强模型可能被弱模型的弯路锚定,弱模型可能靠强模型铺好的路往前走,也可能一离开那条路就散。他们把这种代价叫 handoff tax(移交税)。

方法

实验装在同一套 mini-swe-agent 上,工具和提示固定,任务是 SWE-bench Verified 的 500 道 GitHub issue。每个家族一对模型:Claude 是 Haiku 4.5(LC)对 Opus 4.7(HC),GPT 是 GPT-5.6 的 Luna 对 Sol。方向分两种:升级 LC→HC,降级 HC→LC。

切换点不按固定步数,按起始模型在各难度桶里步数分布的百分位,扫 {5,10,15,25,35,45,50}。太晚的百分位能切到的样本太少,没报。评测只看真正发生切换的交集,基线也在同一子集上算,避免「任务提前结束」混进结果。

所有策略都保留磁盘上的工作树,只改传给后缀模型的轨迹信息:

升级方向另加两个对照:付了 LC 的钱之后丢掉轨迹和工作树,让 HC 从原任务重开(Abort + HC fresh),以及跑完整个 LC 再跑整个 HC。

主指标是 pass rate、美元成本(含 cache 读写)、步数。再归一化成 QRec(收回了 HC 相对 LC 质量优势的百分之几)和 CSRet(保住了 LC 相对 HC 成本优势的百分之几)。每个家族 58 种配置,两家合计 58000 次 agent 运行、200 万次 API 调用、360 亿 token。

结果

设置Claude pass / 成本 / QRec / CSRetGPT pass / 成本 / QRec / CSRet
LC-only60.7% / $0.40 / 0 / 10058.7% / $0.06 / 0 / 100
HC-only79.2% / $0.72 / 100 / 083.7% / $0.47 / 100 / 0
Raw 升级69.2% / $1.61 / 47 / -28567.5% / $0.36 / 36 / 26
Compactpre 升级71.8% / $0.75 / 60 / -1168.8% / $0.27 / 40 / 49
Traj-drop 升级72.4% / $0.81 / 64 / -3079.7% / $0.50 / 84 / -8
Raw 降级65.6% / $0.51 / 50 / 8081.0% / $0.41 / 79 / 14
Traj-drop 降级60.9% / $0.59 / 28 / 5975.4% / $0.43 / 53 / 10

Claude 上 Raw 升级 $1.61,比重启 HC 的 $0.90 还贵,通过率还更低:付完 LC 的钱直接重开更划算。GPT 上 Raw 升级仍比 HC-only 便宜($0.36 对 $0.47),但只收回 36% 质量差。

接口随方向反过来。升级时少给 LC 轨迹更好:Traj-drop 把 Claude 的 QRec 从 47% 提到 64%,GPT 从 36% 提到 84%。降级时丢掉 HC 轨迹最差:Claude QRec 掉到 28%,GPT 掉到 53%。成本机制也不同:Claude 升级里 Raw 每步 HC 调用比 Compactpre 贵 2.2 倍;降级里 Traj-drop 让 LC 多走 1.6 倍步数。

难任务是个例外。Claude 在 hard 桶里,三种减上下文接口比 HC-only 便宜,CSRet 12%–42%,QRec 65%–74%;Raw 做不到。每格大约 24 条,作者自己标成探索性结果。

换任务形态,结论会翻。LiC 这种需求分片迟到的设置,Claude 升级 QRec 到 86%、CSRet 36%,降级只有 31% 和 53%。BrowseComp 上 GPT 升级几乎追平 HC(QRec 95.8%),CSRet 却是 -30%,比重启还贵。

为什么重要

产品里的「换模型」默认把整段对话塞给下一家,这篇说明那是个独立的推理问题,路由只决定谁上场,移交接口决定上场的人看见什么。写代码时工作树已经在磁盘上,弱模型的推理痕迹对强模型更像负担;强模型的推理痕迹对弱模型则是说明书。

可落地的启发式:卡住了要升级,优先压摘要或只留 diff,别原文粘贴;难推理做完要省钱,把强模型的轨迹留下再交给便宜模型。在 SWE-bench 这种规格一上来就完整的任务上,升级经常不如重开。需求后到的对话式任务,升级才更说得通。

局限与存疑

只测了两对商业模型、一个主基准。接口结论主要来自写代码,LiC 和 BrowseComp 只跑了 Raw。切换点按事先算好的百分位,不是根据进度自适应。hard 子集很小。每个任务每种配置只跑一轮,方差靠任务聚类 bootstrap。美元结论绑在当时定价和 prompt cache 命中率上。论文也没测同一条轨迹里多次切换。

术语

原文与代码

社区讨论

相关论文

全部论文解读