同样用 AI 写代码,为什么有人效率翻倍,有人越用越累?
Claude Code、Cursor、GitHub Copilot……AI 编程工具已经成为开发者的日常。但一个有趣的现象是:用同一款工具,不同人的产出质量天差地别。
观察大量使用 code agent 开发的人,可以清晰地看到两种风格:
第一种:口语流。
"帮我加个登录功能。"
"这个页面有点丑,改一下。"
"报错了,你看着办。"
想到什么说什么,把 agent 当搜索引擎用。结果往往是 agent 反复猜测意图、来回返工,产出质量像抽盲盒——偶尔惊艳,大多时候要面对一堆"看起来对但跑不通"的代码。
第二种:结构化流。
"在现有项目里加登录功能。技术栈 Astro + SQLite,用户表在
src/db/schema.ts,认证用 session cookie 不用 JWT。先给实现方案和涉及文件清单,确认后再动手。完成标准:登录页可提交表单,密码错误返回明确提示,成功后跳转/dashboard。"
先拆解任务、给足上下文、定好验收标准,再让 agent 执行。结果是产出一次到位,最多少量迭代。
这两类人的差距,表面上是"会不会跟 AI 说话",本质上是对自己需求的清晰度。这篇文章想聊聊:如何把和 agent 的协作,从口语流升级为结构化流。
为什么口语化交流在 agent 上代价更大
和人类同事协作时,模糊需求是可以被容忍的——同事会追问、会结合过往默契做判断。但 agent 有几个特点,放大了模糊需求的代价:
1. Agent 不会真正追问,它会"自信地错"。
遇到歧义时,agent 的默认行为是挑一个看起来合理的假设直接执行。你说"加个登录",它可能给你上一套 JWT,而你的项目明明用的是 session。它不了解你的项目背景,也不会因为不确定而停下来。
2. 碎片化的输入导致碎片化的上下文。
想到什么说什么,意味着关键约束散落在十几轮对话里。每一轮 agent 都在残缺的信息上做大量隐式假设,错误会持续累积。
3. 返工成本低反而纵容了坏习惯。
改提示词不要钱,于是"先扔过去再说,不对再改"成了常态。但返工的真实成本不在 token,而在你的注意力:逐行检查一堆方向错误的代码,比一开始就写清楚需求更累。
一句话总结:人类同事靠默契补全你没说出口的话,agent 只会把它当成自由发挥的空间。
结构化协作的四个做法
以下做法经过实际项目验证,按投入产出比排序。
1. 任务拆解:把大任务切成可独立验证的小步
不要一次扔给 agent 一个"帮我做个电商网站"级别的任务。正确的粒度是:每一步都有明确的输入、输出和验证方式。
反面例子:
"实现订单系统。"
正面例子:
"第一步:在
src/db/schema.ts里新增 orders 表,字段包括 id、user_id、amount、status、created_at,生成 migration。先只做这一步。"
拆解的好处不只是 agent 做得更准,更重要的是每一步的验证成本都低了——你可以在每一步停下来检查,而不是最后面对一千行不敢删的代码。
2. 上下文前置:一次说清技术栈、位置和约束
Agent 完全不了解你的项目。你心里有数的那些"常识"——技术栈、代码放在哪、哪些坑不能踩——对它来说都是未知的。在任务开头一次性给出:
- 技术栈:"Astro + TypeScript + Drizzle ORM,不要引入新依赖。"
- 代码位置:"现有用户逻辑在
src/lib/auth.ts,新代码放同一目录。" - 约束:"不能改现有的 orders 表结构;项目根目录有
AGENTS.md,先读它。"
一个经验法则:如果你换了个人类同事来做这件事,需要交代什么背景,就对 agent 交代什么。
3. 验收标准:提前定义"做完了"长什么样
"改一下这个 bug"和"修复这个 bug,验证方式:npm test 里 orders.test.ts 全绿"是两个任务。后者让 agent 可以自己跑测试、自己确认结果,而不是你说"不对"它再改。
验收标准可以是:
- 某个测试文件或用例通过
- 某个页面能完成具体操作流程
- 某个 API 返回特定结构
这也是把"验证"这个本属于你的工作,部分交还给 agent 的前提。
4. 渐进式交付:先要方案,确认后再要代码
对于任何超过几十行的改动,不要让 agent 直接动手。先让它输出实现计划:
"先不要写代码。列出实现方案:涉及哪些文件、每个文件改什么、可能的风险。我确认后再执行。"
这一步的成本几乎为零,但能挡掉大部分方向性错误——看错一个方案只需要一分钟,返工一次错误实现可能要一小时。很多工具(如 Claude Code 的 plan mode)已把"先计划后执行"做成内置流程,值得养成习惯。
一个反直觉的结论
观察下来,用 agent 用得最好的人,往往不是最懂"提示词技巧"的人,而是本来就擅长写需求文档、做 code review、拆解任务的工程师。
这说明 agent 并没有降低工程能力的价值,反而放大了两类能力的杠杆:
- 需求表达能力:你能多清楚地描述"要什么",agent 就能多准确地交付。
- 验证能力:你能多快地判断"做得对不对",协作效率就有多高。验证不了产出的人,只能祈祷 agent 不出错。
从这个角度看,code agent 其实在倒逼程序员回归软件工程的本质:想清楚再动手,动手之后要验证。 那些靠"边写边想"混过来的习惯,在 agent 时代会被放大成灾难。
附:派活前的自查清单
每次给 agent 派任务之前,过一遍这张清单:
- 这个任务是否够小,能一次验证完?不能就先拆。
- 我是否交代了技术栈、相关文件位置、不能碰的约束?
- "做完了"的验收标准是什么?写进需求里了吗?
- 这个改动是否大到需要先出方案再动手?
- 产出后,我打算怎么验证(测试 / 跑一遍 / 逐行读)?
如果五个问题都答得上来,大概率一次到位;答不上来的那些,就是你和 agent 接下来要返工的地方。
关于蕲网科技
这篇文章里的方法论,正是我们日常交付项目的工作方式。
蕲网科技长期专注于 AI Agent 智能体开发与定制化软件交付。我们在真实项目中大量使用 code agent 提效,但效率的来源从来不是工具本身,而是任务拆解、上下文管理、验收驱动这套工程方法——本文总结的就是我们在一线验证过的经验。
如果您的团队也在引入 AI 编程工具,或者正有智能化项目需要落地,欢迎联系我们聊聊。我们会用 1 个工作日回复您,提供务实的方案建议。