AI Coding 工具的讨论很容易滑向品牌比较:哪个补全更快,哪个模型更强,哪个界面更顺手,哪个 Agent 更会自己修错。

这种比较有用,但不够。真正影响团队落地效果的不是单个工具的功能清单,而是三个更底层的问题:产品形态默认鼓励什么工作流,任务方法论如何控制风险,Harness 能不能把验证、状态、权限和恢复托住。

把这三层拆开后,AI Coding 工具的差异会清楚很多。IDE、CLI、Spec 工作流、云端 Agent 并不是互相替代的银弹,它们只是把人的注意力放在不同位置。

先看产品形态,不先看品牌

AI Coding 工具大致可以抽象成四类形态。

形态 默认入口 强项 代价
IDE 辅助型 当前文件、光标、选区 低摩擦、适合局部修改 容易停留在补全和问答
CLI Agent 型 任务描述、仓库、命令行 端到端闭环、天然适合自动验证 需要更强的权限和环境治理
Spec-first 型 需求、设计、任务清单 适合 Feature 级需求和长任务 小修小补显得偏重
混合型 IDE 协同加 Agent 执行 能在编辑体验和任务闭环之间切换 产品边界复杂,容易两头都重

IDE 的优势是贴近代码现场。开发者正在看哪个文件,模型就能看到哪个文件;选中一段代码,模型就能局部解释、重构、补测试。它的摩擦最低,所以适合高频小任务。

CLI Agent 的优势是任务闭环。它天然可以读仓库、改文件、跑命令、看失败、再修改。只要权限、沙箱和验证设计得足够稳,CLI 更容易把“帮忙写一点”推进到“替人跑完一轮任务”。

Spec-first 工具把意图锁定放在编码之前。需求、设计、任务拆解先被显式化,Agent 执行时不再只依赖一句模糊指令。它适合中大型 Feature,也适合需要离线长跑的任务。代价是仪式感更重,不适合每个小问题都走完整流程。

混合型工具试图同时保留编辑器里的即时协同和 Agent 的长任务能力。这个方向很自然,但产品设计难度也更高:如果 IDE 侧太重,Agent 会变成高级补全;如果 Agent 侧太重,编辑器协同会变成附属入口。

CLI 和 IDE 的差异是默认工作流

CLI 与 IDE 的争论不该停在“界面不同”。真正的差异是默认工作流。

IDE 默认围绕当前编辑动作组织。它关心当前文件、当前符号、当前错误、当前 diff。这个局部性非常适合日常开发,但也容易让 Agent 被限制在“看见哪里改哪里”的模式里。

CLI 默认围绕任务闭环组织。输入通常是一段任务描述,输出可以是一组文件修改、验证日志和报告。它不天然绑定某个打开的编辑器状态,因此更适合端到端执行、长时间自治、多 Agent 并行和自动化验证。

小范围修复、解释代码、补一个测试,IDE 更顺手。跨模块改造、批量修复、夜间运行、自动回归,CLI 或云端 Agent 更自然。

工程判断应该落在任务形状上,而不是工具信仰上。

Vibe、Plan、Spec 是风险分级

AI Coding 的方法论可以简单分成三档。

方法 适合任务 控制点
Vibe 小修小补、低风险探索 短指令交给 Agent,完成后快速看 diff
Plan 中等复杂度修改 先产出方案,人审一次,再执行
Spec Feature 级需求、跨模块改造 需求、设计、任务拆解分别审查

Vibe 的价值是低摩擦。它适合那些失败成本低、上下文简单、容易通过测试发现问题的任务。比如改一个命名、补一个边界条件、解释一个函数、生成一段临时代码。

Plan 多了一次校准。Agent 先描述理解、拆解步骤、列出会改哪些文件和如何验证。人只需要在执行前审一次方向,就能挡住大部分“理解错任务”的失败。

Spec 把控制点继续前移。需求阶段确认“做什么”,设计阶段确认“怎么做”,任务阶段确认“按什么顺序做”。它不一定最快,但适合那些一旦做偏就很难回滚的需求。

这三档不是成熟度阶梯,而是风险分级。小任务走 Spec 会拖慢节奏,大任务只走 Vibe 会把风险藏到最后。

Harness Engineering 的四条基本功

模型能力是地基,Harness 决定这块地基能承多重的楼。

一个实用的 AI Coding Harness,至少要做四件事。

实践 核心做法 解决的问题
地图式导航 用仓库内的指导文件描述目录、命令、边界和惯例 Agent 不必靠猜来理解项目
知识嵌入仓库 把规范、坑点、脚本和案例放进 repo 经验不散落在聊天记录和外部文档里
机械化验证 lint、typecheck、build、test、smoke check 自动阻塞 质量不靠人工记忆兜底
迭代自愈 失败后自动读错误、修复、重跑,连续失败再升级 把常见失败留在自动循环里

