LangChain Terminal-Bench实验证明:同一模型下仅改harness工程就让coding agent从30名跃升前5,三种Agent循环实现方式各有权衡。
大多数团队把「用哪个模型」当作核心决策。但工程文献持续指向另一个方向。在 LangChain 的 Terminal-Bench 实验中,只换一个 harness——全程使用同一模型——就把一个编码 Agent 从大约第 30 名送入了前 5 名。
这个结果重构了问题本身。如果 harness 决定质量,那如何运行这个 loop 就成了一项架构决策,而非部署细节。Paul Iusztin 的开源课程 Building a Coding Agent From Scratch 构建了一个名为 Decode 的 Python Agent。该课程由 Decoding AI 发布,区分了三种运行模式。每种模式有不同的延迟特征,因此也需要不同的推理提供商。
系统中心是一个无头 harness,本身不提供界面。harness 共享的 Agent loop 在其中运行:LLM 选择一个 action,工具执行,观测结果反馈。一切都读写于上下文窗口。
Agent 本身很小。在 Decode 中,它是一个约 20 行的 Pydantic AI 定义,组合了模型、工具和输出类型。在 Claude Code 泄露的源码中,核心 loop 大约 150 行。其他一切——记忆、技能、沙箱、权限、LSP 反馈、压缩——都是 harness。
接口则插入到核心之上。三种模式正是在这里出现:
终端 UI 连接到同一个实时会话,内存中,同一进程内。事件通过异步生成器流回,随着 token 到达逐步输出。
这里的硬问题是控制(steering)。如果在工具调用仍在进行时输入,消息立即注入会破坏这一轮。Decode 的解决方案是一个控制队列加一个优先级门。输入在到达时缓冲,只在安全边界处注入。loop 暴露了两个这样的边界:MODEL_REQUEST(在下次模型调用之前)和 WOULD_STOP(当这一轮即将结束)。
三种输入模式映射到上述边界。普通 Enter 在本轮内控制。Alt+Enter 将后续输入排队,直到本轮结束。Esc 在下一个边界处触发协作中止,清空两个队列,保持历史完整。
有人在实时阅读每个 token。这种模式受延迟约束,这就是为什么它适合放在低延迟托管 API 上。
远程模式保持 harness 无头,通过 Agent runtime 在服务器上运行。Decode 使用 Kitaru(ZenML 的 Agent runtime),部署在 GCP 上,Agent 本身在 Modal 上执行。
没有人盯着看。一堆积压工单以 N 个 harness 并行分发,每个生成自己的 PR。因为 runtime 逐步记录进度,一个中途崩溃的沙箱会从最后记录的那一步恢复,而不是重新开始。暂停等待人工输入的运行会冻结,不消耗算力直到继续。
工具在 Modal Sandboxes 远程执行,本地是 Docker。真正重要的指标是每美元吞吐量,而非首个 token 的时间。
第三种形态介于两者之间。实时会话把工作交给任务队列后立即返回。后台工作流将 LLM 调用分发出去,后续再发布结果。
用户在线,但没有盯着每一步看。队列拥有工作,所以运行时间超过启动它的客户端。这就是 Slack 触发型 Agent 和后台 PR 审查的模式,计费方式按批处理而非按对话。
成本模型跟随延迟需求,而差距很大。
以 1,000 份文档为例,每份 30,000 输入 token,每份文档约 500 输出 token。在前沿 API 费率(每百万输入 $3,每百万输出 $15)下,课程的计算结果约为 $97。Prompt 缓存救不了这个账单,因为每个文档都是不同的前缀。批量放在无服务器 GPU 上处理(每秒约 3,000 token),同样的工作在 GPU 时间内不到三小时——约 $13。
反过来看同样清晰。Decode 的默认测试模型 Qwen3.6 35B 运行在单张 H200 上。Modal 公布的定价列出 H200 SXM 为每秒 $0.001261,约合每小时 $4.54。如果让一个交互式 Agent 空闲一夜等待一个 y 确认,十个空闲小时就会在账单上增加约 $45。
这就是全部论点。交互式工作按 token 付费,因为有人在等。离线和非同步工作按 GPU 小时付费,因为吞吐量是目标,空闲时间是敌人。
还有第二个轴:无服务器 vs 预留容量。Modal 的定价分析把它简化为一个比较。预留容量按整个合同期峰值费率计费;无服务器跟随需求曲线。当峰值与平均值之比超过预留折扣时,无服务器更便宜。Modal 报告的典型折扣为 2–5 倍,而推理、训练和 Agent 开发中峰值与平均值之比为 5–10 倍。其引用的行业调查显示预留容量利用率低于 30%,常常不到 10%。
Michal Sutter 是数据科学专业人士,拥有帕多瓦大学数据科学硕士学位。凭借统计学分析、机器学习和数据工程的坚实基础,Michal 擅长将复杂数据集转化为可操作的洞察。