【AI 编程工具横评】9 个 coding agent harness 怎么选:先定 harness,再定模型
OpenRouter 每-app 真实用量显示,Claude Code 里跑得最多的模型是 GLM 5.2,比 Anthropic 自家四个模型加起来还多。9 个 harness 逐个拆开讲,附一次六款工具同题实测。
摘要: 九个 harness,一个把整个品类问题重新框定的发现。按 OpenRouter 的 30 天 app 数据,Claude Code 里用量最大的模型是 GLM 5.2,3.14T token,而 Anthropic 自家四个模型加起来才 1.98T。Codex 正好相反,前十里约 86% 的量留在 OpenAI 自家。Cline 和 Pi 的头名都是 DeepSeek V4 Flash。所以「哪个 harness 最好」这个问题问错了,它其实是两个问题:按控制循环挑 harness,再单独挑模型。凡是允许你自己选的工具,开发者早就这么干了。
一句话对照:九个 harness 怎么分
| Harness | 跑在哪 | 价格 | 能换模型吗 | 靠什么扩展 | 协议 |
|---|---|---|---|---|---|
| Codex CLI | 终端 | ChatGPT 订阅或 API key | 只认 Responses API | AGENTS.md、MCP | Apache-2.0 |
| Claude Code | 终端 | Claude 订阅或 API key | 能,改 ANTHROPIC_BASE_URL | hooks、子 agent、skills、MCP | 闭源 |
| Google Antigravity | 桌面端、IDE、CLI | 个人开发者免费 | 不能,只能选内置菜单 | agent 管理器、子 agent | 闭源 |
| GitHub Copilot | IDE、CLI、云端 | AI Credits $0 / $10 / $39 / $100 | 只有 Chat 能,靠扩展 | skills、MCP | 闭源 |
| Cursor | IDE | 订阅制 | 只有 Chat 能,且不稳 | rules、MCP | 闭源 |
| Cline | VS Code、JetBrains | 自带 key | 能,任意 OpenAI 或 Anthropic 端点 | plan 模式、MCP | Apache-2.0 |
| OpenCode | 终端、桌面端 | 自带 key | 能,models.dev 上所有 provider | AGENTS.md、MCP | MIT |
| Reasonix | 终端、桌面端、VS Code | 自带 key | 能,改 reasonix.toml | MCP、sidecar、plan 模式、checkpoint | MIT |
| Pi | 终端、RPC、SDK | 自带 key | 能,15+ provider,还能中途切 | 扩展 API,别的基本没有 | MIT |
九个里有两个的主 agent 界面压根接不了外部模型,另外三个能接但有让人头疼的前提,剩下四个把模型当成一行配置。就这一条分界线,对你的账单和被锁定程度的预测力,超过本文任何一个跑分。
AI coding agent harness 到底是什么
harness 是包在模型外面的那层程序,它把「生成 token」变成「在你仓库里干活」。 模型是发动机,harness 是变速箱、底盘和刹车。
具体说,harness 干的是模型自己干不了的五件事:组装上下文,决定哪些文件和哪几轮历史发出去;定义并执行工具,让一次 read_file 调用真的读到文件;把关权限,让 rm -rf 是直接跑、先问一句还是干脆拒绝;管理恢复,决定补丁打不上或测试变红之后怎么办;以及保存会话状态,让中断的任务能接着跑而不是从头来。
这就是为什么两个人跑同一个模型,体验能差出十万八千里。把 GPT-5.6 Sol 从 Codex 挪到 Cline,模型一模一样,但读文件的策略、工具 schema、重试策略、审批流程全变了。大家搜的词五花八门(agent harness、coding agent、AI 编程工具),说的是同一层东西。
这些 harness 到底差在哪
四条轴,只有第四条是你上手前看不出来的。
跑在哪。 终端优先(Codex、Claude Code、OpenCode、Reasonix、Pi)、编辑器内(Cline、Cursor、Copilot),或者像 Antigravity 2.0 那样自带窗口的独立 agent 管理器。这决定了你能不能给它接管道、挂定时任务、或者 SSH 上去跑。
模型是不是你说了算。 这是本品类最干脆的二分:要么工具从配置里读 base URL,要么模型菜单是厂商定的,没得商量。
靠什么扩展。 一边是 hooks、子 agent、skills、MCP server 堆满,另一边是刻意留白、让你自己往上盖。Claude Code 和 Pi 是有意站在两个极端的。
控制循环在压力下的表现。 决定你会不会继续用下去的就是这条。改之前会不会先读对文件?diff 收不收得住?会不会跑你的检查?测试挂了能不能爬起来而不是反复横跳?被打断之后能不能续上?2026 年 7 月一条讨论 harness 怎么选的 r/AI_Agents 长帖最后收敛的正是这一点,最高赞的那条评论说得比我们好:
大家往往过度关注模型,而低估了执行循环。
本文就按这个框架来写。模型质量现在是入场券,循环行为才是差异所在,而且它恰好是所有跑分都不报的那一项。
我们怎么测这个循环
既然结论押在循环上,那就真跑一次。我们搭了个小 Python 仓库,里面埋了个真 bug:重试函数 catch 的是 urllib.error.HTTPError,而 OpenAI SDK 抛的是 openai.RateLimitError,所以 429 分支永远进不去,测试挂掉。九个工具里的六个(Codex CLI、Claude Code、Cline、OpenCode、Reasonix、Pi)指向同一个网关,在同一个仓库里给完全相同的提示词:跑测试,用一句话说出根因,用 unified diff 给出修法,一个字都别改。
六个全都说对了根因,这是最没意思的一条结论,所以先说完拉倒。差别在下面。Codex CLI、OpenCode、Cline 先跑了测试再回答;Claude Code、Reasonix、Pi 靠读代码直接答。修完之后留下的那行没用的 import urllib.error,Codex 在正文里点出来了,Claude Code 在 diff 里悄悄删掉了,另外四个原样留着。还有,六个里有四个交出来的补丁仍然带着 if e.code != 429 这道判断。三个是明写出来的,一个是只改了 except 那行、把它原封不动留下了。一旦你 catch 的是 openai.RateLimitError,这道判断就永远进不去:它的 .code 是 API 返回的字符串错误码,从来不是 HTTP 状态码(状态码在 .status_code 里),所以 e.code != 429 恒为真,重试分支不可达。
最后这条更像是模型的问题而不是 harness 的问题,而这恰恰是重点:由 harness 决定循环要不要自己验一遍补丁,而这六个一个都没验。
剩下三个没法这么跑:Copilot 和 Cursor 要付费席位才能在 agent 模式里用自定义 provider,Antigravity 则是不登录 Google 账号根本不跟你说话。它们的章节依据的是厂商文档和第一方 CLI 输出,不是同一场实测,文中会写明。
各个 harness 里,开发者实际在跑什么模型
大多数横评告诉你该买哪个工具,然后就没了。更有用、也是大家真的会搜的问题是:工具到手之后,往里塞哪个模型。OpenRouter 会公开开启了追踪的 app 的每-app 模型用量,这就把这个问题从「各说各话」变成了数据。
下面是截至 2026-08-11 的 30 天数据,来自各工具公开的 OpenRouter app 页面。
| Harness | 30 天 token | 用过多少模型 | 第 1 名 | 第 2 名 | 第 3 名 | 头名占其前十的比重 |
|---|---|---|---|---|---|---|
| Claude Code | 7.97T | 302 | GLM 5.2 3.14T | Claude Opus 4.8 582B | Claude Sonnet 5 558B | 49% |
| Cline | 3.86T | 314 | DeepSeek V4 Flash 1.26T | Step 3.7 Flash 812B | Laguna M.1 370B | 37% |
| Pi | 2.79T | 298 | DeepSeek V4 Flash 406B | DeepSeek V4 Flash 0423 299B | GLM 5.2 289B | 20% |
| Codex | 1.01T | 348 | GPT-5.6 Sol 321B | GPT-5.6 Luna 177B | DeepSeek V4 Flash 108B | 35% |
把最后一列从上往下读,就是四个工具各自的性格测试。
Claude Code 最集中,而且集中在别人家的模型上。 光 GLM 5.2 一个就占了它前十流量的 49%。把 Opus 4.8、Sonnet 5、Opus 5 和 Fable 5 全加起来,Anthropic 自家阵容是 1.98T,GLM 5.2 一个模型就高出约 1.6 倍。Kimi K3 和两个版本的 DeepSeek V4 Flash 也都进了前十。这个被公认循环做得最好的 harness,对这批用户来说主要是个装非 Anthropic 发动机的底盘。
Codex 是个单一生态。 前十里七个是 OpenAI 模型,合计吃掉约 86% 的量。剩下三个外来户(DeepSeek V4 Flash、Nemotron 3 Ultra、GLM 5.2)分掉 14%。这就是「只认 Responses」这条限制在总量上的样子:它不是一堵墙,是一道筛子,大多数人懒得翻。
Cline 从一开始就是奔着省钱去的。 DeepSeek V4 Flash 以 1.26T 领先,Step 3.7 Flash 812B 紧随其后,第一个 Anthropic 模型要到第十位才出现,87.7B,约占前十的 2.6%。Cline 的用户优化的是单任务成本,不是榜单名次。
Pi 是这四个里分布最平的。 头名只占 20%,前十横跨 DeepSeek、智谱、月之暗面、Anthropic、OpenAI、xAI 和英伟达。对一个主打「给零件不给功能」的工具来说,用法和定位完全对得上。
这份数据覆盖不到什么,别让人拿它糊弄你。 OpenRouter 只看得见走 OpenRouter、且开了追踪的那部分流量。所有用 Anthropic 订阅跑 Claude Code 的、用 ChatGPT 套餐跑 Codex 的、用 GitHub 自家推理跑 Copilot 的、用 Cursor 自有模型的,在这里全是隐身的。所以这不是市场份额。它是一个更窄但对看 harness 横评的人更有用的东西:当选择权真在用户手上时,他们选了什么。另外也留意谁完全不在榜上:Antigravity、GitHub Copilot、OpenCode、Reasonix 都没有条目,原因有两种,下面各自的章节会讲清楚。
反过来查:手里已经有模型,配哪个 harness
如果你是搜「某个模型该用哪个 harness」进来的:
| 你已经在用 | 优先试 | 为什么 |
|---|---|---|
| GLM 5.2 | Claude Code,其次 OpenCode | 它讲 Anthropic Messages API,换个 base URL 就配完了,而且它本来就是这个 harness 里跑得最多的模型。如果你在纠结托管还是自己拿权重部署,那笔硬件账和 harness 选型是两回事 |
| DeepSeek V4 Flash | Reasonix,其次 Cline | Reasonix 的循环是围着 DeepSeek 的前缀缓存造的;Cline 则是这个模型量最大的地方 |
| DeepSeek V4 Pro | OpenCode,其次 Pi | 两个都支持把 Flash 设为默认、按任务临时升配 |
| Kimi K3 | Claude Code | Anthropic 兼容端点,而且它已经在 Claude Code 的前十里了 |
| Qwen 3.8 Max | Codex CLI | 少数几个能走 Responses API 的非 OpenAI 模型之一,而 Codex 只认这个 |
| MiniMax M3 | Cline,其次 OpenCode | 标准 OpenAI 兼容 Chat Completions,不用折腾协议 |
| GPT-5.6 Sol | Codex CLI | 第一方默认配置,调优假设也对得上 |
Codex CLI:OpenAI 的 agent,以及定义了它的那个协议
跑在哪
只有终端,一个 Rust 二进制,npm i -g @openai/codex 装,另外配一个独立桌面应用。配置在 ~/.codex/config.toml,项目指令写 AGENTS.md。过去 30 天它在 OpenRouter 全站排 #15、编程类排 #8,比它的存在感要小,因为绝大多数 Codex 用户根本不出 ChatGPT 套餐。

