How I cut coding agent costs with model and harness routing

TL;DR · AI 摘要
通过模型选择和Harness路由策略,编码代理成本可从每轮100美元降至15-20美元,关键在任务分工与成本计算方式。
核心要点
- 使用Kimi K3 Max替代Opus 5后,Slack bot任务成本从100美元降至15-20美元。
- 编码代理成本由模型选择与Harness路由共同决定,需区分前沿模型与辅助任务分工。
- 成本评估应基于每项接受任务的总成本(含重试/人工验证),而非单次模型调用费用。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 编码代理成本优化
- 模型选择
- 前沿模型用于判断
- Harness路由
- 控制上下文发送量
- 工具输出总结
- 成本计算
- 总成本/接受任务数
金句 / Highlights
值得收藏与分享的关键句。
将主循环移至Kimi K3 Max,委托辅助工作给低成本模型,成本从100美元降至15-20美元。
Harness控制上下文发送量、工具输出总结方式,直接影响模型调用次数与成本。
Composio评估显示,相同模型在不同Harness下成本差异达2.7倍。
通过模型和路由策略降低编码代理成本的方法 - Arize AI
作者注:模型会不断更新,当你阅读本文时,可能已经在尝试下一个版本(如Astra或Fable 5.1)。但无论选择哪种模型,本文中的经验都具有参考价值。
我是Arize实验团队的软件工程实习生,因此经常测试Claude Code、Codex、Cursor、OpenCode、Pi等编码代理工具。我从一个实际问题开始这些实验:在相同的AI预算下,能获得多少有用的工程工作成果?
我们的一项常规工作流程是每天运行一个Slack机器人,用于查找关键性错误并创建拉取请求。从头到尾运行Opus 5的成本约为每次100美元。当我将主循环迁移至Kimi K3 Max,将辅助工作委托给成本更低的模型,并保留Opus 5作为顾问时,相同的工作流程成本降至每次15至20美元。尽管难以量化与之前方法相比的发现质量,但我们仍然继续合并来自该流程的拉取请求。
这次实验让我对编码代理的经济性产生了更多兴趣。一次运行包含多种类型的工作,每种工作对模型的要求不同。规划不熟悉的变更可能需要前沿级别的判断,而查找相关文件、总结测试输出或进行简单编辑可能不需要。
我目前的规则是:将前沿级别的token用于判断,然后评估整个工作流程是否仍能产生可接受的结果。
编码代理成本取决于整个运行过程
初始公式很简单:
total model cost = per-token price × token usage价格表仅描述了账单的一部分。输入、缓存输入和输出token可能有不同的费率。长上下文可能进入另一个计费层级。单个请求可能在代理读取文件、调用工具、委托工作、重试失败和审查结果时触发多次模型调用。
账单驱动因素是:每token价格乘以token使用量,按你选择的模型和运行的代理进行分配。
代理工具至关重要,因为它控制模型的使用方式。它决定发送多少仓库上下文、是否总结工具输出、允许多少子代理运行、何时重试以及何时判定任务完成。
Composio在相同模型上对四个代理工具进行了30个代理任务的评估。通过次数在14到17之间,而每个成功任务的成本差异高达2.7倍。我认为这是一个方向性结果而非绝对排名,但它说明了仅凭模型价格无法进行完整比较。
我关注的指标是每个被接受任务的成本:
cost per accepted task =
total cost of attempts, retries, reviews, and human validation
÷
number of tasks that meet the acceptance criteria对于编码代理来说,接受标准可能意味着测试通过、变更符合规范且审查者愿意合并拉取请求。对于安全工作流,可能意味着人工确认发现结果。
每个Intelligence Index任务的输出token,答案token与推理token对比。来源:Artificial Analysis。
DeepSeek V4 Flash在四个代理工具上执行30个代理任务的表现。来源:Composio代理评估。
两种对我有效的模型路由模式
一个典型的编码代理运行包括规划、仓库探索、实现、验证和审查。当这些阶段具有不同的推理需求时,路由机制变得有用。
两种路由架构:一种是拥有低成本子代理的前沿协调器,另一种是拥有前沿顾问的低成本协调器。
模式 1:前沿协调器与低成本子代理
在此模式中,前沿模型负责制定计划并协调整个运行过程。低成本子代理处理需要大量计算资源的任务,例如定位文件、检查代码、总结现有行为以及进行常规修改。
该架构的一个版本使用 GPT-5.6 Sol 作为协调器,Terra 子代理作为执行者。简化后的指令如下:
在父代理中保留规划和架构决策。
委托处理:
- 仓库探索
- 文件发现
- 现有行为摘要
- 直接实现
在生成最终补丁前审查子代理的输出。这是一个概念性示例而非实际生产提示。委托语法和子代理行为会根据执行环境有所不同。
当初始计划较弱会导致后续所有工作成本增加时,我会采用这种模式。协调器接收任务,决定如何拆分任务,并评估返回的工作结果。
模式 2:低成本协调器与前沿顾问
在第二种模式中,一个能力较强的低成本模型驱动主循环。前沿模型在定义的检查点审查计划、解决不确定性或验证提议的更改。
一个实现方案使用 Kimi K3 Max 作为驱动(5.6 Sol 同样是该任务的有力竞争者),GLM 5.2 Max、Composer 2.5、5.6 Terra 作为支持工作,Opus 5 作为顾问。
当工作流程具有清晰结构时,这种模式效果最佳。顾问可以在初始计划后、重复测试失败后、高风险架构更改前或拉取请求打开前被调用。
为前沿模型分配狭窄的审查任务也能减少其需要处理的上下文信息。审查计划或补丁通常比独立探索代码库并实现全部更改的成本更低。
两个真实工作流程中的实际表现
| 工作流程 | 路由架构 | 结果 | 限制 | |-------------------------|--------------------------------------------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------| | 每日关键漏洞查找Slack机器人 | Kimi K3 Max 驱动运行,低成本模型执行支持工作,Opus 5 提供建议 | 每次运行成本从约100美元降至15-20美元。团队继续合并部分生成的PR | 未进行重复的、匹配的试验以确认召回率、精确度或严重性相等 | | 全代码库安全扫描 | 低成本协调器,约50-60个子代理,以及前沿顾问 | 扫描成本约100美元,发现20多个高严重性候选漏洞。在Fable 5上完整运行预估成本1000-2000美元 | 更高成本是估算值,每个发现仍需要人工验证 |
第一个结果让我确信路由模式在操作上具有实用性,但尚未提供足够证据证明低成本系统在所有质量维度上都能与纯前沿系统匹配。
安全扫描存在类似限制。模型生成的“高严重性”标签并不能确认漏洞存在。对于该工作流程,我会跟踪每个确认发现的成本、误报率、重复率、与人工评审员在严重性上的一致性,以及验证每个问题所需的时间。
按接受结果衡量成本
我的早期实验在衡量成本时优于质量,因为token数量是明确的,而工程质量需要定义。
更有效的比较应在代理运行前开始:
- 构建固定任务集。包含真实工作流中的常规任务、模糊案例和已知失败模式。
- 定义接受标准。在查看输出前决定什么才算成功。例如通过必要测试、匹配书面规范、获得审阅者批准或生成确认的安全发现。
- 每个配置运行多次。编码代理具有非确定性,单次运行可能同时扭曲成本和质量。
- 追踪整个测试框架。记录每一步使用的模型、输入输出token、缓存使用情况、工具调用、重试次数、子代理数量、延迟和最终结果。
- 比较被接受的结果。最终成本应包含失败尝试、顾问调用和人工审查。
对于漏洞查找机器人,每个打开的拉取请求成本不如每个合并的拉取请求成本有用。第二个指标将支出与工程团队重视的成果直接关联。
在多代理系统中追踪尤为重要,因为顶层请求隐藏了大部分工作。单次运行可能包含重复的仓库搜索、重叠分支或昂贵的重试,这些在汇总账单中是不可见的。
在使用更强模型前减少上下文
在我的实验中,路由产生了最大的节省,但不必要的上下文也会产生显著账单。
测试运行器、Git命令、代码检查器、Docker和构建系统可能生成数千行输出。代理通常只需要失败的断言、相关堆栈跟踪、修改的文件和命令状态。进度指示器和重复的成功信息对下一个决策帮助甚微。
两个工具解决了这个问题:
- RTK在输出到达代理上下文前进行过滤和压缩。该项目报告的shell输出减少幅度约为60%到90%,具体取决于命令和工作流。
- Caveman是Claude Code和其他编码代理的响应格式技能,它提示模型用简洁压缩的散文回答,同时指示模型保持代码、命令、错误字符串和符号不变。它承诺在10个示例提示中平均减少65%的输出token。
这些是项目报告的数据,因此我会在对团队重要的任务上验证这些数字。
同样的原则可以直接应用于测试框架。请求目标文件范围、总结成功测试输出、保留完整失败细节、去重重复堆栈跟踪、限制搜索结果、在有缓存时复用稳定提示前缀,并停止重复已完成工作的分支。
减少上下文可以同时改善推理效果和成本,因为相关证据对模型来说更容易找到。
模型路由的实用部署方案
我会逐步引入路由:
- 选择一个昂贵且可重复、有明确结果的工作流。
- 记录当前成本、token使用量、重试次数、延迟、接受率和人工审查时间。
- 将规划、探索、实现、验证和审查分离。
- 将一个高流量、低风险阶段迁移到更便宜的模型,同时保留现有的规划者和审阅者。
- 为重复失败、证据冲突、安全敏感决策或高风险系统变更添加升级规则。
- 在分配更多工作之前,先在相同任务集上比较两种配置。
价格较低的模型在消耗更多 tokens、频繁重试或需要大量修复时,仍可能导致更高的运行成本。较高的基准分数也无法保证在特定代码库中的实际表现。
安全策略和数据处理规范应从一开始就限制模型选项。顾问模式也存在局限性,因为审阅者只能评估接收到的上下文。缺少证据或子代理摘要薄弱仍可能导致错误决策。
在判断至关重要的环节使用前沿 tokens
最大的改进来自于将编码代理视为路由系统。
现在我将前沿模型保留用于规划、模糊决策、升级和最终审查。低成本模型负责大部分代码库探索、摘要生成和常规实现。确定性工具会验证其能力范围内的内容。
模型名称将快速变化。这意味着我用于设计工作流的问题必须更具持久性:哪些任务环节需要昂贵的判断,哪些环节主要依赖 tokens?
只有当完成的任务仍通过之前重要的检查时,路由策略才算得上改进。