编程 Agent CLI 横向对比
你已经选好了模型。但真正包裹模型的那个程序 —— 读取文件、制定计划、运行命令、检查自身工作并重试的那个循环 —— 是一个独立的选择,而且它的重要性至少不亚于模型本身。社区把这个外壳称为 harness(或 agent),同一个模型在一个 harness 里可以表现得极其出色,在另一个里却平平无奇。本页梳理 2026 年的终端编程 agent、真正拉开它们差距的因素,以及如何保持配置的可移植性,让切换成本始终维持在低位。
- 分清两个常被混为一谈的选择:模型本身,以及驱动它的 harness
- 掌握每个主流 CLI agent 的持久形态 —— Claude Code、Codex CLI、Gemini CLI,以及开源阵营
- 在真正起决定作用的维度上做选择:自主性、开放性、模型无关性、沙箱与生态
- 用 AGENTS.md 让你的配置可移植,这样切换 agent 时无需重写项目上下文
模型不等于 agent
前沿模型是一个文本预测器。而编程 agent是围绕它的 harness:系统提示词、工具集(读取、编辑、运行 shell、搜索)、规划循环、上下文管理策略、权限与沙箱模型,以及重试逻辑。改变 harness 就会改变结果 —— 贯穿 2026 年的从业者报告都描述过:同一个模型在真实仓库任务上的表现,会因为驱动它的 agent 不同而波动几十分。
这带来两个现实后果:
- 一个基准数字是一个组合,而不是模型分数。“Terminal-Bench 上 83%”是一个模型 + harness + 脚手架的结果。换掉其中任何一部分,它都会变化。
- **你的循环才是真正的比较单位。**最好的 agent,是在你的技术栈、你的终端里、以你能接受的价格表现最好的那一个 —— 这和挑选编程模型的逻辑一模一样。模型这一半的决策请见 Claude vs GPT vs Gemini 编程对比;本页讲的是 harness 这一半。
2026 年的格局
终端 agent 领域分成了两大阵营:针对某个实验室模型调优的第一方 agent,以及可以指向任何模型(或本地权重)的模型无关 agent。
| Agent | 出品方 | 开放性 | 模型 | 形态 |
|---|---|---|---|---|
| Claude Code | Anthropic | 闭源 | Claude(第一方) | 自主、agentic 的多文件工作;操作系统级强制沙箱;深厚的 skills/MCP/subagent 生态 |
| Codex CLI | OpenAI | 开放(Apache-2.0,Rust) | GPT(第一方) | 自主终端 agent;原生 Windows 沙箱;广泛的平台覆盖 |
| Gemini CLI | 开源 | Gemini(第一方) | 大上下文 agent,与 Google 生态深度绑定(见下方时效性提示) | |
| opencode | 社区(anomalyco) | 开放(MIT,TypeScript) | 任意(模型无关) | star 数最高的开源 agent;CLI + 桌面端;自带模型 |
| Aider | 社区 | 开放(Apache-2.0) | 任意,含本地模型 | git 原生的结对编程伙伴,而非完整的自主编排器 |
| Cline / Goose / 其他 | 社区 | 开放 | 任意 | 编辑器内嵌(Cline)或通用开源 agent(Goose);模型无关 |
真正起决定作用的维度
先把排行榜放一边。这些才是持久的问题:
- 第一方 agent(Claude Code、Codex CLI、Gemini CLI)针对自家模型调优,通常能给出最顺滑的巅峰体验。模型无关 agent(opencode、Aider、Cline)让你可以更换模型 —— 今天用前沿模型,明天用便宜的或本地的 —— 而无需更换工具。如果避免被锁定、或运行本地权重对你很重要,就选模型无关的。
- Aider 是结对编程伙伴:专注、文件级、git 原生的编辑,每次提交你都在环内。Claude Code 和 Codex CLI 是编排器:给一个目标,它们就会在众多文件和 shell 命令上规划并执行。更高的自主性意味着更大的杠杆,也意味着更需要护栏。
- 一个能运行 shell 命令的 agent 可以删除文件、推送代码或花掉钱。相比“相信我”,更应优先选择操作系统级强制沙箱和明确的权限模型。Claude Code 和 Codex CLI 在 2026 年都带有沙箱;在让任何 agent 无人值守运行之前,先确认它能触及什么。
- 在核心循环之外:用于工具的 MCP 服务器、可复用的 skills、subagent、hooks、IDE 集成、CI actions。一个搭配顶级模型的“更薄”agent,可能会输给一个搭配“够用就好”模型的“更厚”agent,因为生态承担了更多工作。
- 订阅制还是 API 计量、上下文窗口、缓存,以及 harness 有多“话痨”,都会影响真实账单。一个便宜的模型放进吞 token 的 harness 里,可能比一个更贵的模型放进精简 harness 里花得更多。
- 不要凭一个头条基准分数就买下一个 harness。要凭一次 30 分钟的试用来买它 —— 用你自己仓库里的真实任务来试,这正是那个能击败一切模型排行榜的“在你自己的代码上做评测”的做法。
- 开放性是一种对冲,而不是你每天都会用到的功能。它的价值会在价格改动或免费层级消失、而你想搬家的那一天显现出来。
可移植性:上下文只写一次
最大的隐藏切换成本是你的项目上下文 —— 构建命令、约定、测试规则,以及那些 agent 无法自行推断的东西。2026 年这方面有了一个事实标准:AGENTS.md,一个放在仓库根目录的纯 Markdown 文件,由 Linux Foundation 旗下的 Agentic AI Foundation 维护,并被 Codex、Gemini CLI、Cursor、Aider、Copilot 的 coding agent、opencode、Goose 以及另外 20 多种工具原生读取(已有 6 万多个仓库采用)。
AGENTS.md= 跨工具的项目上下文。写一次;大多数 agent 都会读取。CLAUDE.md= Claude Code 自己的项目记忆文件(见 CLAUDE.md)。你可以保留一个指向AGENTS.md的小型CLAUDE.md,或者两者都维护。SKILL.md= Anthropic 用于打包可复用 skills 的独立规范,带 frontmatter 和捆绑脚本。它与AGENTS.md是互补关系,而非竞争者 —— 一个描述项目,另一个打包可复用的流程。
把上下文放在 AGENTS.md 里,意味着你尝试另一个 agent 的那天,你的项目规则会免费一起跟过去。
精简版 AGENTS.md —— 只写 agent 无法推断的内容
# AGENTS.md ## Setup - Install: `pnpm install` - Dev server: `pnpm dev` (port 3000) ## Build & test (run before every commit) - Typecheck: `pnpm typecheck` - Lint: `pnpm lint` - Tests: `pnpm test` — all must pass ## Conventions - TypeScript strict; no `any`. - Components in `src/components`, one per file. - Never edit files under `generated/` by hand. ## Constraints - Do NOT run `git push` or open PRs without being asked. - Secrets live in `.env.local`; never commit them.
- 只在 AGENTS.md 里放 agent 无法自行发现的内容。重述显而易见的事实会在每次运行时消耗 token,并把真正重要的规则淹没。要手工整理它 —— 自动生成的上下文文件往往都是噪音。
一口气做出决定
- 需要深度、自主的 Claude 工作,配上最丰富的工具生态 → Claude Code。
- 想要一个绑定 GPT、拥有强大平台/Windows 覆盖的开源第一方 agent → Codex CLI。
- 想要自由更换模型或运行本地权重 → opencode 或 Cline。
- 谨慎、git 原生、人在环内的编辑 → Aider。
- 押注庞大的 Google 生态上下文 → Gemini CLI(先确认当前访问方式)。
无论你选哪个,都把项目上下文放在 AGENTS.md 里,并在投入之前用你自己仓库里的一个真实任务来验证这个选择。
Check yourself
0/4记忆卡片
来源与延伸阅读
- AGENTS.md —— 官方站点与规范(Agentic AI Foundation / Linux Foundation)
- openai/codex —— Codex CLI 仓库(Apache-2.0,Rust)
- sst/opencode —— opencode 仓库(MIT,TypeScript)
- Aider-AI/aider —— Aider 仓库(Apache-2.0)
- google-gemini/gemini-cli —— Gemini CLI 仓库
- Anthropic —— Claude Code 文档
- 本站相关:Claude vs GPT vs Gemini 编程对比 · 本地编程 agent · CLAUDE.md · Skills