花多少钱
绑在 ChatGPT 订阅里,或者拿 API key 按量付。它 OpenRouter 上的数据被低估,就是因为这个绑定。
靠什么扩展
AGENTS.md、MCP server,还有一条能把 Claude Code 和 Cursor 配置导入过来的命令。沙箱是这批里最硬的:操作系统级隔离,macOS 用 seatbelt,Linux 用 Landlock 加 seccomp,上面再叠审批模式。如果你习惯自动放行 shell 命令,这个差距是能折算成钱的。
会被锁在哪
被锁的是协议,不是厂商。Codex 只讲 OpenAI Responses API,wire_api = chat 已经被移除,现在的版本配了它直接起不来。所以网关必须暴露 /v1/responses,光有 /v1/chat/completions 不行,而且支持与否是按模型算的,不是按网关算的。有两个细节反复坑人:模型 ID 前缀只在自定义 model_providers 条目下才生效;网关目录里列了某个模型,不代表这个模型能走 Responses 通。配置细节见 ofox Codex 集成文档和模型 provider 页。
「按模型不是按网关」这句话听着容易点头,但很难想象具体长什么样,所以说说我们撞上它时的情形。Codex 0.147.0 配了正确的 provider 块,每个请求都返回 Invalid 'input[0].tools[0].description': empty string。我们在网关前面架了个会落盘的反向代理,把 Codex 实际发出去的请求体读了一遍:它在一条 developer 消息里声明工具命名空间,而 functions 这个命名空间带的是 description: ""。拿同一个请求体重放到五个模型上,三个拒绝,一个压根没有 Responses provider,一个通过。把那个空字符串填上,原本失败的模型立刻返回 200。这事既不是网关的错也不是我们的错,是客户端发了一个字段,有的上游按 minLength: 1 校验,有的直接忽略。

