主流 Coding Agent 对比
本文是能力边界和选型方法,不是对任何产品的永久承诺。命令和具体开关以各产品官方文档为准。
选型维度
| 维度 | 需要回答的问题 |
|---|---|
| 运行位置 | 终端、IDE、桌面应用还是远程工作区? |
| 上下文 | 是否支持仓库规则、目录级规则和会话记忆? |
| 扩展 | 是否支持 Skills、Plugins、Hooks、Subagents 和 MCP? |
| 权限 | 能否限制目录、命令、网络和写操作? |
| 协作 | 是否能保存轨迹、导出 diff、接入 CI? |
| 模型 | 能否使用目标模型,是否支持 Tool Calls 或 Responses API? |
能力矩阵
下表用于建立理解框架;具体版本请查看产品官方资料。
| 工具 | 常见入口 | 配置/规则 | 扩展重点 | 更适合 |
|---|---|---|---|---|
| Claude Code | CLI/终端 | CLAUDE.md | Skills、Hooks、Subagents、MCP | 终端驱动的复杂代码任务 |
| Codex | CLI/IDE | AGENTS.md 等 | MCP、Skills、任务隔离 | 受控的工程任务和代码修改 |
| Cursor | IDE | 项目规则 | Rules、MCP、Agent | IDE 内的交互式开发 |
| Trae | IDE | 项目规则 | Agent、MCP、工作流 | IDE 内的中文开发体验 |
| OpenCode | CLI/终端 | Agent 配置 | MCP、Plugins、Subagents | 可配置的终端工作流 |
| OpenClaw | Agent 平台 | 工作区配置 | Skills、Channels、Tools | 多通道 Agent 自动化 |
| DeepSeek Harness | CLI/Web | Profile、Workspace | Skills、MCP、扩展 | DeepSeek 驱动的代码协作 |
为什么需要 Harness
单个 Agent 工具往往解决“如何让模型修改代码”;Harness 解决的是更完整的交付闭环:
因此选型不应只看模型回答质量,还要观察:
- 是否能稳定恢复长任务;
- 工具和权限是否可控;
- 失败是否能被机器验证;
- 是否能在团队中统一规则;
- 升级后是否有回归任务集。
一个通用的项目规则文件
不同工具的文件名和加载规则可能不同,但内容可以抽象为同一份工程契约:
markdown
# Repository Contract
## Before editing
- Read the nearest package README and existing tests.
- Prefer the smallest change that satisfies the task.
## Verification
- Run the formatter for changed files.
- Run the narrowest relevant test first.
- Report commands and results; do not claim tests you did not run.
## Safety
- Never print secrets.
- Ask for approval before destructive or external write operations.
- Keep unrelated user changes intact.落地时应根据工具的规则层级拆分到仓库级、目录级和个人级配置,避免一个巨大文件污染所有任务。
个人与团队的推荐组合
个人探索
- 一个主力 Coding Agent;
- 一份简短仓库规则;
- 一个格式化和测试 Hook;
- 两到三个只读 MCP 工具。
团队交付
- 统一仓库规则和版本;
- 只允许经过审计的 Skills/MCP;
- Planner、Coder、Reviewer 分工;
- CI 作为最终门禁;
- 固定任务集做升级回归。
生产自动化
- 远程 Harness 服务和身份认证;
- 工具按角色授权;
- 所有写操作保留审批和审计;
- 失败可重试但有预算上限;
- 高风险动作必须人工确认。
练习
- 使用上表为一个 10 人 Go/Java 团队写一页选型记录。
- 将仓库规则拆成“模型建议”和“机器门禁”两列。
- 为同一个缺陷任务分别设计个人模式和团队模式的执行流程。