地图式导航不应该写成百科全书。太长的指导文件会污染上下文,也会让关键规则被稀释。更好的结构是:顶层文件像地图,只放目录、入口、禁区和常用命令;详细规则放到 docs、scripts 或专题文档里,让 Agent 按需读取。

知识嵌入仓库的重点是可执行性。团队常犯的坑点、部署前检查、测试数据生成、接口契约、迁移流程,如果只存在外部文档里,Agent 很难稳定找到。放进 repo 后,它们才会跟代码一起演化,也能被 CI 和脚本引用。

机械化验证是最便宜的质量杠杆。只要一个错误能被脚本稳定发现,就不应该留给人工审查。人工审查应该集中处理意图、架构、业务语义和风险,而不是反复指出格式错误、编译错误和明显的测试失败。

迭代自愈让 Agent 从“生成一次答案”变成“跑一个闭环”。改完、验证、读错误、再改,这是 Agent 真正开始替代一部分工程劳动的位置。连续多轮失败时再升级给人,既保留效率,也避免无限循环。

Big Model 和 Big Harness 都不够

AI Coding 里有两个容易极端化的判断。

一种判断认为,所有关键能力都在模型里。模型足够强,框架、提示词、工作流都只是薄壳。

另一种判断认为,模型只是可替换部件,真正壁垒在 Harness、Workflow 和平台。

实际落地更像中间状态。弱模型放进再强的 Harness,也会在理解、规划和代码质量上拖后腿。强模型放进松散的 Harness,也会被权限、状态、验证和上下文管理问题拖垮。

模型决定下限,Harness 决定上限。

模型越强,越会暴露 Harness 的不足。一个只能补全几行代码的模型,不太需要复杂的沙箱、回滚和审计;一个可以连续运行几十分钟、跨多个文件修改、自动调用工具的 Agent,就必须被 Harness 严格托住。

投入产出比不是线性的

AI Coding 工程化有明显的边际收益递减。

第一阶段的收益通常很高:写清楚项目入口、补齐常用命令、建立最小验证、把禁区和注意事项写进仓库。很多团队只要做到这些,Agent 的可用性就会显著提高。

第二阶段开始进入体系化:任务模板、Spec 流程、自动测试矩阵、审查规则、trace、失败归因、权限策略、沙箱隔离。这一阶段适合高频使用 Agent 的团队。

第三阶段是平台化:Cloud Agents、统一任务队列、会话持久化、组织级 Skill、集中审计、跨项目复用、自动评测和回归。它的投入更大,收益也更依赖规模。

不是每个团队都需要一开始就做第三阶段。更稳的路径是从最便宜的验证闭环开始,把 Agent 产出的坏结果先挡住,再逐步把经验沉淀成 Harness 能力。

工具选择可以变成决策表

工具选择不需要变成信仰问题。按任务风险和任务形状拆开,判断会简单很多。

场景 更适合的形态 原因
单文件小改动 IDE 辅助型或 Vibe 低摩擦比流程控制重要
中等范围重构 CLI Agent 加 Plan 需要任务闭环,也需要执行前校准
Feature 级需求 Spec-first 或 Plan -> CLI 需求和设计偏差要尽早发现
夜间长跑任务 Cloud Agent 或强 Harness CLI 需要状态、恢复、验证和产物回收
多 Agent 并行探索 CLI/Cloud 加结构化汇总 重点是合流、裁判和去重
高风险生产操作 建议位 Agent Agent 产出候选,人执行关键动作

这个表背后的原则很简单:任务越小,越应该降低流程摩擦;任务越大,越应该提前显式化意图;风险越高,越应该加强验证和权限边界。

开发者价值迁移到意图和质量

AI Coding 让代码从目的变成媒介。

过去的主要劳动是把意图翻译成代码。现在越来越多代码可以由 Agent 生成,人的价值就迁移到更上游和更下游:上游是定义意图、压缩上下文、选择任务边界;下游是验证质量、判断风险、决定是否进入主干。

这并不意味着代码能力不重要。恰恰相反,越懂代码,越能写出好验收标准,越能看出 Agent 生成结果里的微妙问题,也越能判断哪些工作应该自动化、哪些工作必须保留人工门禁。

AI Coding 工具如果只停在“更快写代码”,上限并不高。更有价值的方向,是让工程系统持续产生候选方案,并且有能力把坏候选挡在主干之外。

模式速查表

关键词 对应模式 判断
小改动、低风险 Vibe 快速生成,快速看 diff
中等任务、不想跑偏 Plan 执行前加一次方案审查
Feature、跨模块 Spec 需求、设计、任务拆分分别锁定
长任务、离线执行 Harness 状态、沙箱、验证和回收先建好
多工具选择 任务形状优先 不按品牌选,按风险和闭环选
团队规模化 知识进仓库 规则、坑点、脚本和验证跟代码一起演化

AI Coding 工具真正要比较的,不是哪个按钮更漂亮,也不是哪个 Agent 更像真人。关键是它能否把意图锁住,把执行托住,把错误挡住,把结果送到可以判断的位置。