这里能带走的经验对任何 harness 都成立:客户端和网关吵起来的时候,先把线上的请求原文抓下来,再动配置。我们在这上面花了一个代理加五分钟;靠猜 wire_api 的值,得搭进去一个下午,还会得出错误结论。
Claude Code:扩展面最深,但里面大多在跑别人的模型
跑在哪
终端,npm 装,带插件生态和一个 IDE 桥接。它在 OpenRouter 全站排 #2,7.97T token,见过 302 个不同模型。
花多少钱
Claude 订阅、API 计费,或者第三方网关。三条路差别大到「Claude Code 要花多少钱」这问题根本没有单一答案。
靠什么扩展
比这里任何一个都多。hooks 在工具事件上触发,子 agent 在自己的上下文里跑限定范围的任务,skills 把可复用流程打包,MCP server 加工具,CLAUDE.md 承载项目指令。如果你想让 harness 承载团队流程而不只是个人习惯,这是唯一撑得住的。
会被锁在哪
比名字暗示的少得多。ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN 能把它指向任何讲 Anthropic Messages API 的端点,这正是 GLM 5.2、Kimi K3 和 DeepSeek 出现在它用量数据里的原因。两个环境变量就是全部流程:

注意什么东西换过去了、什么没换过去。GLM 5.2 把异常类型不匹配这一点说对了,但它的补丁保留了 if e.code != 429 这道判断,而这道判断永远进不去:在 openai.RateLimitError 上,.code 是字符串错误码,不是 HTTP 状态码。同一个 harness、同一个提示词、换个模型,diff 就微妙地差一截。真正的锁定是行为层面的:系统提示词、工具 schema、上下文策略都是照着 Claude 模型调的,换进来的模型继承的是为别人准备的假设。具体变量见 ofox Claude Code 集成文档和它的模型 provider 页。如果你要往反方向走,我们写过从 Claude Code 迁到 Codex 的分步指南。
Google Antigravity:一个牌子,四个入口
跑在哪
到处都是,这正是让人犯迷糊的地方。Antigravity 现在是四样东西:Antigravity 2.0,一个能并行跑多个本地 agent 的桌面指挥台;Antigravity CLI,终端界面;Antigravity IDE,完整编辑器;以及一套自己写 agent 的 SDK。它 2025 年 11 月以 agent 优先的 IDE 身份发布,之后一路往外扩。
有些报道说 Gemini CLI 要停服、由 Antigravity CLI 接手。我们去找了一手来源,没找到。截至 2026-08-11,这个说法没有依据:google-gemini/gemini-cli 仓库没归档、没弃用声明,preview、stable、nightly 三条通道都还在发;antigravity.google 和 Google Developers Blog 都没这么说过。在 Google 亲口说之前,就当两个并存。
花多少钱
写这篇时对个人开发者免费,另有付费的组织版,Google 更高档的 AI 订阅里用量上限也更高。你买的是额度,不是 token。
靠什么扩展
2.0 的管理器能同时跑多个 agent,还允许主 agent 派生临时子 agent,让并行任务不污染主上下文。内置浏览器给了它一条用眼睛而不是断言来验证 UI 改动的路。
会被锁在哪
模型菜单。Antigravity 暴露 Google 自家模型加上一批精选的第三方选项,没有 base URL 可改。它在 OpenRouter 的 app 数据里没有条目,因为压根没东西可路由。如果你已经统一到某个网关上,Antigravity 是这批里唯一不肯入伙的。
光看命令行参数就能确认这件事。我们装了它的 CLI(brew install --cask antigravity-cli,版本 1.1.12),整份选项列表里没有 --base-url、没有 --provider、也没有 --api-key。让它列模型,列不出来,弹给你一堵登录墙。

