8.4 常见坑和坏写法¶
有些做法短期看起来省事,长期会让 Agent 改错文件、漏跑测试,或提交只有表面可运行的代码。这里直接列出常见坏写法,以及对应的修法。
坑 1:一句话开工¶
帮我优化一下。
这句话对人类同事都不够用,对 AI 则只能依赖猜测。它不知道你要优化速度、结构、文案,还是视觉;也不知道哪些位置不能修改。
开工前把四件事写清楚:
写 Goal / Context / Constraints / Done When。
坑 2:网页端伪装本地开发¶
把文件一段段复制给网页模型,让它生成补丁。
这样做容易制造表面正确但无法应用的补丁。网页模型看不到完整本地仓库,也跑不了测试;如果你复制遗漏一段,它会自行补全缺失上下文。
建议分工是:
网页端负责澄清,本地 Agent 负责执行。
坑 3:规范文件写成作文¶
规范文件不是宣言。写太长、太虚,Agent 难以提取可执行约束。尤其是“写可验证、可维护的代码”“注意安全”这种话,看着正确,但没有可执行约束。
把规则改成短、明确、可验证:
短、硬、具体。
每条规则问:删掉它,Agent 会犯错吗?
坑 4:MCP 装太多¶
MCP 不是越多越强。工具过多时,权限边界会变乱,调用噪声会变大,Agent 也更容易在多个相似工具里选错。
起步时只接最小集合:
先只读、少量、明确场景。
坑 5:skills 全靠下载¶
别人写的 skill 可以参考,但不能替你理解自己的流程。下载太多以后,常见结果是触发条件互相冲突,输出格式也和你的项目流程不匹配。
先从自己的高频流程提炼:
优先把自己的高频流程写成 skill。
坑 6:不看 diff¶
聊天总结可能遗漏事实,diff 记录实际改动。最终发生了什么,只能看文件改动。AI 可能附带修改无关文件,也可能绕过已有抽象,风险也可能出现在一行看似无害的改动里。
不要跳过最后这一步:
最终事实是 diff,不是聊天总结。
坑 7:完成不验证¶
“AI 说完成”只是一个声明,不是证据。
AI 说完成 != 项目已经完成。
让它交代验证命令和结果;跑不了,也要说清楚为什么跑不了。
完成前必须运行或说明验证命令。
坑 8:把工具数量当成能力¶
同时装很多 MCP、skills、hooks 和多 Agent 框架,看起来像系统,实际可能只是更难解释的混乱。
先问缺口:
当前失败来自任务不清、上下文不足、执行不稳、权限太大,还是验证缺失?
每次只补一层。补完后用一次真实任务验证它是否减少返工。
坑 9:不写交接记录¶
长任务做到一半只靠聊天历史续命,很容易在上下文压缩、换工具或换人时断掉。
每次阶段结束都写四行:
已完成:
未完成:
验证结果:
下一步:
这些内容应该进入任务目录或项目文档,而不是只留在对话里。