这堵登录墙也是为什么 Antigravity 是本文唯一一个连「纯 key 通路」都没有的工具。Copilot 和 Cursor 没进那场实测,是因为带自定义 provider 的 agent 模式在付费席位后面,但席位买了就能进。Antigravity 是不登录 Google 账号就不跟你说话,掏多少钱都改不了。
GitHub Copilot:人人都有的默认选项,按 credit 计费
跑在哪
GitHub 能到的地方都有:VS Code 及其他 IDE、终端里的 Copilot CLI、能直接开 PR 的云端 coding agent,以及 GitHub 站内的代码评审。覆盖面就是它的卖点。
花多少钱
这块改过,网上不少写法已经过期了。现在计费走 GitHub AI Credits,1 credit = $0.01。Free 是 $0,Pro $10/月含 $15 credits,Pro+ $39 含 $70,Max $100 含 $200,Business 和 Enterprise 席位单独定价。行内补全和 next-edit 建议完全不消耗 credit;chat、agent 模式、代码评审和 Copilot CLI 会消耗。最近的更新日志还加了按周期查看 credit 用量、以及在 CLI 和 SDK 里设置会话上限的功能。定价页会变,做预算前请以当前套餐页为准。
靠什么扩展
MCP server、自定义指令、仓库级配置,CLI 里还有按任务类型自动选模型的功能。
会被锁在哪
模型菜单,带一个星号。Copilot 自家界面跑 Copilot 自家模型。要接外部端点,只能通过第三方 VS Code 扩展、只能在 Copilot Chat 里、而且只能是个人订阅;Business 和 Enterprise 席位用不了,Tab 补全无论如何还是跑 GitHub 的模型。ofox Copilot 集成文档写了这条路怎么走,包括具体的 provider 字段,也老实交代了它到哪儿为止。
Cursor:编辑器很好用,但发动机舱焊死了
跑在哪
独立编辑器。它是这批里付费用户最多的工具,而在 OpenRouter 的编程类榜单上排 #11,30 天 471B token,大约是 Claude Code 在同一平台上量的十七分之一。这个差距是它的特点而不是黑点:Cursor 的推理是自己的,几乎没什么需要走出去。
花多少钱
按席位订阅,上面再叠用量档位。
靠什么扩展
rules 文件、MCP server,以及一套很强的多文件编辑循环。它的 Tab 模型是最多人说「换不掉」的功能,也确实是即便 agent 活儿在别处干、也值得留着这个编辑器的理由。
会被锁在哪
比这里任何工具都紧,我们自己的文档就是这么直说的。ofox Cursor 页面的标题是「兼容性说明」而不是「配置指南」:Tab 补全硬编码在 Cursor 自家模型上,换不掉;Agent 模式用不了自定义 provider;免费账户完全不能用自定义模型;就连能走通的 Chat 那条路,也会被 Auto 模式覆盖掉。文档最后给的建议,和老用户自己摸索出来的结论一致:把 Cursor 当编辑器留着,agent 的活儿在它内置终端里跑 Claude Code 或 Codex CLI。这与其说是绕路,不如说是对这两层该怎么分工的准确描述。
Cline:为省钱而生的循环
跑在哪
VS Code 和 JetBrains 里的扩展。它在 OpenRouter 全站排 #4、IDE 扩展类排 #2,2024 年 10 月起就在跑,是本文这批工具里在 OpenRouter app 数据中资历最老的。
花多少钱
扩展本身不要钱。你自带 key,而用量数据显示,用户挑这个 key 时把成本看得很重。
靠什么扩展
先规划后执行的两段式、管理并行任务的任务板、MCP server,还有用来验证前端改动的浏览器自动化。它的规划界面确实比大多数终端 agent 强。
provider 覆盖面是这批里最宽的,没有之一:列表上 185 个 provider,而且「OpenAI Compatible」是一等公民,不是埋在高级设置里的逃生口。

会被锁在哪
几乎没有。任何 OpenAI 兼容或 Anthropic 兼容的端点都能用,这正是 DeepSeek V4 Flash 能占到它前十流量 37% 的原因。指向网关只要一条 cline auth 命令,之后循环的表现和用第一方 key 时一样:

用户抱怨最多的失败模式是循环可靠性而不是锁定:在那条 r/AI_Agents 帖子里,有人说任务会卡在格式错误的工具调用上,最后转去用一个处理得更稳的分支。这是单个用户的反馈,权重按一条算,但它指向的轴是对的,即循环而不是模型。我们自己也撞到一个相邻的粗糙处:把 CLI 通过 OpenAI 兼容通路指向一个带推理能力的 Claude 模型时,报了个内部错误 text part ... _reasoning_0 not found,而同一端点上的非推理模型跑得干干净净。配置见 ofox Cline 集成文档。
OpenCode:从设计上就不绑模型
跑在哪
终端优先,另有桌面应用和编辑器界面,npm 包名 opencode-ai,MIT 协议,项目指令用 AGENTS.md。它不在 OpenRouter 的 app 榜单上,反映的是没开追踪,不是没人用。
花多少钱
免费开源,你只付 token 钱。
靠什么扩展
AGENTS.md、MCP server,以及一层能覆盖 models.dev 上全部 provider 的 provider 层,我们 2026-08-11 查的时候是 183 个,而且支持会话中途切换。ofox 是内置 provider,所以配置是一个环境变量而不是一段 JSON。
会被锁在哪
结构上没有,这就是它的全部设计意图。同一道排错题,它是把过程展示得最完整的一个:先跑测试套件、打印 traceback,然后读源码再作答。

代价是:一个没有默认厂商的 harness,也就没有厂商替你调提示词,所以要把它调到最佳状态,配置量比 Claude Code 或 Codex 大。provider 配置见 ofox OpenCode 集成文档,两个终端 agent 的正面对比我们写在 OpenCode 与 Codex CLI 对比里。
Reasonix:社区出品,围着 DeepSeek 调,缓存优先
跑在哪
一个本地引擎带四个入口:CLI 加 TUI、桌面应用、浏览器界面,以及一个通过 ACP 连同一后端的 VS Code 扩展。它以单个静态 Go 二进制发布,CGO_ENABLED=0,任意系统上 npm i -g reasonix,macOS 上也可以 brew install esengine/reasonix/reasonix。1.23.0 版本 2026-08-10 发布,维护是活跃的。
名字这件事得先纠正。Reasonix 不是 DeepSeek 的产品。它是社区项目,仓库在 github.com/esengine/DeepSeek-Reasonix,MIT 协议,自己的站点是 reasonix.io。DeepSeek 官方文档里列的 agent 集成是 Claude Code、GitHub Copilot 和 OpenCode,没提 Reasonix。承载了它大部分报道的第三方站点,页面上自己写了是独立、无从属关系。工具本身是真的、也有意思,但挂在它上面的 DeepSeek 品牌不是官方的。
花多少钱
免费开源,外加你的模型花销。它的设计目标就是让后面这个数字保持很小。
靠什么扩展
MCP server 贡献工具和提示词,Extension Protocol v1 的 sidecar 更进一步,能拦截运行时事件、添加 provider、发布带版本的插件包。所有东西都声明在一份 reasonix.toml 里,不硬编码任何模型。它还配齐了长时间无人值守跑所需、而 Pi 刻意不做的那套安全设施:plan 模式、权限层、工作区沙箱,以及可读可撤销的逐轮 checkpoint。有一项能力这里没有别家提供:让执行模型和规划模型在两个各自缓存稳定的会话里同时跑。
会被锁在哪
协议层面没有:任何 OpenAI 兼容端点都是一条配置,reasonix.toml 就是全部:

有意思的偏向在循环本身:它是照着 DeepSeek 的前缀缓存行为设计的,让长会话持续命中缓存而不是为上下文反复付费。如果你会让 agent 连着跑几个小时,这是真差异;如果你是短平快地用,那基本无关。另外,因为 DeepSeek 的缓存是按完整单元匹配而不是逐字节前缀匹配,省钱来得比大家预期的晚,所以要按你实际的工作形态来规划,不要照着宣传的缓存命中率算。
Pi:故意什么都不带的 harness
跑在哪
终端,另外还有 print/JSON 输出、RPC 服务和可嵌入 SDK。npm i -g @earendil-works/pi-coding-agent 安装,0.84.1 版本 2026-08-07 落地。它在 OpenRouter 全站排 #7,2.79T token,MIT 协议。
花多少钱
免费开源。
靠什么扩展
一套扩展 API,然后基本就没别的了。Pi 不带 MCP、不带子 agent、不带 plan 模式,而且把这说成是选择而不是待办:给零件,不给功能。想要那些能力,你在扩展面上自己造。对已经对 agent 该怎么跑有明确主张的团队来说,从一个光循环起步比跟别人的默认设定较劲更快;对其他人来说,第一天的工作量更大。
会被锁在哪
没有,用量数据就是证明:15+ provider,用 /model 中途切模型,头名占比 20%,是本文实测的工具里模型分布最平的。加一个 provider 就是往 ~/.pi/agent/models.json 里写一个块,仅此而已:
有一条得单独提醒,项目自己也写在明面上:Pi 没有内置的文件系统、进程、网络、凭据权限系统,沙箱要你自己做。要交给它敏感东西,就放容器里跑。那条 r/AI_Agents 帖子里也有用户反映,同样的活儿 Pi 烧的 token 明显比另一个 harness 多,这和「上下文策略交给你」的设计是一致的。
其他值得知道的 AI coding agent
这些没有单独成节,要么是覆盖面更窄,要么是我们没法拿它们过同一道上手测试。
| 工具 | 形态 | 值得注意的点 | ofox 文档 |
|---|---|---|---|
| Kilo Code | VS Code、JetBrains、CLI | OpenRouter 编程类第 3,排在 Cline 前面 | 无 |
| Roo Code | VS Code 扩展 | 一个工作区里多个专职 agent 角色 | 无 |
| Aider | 终端 | repo map,每次编辑前先发一份精简的代码库结构视图,减少改错文件 | 见其他 |
| Zed | 编辑器 | 原生编辑器,速度快,带 agent 面板;编程类榜单第 14 | 有 |
| OpenHands | 终端、云端 | 开源自主 agent,带浏览器和 API 访问 | 无 |
| goose | 终端 | Block 的开源 agent,扩展驱动 | 无 |
| Qwen Code | 终端 | 阿里的 CLI 工作流工具 | 无 |
| Crush | 终端 | Charm 出的 TUI agent,终端体验很好 | 无 |
| OpenClaw | 聊天驱动 | 从聊天软件里下命令;按量排编程类第 5 | 有 |
| Windsurf / Devin / Factory | IDE 与云端 | 商业自主 agent,订阅门槛 | 无 |
Antigravity 和 GitHub Copilot 是一回事吗
r/AI_Agents 那条帖子里有人正好问了这个,因为同一个人把 Antigravity 评得很高、把 Copilot 评得很低。这个质疑是合理的,而答案挺有启发,因为表面上它们确实是同一个品类:大厂工具,精选模型菜单,订阅制而不是 token 账单。
它们的分岔在计费表怎么走。Copilot 从 credit 余额里扣,agent 干活会一直往下划,所以在贵模型上跑重活能很快把一个月的额度耗光,那个帖子里的用户就说同事五天烧掉了 $30 的预算。Antigravity 是另一套计法,用量上限绑在套餐档位上而不是按请求扣余额,体感从「看着钱包见底」变成「撞墙然后等」。谁更好没有定论:活儿是一阵一阵来的,那种不能结转、按月清零的 credit 池就很浪费;活儿是长期稳定的重活,固定上限反而更好预期。
第二个差别是验证。Antigravity 自带一个它自己驱动的浏览器,前端改动在循环内部就用眼睛看过一遍。Copilot 的强项在另一头:它焊在 PR、代码评审和 CI 上,也就是代码落地的地方,而不是代码写出来的地方。
哪些 harness 能远程或异步跑
终端原生的那些才是你能扔到服务器上的。Codex CLI、Claude Code、OpenCode、Reasonix、Pi 都能通过 SSH 无界面跑,Pi 走得最远,专门提供了 print/JSON、RPC 和 SDK 三种模式。Cursor 绑死在一个运行中的编辑器上。Copilot 是另一个极端,云端 agent 接一个 issue 就还你一个 PR,全程不需要你的机器参与。Antigravity 2.0 能并行跑多个 agent,但那是本地窗口里的本地 agent。
这一列里的意外是 Cline。扩展确实要编辑器,但 CLI 不要:它会起一个本地 hub 守护进程和一个浏览器面板,能看到已连接的客户端和运行中的会话,所以 SSH 上去的机器也能用。

如果目标是无人值守的长任务,候选名单很短:一个终端 harness 加一个缓存稳定的模型,而这正是 Reasonix 被造出来要占的位置。
一个月的 agent 编程到底花多少钱
这个月我们看到最有信息量的数字来自用户而不是厂商。在那条 r/AI_Agents 帖子里,一个同时推进四个项目的开发者贴了自己的 DeepSeek 面板:一个月大约 12 亿 token,绝大部分是缓存读取,花了 $9.57。把它当成一个人的记录而不是基准,但它的形状是有教育意义的:他花得少不是因为用了便宜的 harness,而是因为几乎所有上下文都从缓存里出。
这就把成本问题重新框定了。harness 对账单的直接影响很小,它真正撬动的是两件事:一是缓存命中率,取决于它怎么在轮次之间组装上下文;二是 token 总量,取决于它多频繁地重读文件或重试失败步骤。一个每轮都从头重建提示词的 harness,在完全相同的模型上,成本会是「增量追加」那种的好几倍。所以除非模型、仓库和任务三样全都固定,工具之间的单任务成本对比基本没有意义。
订阅制工具是把这个问题藏起来绕过去的。用 Copilot 或 Antigravity,你根本看不到单任务成本,只能看到额度掉得有多快。这对做预算是真优势,对做优化是真劣势。
什么情况下该选哪一个
每个工具都有它赢的场景。依次是:
- Codex CLI:你活在 OpenAI 生态里,而且习惯自动放行 shell 命令。这是本文唯一一个代码库里能看到操作系统级隔离原语的工具,macOS 用 seatbelt,Linux 用 Landlock 加 seccomp。
- Claude Code:你想让 harness 承载团队流程。没有第二个工具暴露这么多内置扩展点。
- Antigravity:你想要多个 agent 并行干活、带可视化验证,而且不想为每个 token 焦虑。
- GitHub Copilot:活儿发生在 PR 和评审里而不是编辑器会话里,而且团队里人人本来就有席位。
- Cursor:编辑速度对你最重要。这里没有能比它 Tab 模型的,只是记得把 agent 的活儿放它终端里跑。
- Cline:你想在 IDE 里要先规划后执行的纪律,后面配个便宜模型。
- OpenCode:模型自由是硬需求,而且你愿意花时间配置。
- Reasonix:会话动辄跑几个小时,缓存经济学主导你的账单。
- Pi:你对循环该怎么跑有明确主张,要的是地基而不是成品。
能同时用好几个吗
能,而且经验最丰富的开发者大多就是这么干的。r/AI_Agents 那条帖子读下来,与其说是在找唯一赢家,不如说是在描述一个组合:编辑器负责快速改,IDE agent 负责本地上下文,终端 agent 负责带测试的多文件改动。有位评论者建议把这三条道明确分开,任何新工具都拿同样三道题试:修一个 bug、加一个小功能、做一次带测试的重构,然后留下那个「diff 最小最干净、需要人工纠偏最少」的。
这比这个品类里任何跑分都更像样的评测方法,而且一个下午就能做完。我们自己那篇 Claude Code、Codex、Gemini CLI 与 Cursor 四方对比和终端 agent 大乱斗走的都是这个路子:同一份活儿,一个工具一个工具地过。
大多数人不做这个测试,原因不是它难,而是跑三个 harness 意味着配三套凭据。
怎么让它们全指向同一个 key
这正是整篇对比底下那个实际的坎。这里每一个允许你选模型的工具,都要自己的凭据、自己的格式、自己的配置文件。Claude Code 要 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN。Codex 要 TOML 里一个带 wire_api = "responses" 的 model_providers 块。Cline 要在扩展界面里填 provider 设置。OpenCode 要一条 provider 条目,Reasonix 要 reasonix.toml 里一段,Pi 要它自己的 provider 配置。六个工具六个地方,而且如果你直接向每家模型厂商付费,那就是六张账单、六套互不共享的限流。
这个坎是真的,也不能怪任何单个工具。一个品类只统一到两种 wire 协议、别的什么都没统一,结果就是这样。
好在这些 agent 大多讲的要么是 OpenAI 兼容、要么是 Anthropic 兼容的 HTTP,所以解法处处同形:把它们指向同一个同时提供两种协议的端点,然后改模型 ID 字符串,而不是改管道。ofox.ai 两种协议都暴露,所以同一个 key 能覆盖 Claude Code、Codex CLI、Cline、OpenCode、Reasonix 和 Pi,账也集中在一处而不是六处。每个工具的具体配置在集成文档里,边界也一并写清楚了:Copilot 只在 Chat 里、只在个人席位上能用,Cursor 的 Tab 和 Agent 完全封死,Antigravity 根本没有这个设置项。九个里有三个没法完全入伙,装作不是这样,你测第一个下午就会拆穿。
这件事的意义不止是省事,而是回到上面那套评测方法:同一个 bug 拿同一个模型过三个 harness,只有在凭据本来就共享的前提下才便宜。
结论:先挑循环,再挑模型
没有最好的 harness,但有更好的问法,而大多数文章问错了。按控制循环挑工具,因为那才是你天天要相处的;再单独挑模型,因为在所有允许自选的工具上,开发者早就把这两件事当成独立决策了。OpenRouter 的数据从经验上把这件事坐实了:Claude Code 里最受欢迎的模型不是 Anthropic 造的,而且差距不小。
如果你只想要一个起点:一个能改 base URL 的终端 harness,指向一个缓存友好的模型,编辑器留着专心编辑。这套配置是这个品类里用得最重的那批人最终收敛到的地方,而且一个月的花销不到一顿午饭钱。
参考信息来源
- OpenRouter 编程类 agent 榜单
- OpenRouter app 页面:Claude Code
- OpenRouter app 页面:Codex
- OpenRouter app 页面:Cline
- OpenRouter app 页面:pi
- GitHub Copilot 套餐与定价
- Google Antigravity
- google-gemini/gemini-cli 仓库
- openai/codex 仓库
- cline/cline 仓库
- esengine/DeepSeek-Reasonix 仓库
- pi.dev
- DeepSeek API 文档
- r/AI_Agents:What AI harness for coding?
- ofox 集成文档
常见问题
- 什么是 AI coding agent harness?
- harness 是包在模型外面、把它变成 agent 的那层程序。模型只负责生成 token,harness 决定哪些文件进上下文、模型能调哪些工具、执行 shell 命令要不要先问一句、测试跪了之后怎么办、会话被打断后还能不能接着跑。Claude Code、Codex CLI、Cline、OpenCode 都是 harness,GLM 5.2、GPT-5.6、DeepSeek V4 是模型。两样都得选,而且怎么配对比单看哪一个都重要。
- Claude Code 里能跑非 Anthropic 的模型吗?
- 能,而且在 OpenRouter 上这是多数情况。Claude Code 读 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN,任何讲 Anthropic Messages API 的网关都能顶上。截至 2026-08-11 的 OpenRouter 30 天数据里,GLM 5.2 在 Claude Code 内部用掉 3.14T token,而 Anthropic 自家四个模型加起来是 1.98T。要注意这个数只覆盖主动把 Claude Code 指向网关的那批人,不等于整体市场份额。
- Reasonix 是 DeepSeek 官方出的吗?
- 不是。Reasonix 是社区项目,仓库在 github.com/esengine/DeepSeek-Reasonix,MIT 协议,npm 包名 reasonix,自己的站点是 reasonix.io。DeepSeek 官方文档里列的 agent 集成是 Claude Code、GitHub Copilot 和 OpenCode,没有 Reasonix。那个挂着 Reasonix 长文的 deepseek.ai 域名,页面上自己写了是独立站点、与 DeepSeek 无从属关系。
- Gemini CLI 是不是停服了、被 Antigravity CLI 取代了?
- 没有。截至 2026-08-11,google-gemini/gemini-cli 仓库没有归档、没挂弃用声明,preview、stable、nightly 三条发布通道都还在发。Antigravity 确实新增了自己的 CLI 界面,有些报道把这读成了替代,但 antigravity.google 和 Google Developers Blog 都没说 Gemini CLI 要下线。
- 哪个 harness 跑起来最便宜?
- 成本主要由模型和缓存行为决定,harness 的影响小得多。本文这批里最省的组合是:一个不绑定厂商的 harness,配一个缓存友好的低价模型,这也是 DeepSeek V4 Flash 在 Cline 和 Pi 里都排第一的原因。订阅制工具则是另一套逻辑:GitHub Copilot 和 Antigravity 卖的是额度不是 token,天花板固定,但单任务花了多少你看不见。
- 每个 coding agent 都得单独配一个 API key 吗?
- 只要工具允许改 base URL 就不用。Claude Code、Codex CLI、Cline、OpenCode、Reasonix、Pi 六个都支持自定义端点,一个网关 key 全覆盖,账也集中在一处。GitHub Copilot 只能通过第三方 VS Code 扩展、且只在 Chat 里接外部端点。Cursor 的 Tab 和 Agent 直接封死。Antigravity 压根没这个设置项。
- 扩展能力最强的是哪个?
- Claude Code 内置的扩展面最深:hooks、子 agent、skills、MCP server,还有 CLAUDE.md 这套约定。Pi 是刻意站在对立面的,这些一个都不内置,只给你一套扩展 API 自己拼。Reasonix 在中间:MCP server 加上 reasonix.toml 里声明的带版本 sidecar 扩展协议,另有 plan 模式、权限层、工作区沙箱和逐轮 checkpoint,都是冲着长时间无人值守跑的场景去的。这里没有绝对赢家,只有「开箱即用」和「给我零件」两条路线之分。


