常见问题排查¶
系统性诊断 Vibe Coding 中的常见问题。
问题诊断框架¶
遇到问题时,按以下顺序排查:
graph TD
A[AI 输出不符合预期] --> B{规格是否清晰?}
B -->|否| C[重写规格,补充约束]
B -->|是| D{上下文是否充分?}
D -->|否| E[补充相关代码和约定]
D -->|是| F{任务是否过大?}
F -->|是| G[拆分为更小的任务]
F -->|否| H[换一个 AI 模型或方法]
常见问题及解决方案¶
问题一:AI 修改了不该改的文件¶
症状:AI 在没有被要求的情况下修改了其他文件。
根因:规格中没有明确的范围约束。
解决方案:
问题二:AI 引入了不存在的依赖¶
症状:生成的代码 import 了项目中没有安装的包。
根因:AI 不知道项目的实际依赖列表。
解决方案:
问题三:生成的代码风格与项目不一致¶
症状:AI 使用了不同的命名规范、代码结构或错误处理方式。
根因:没有提供风格参考。
解决方案:
问题四:AI 两次生成相同的错误结果¶
症状:修改提示词后,AI 仍然生成相同的错误。
根因:问题可能在规格或上下文,而不在提示词措辞。
解决方案: 1. 停止重试,分析失败的根因 2. 检查规格是否有歧义 3. 检查上下文是否缺少关键信息 4. 尝试把任务拆得更小
问题五:验证通过但功能不正确¶
症状:测试全部通过,但手动测试发现功能有问题。
根因:测试用例没有覆盖实际的使用场景。
解决方案:
问题六:AI 在长对话中忘记了约束¶
症状:对话进行到后期,AI 开始违反之前设定的约束。
根因:上下文窗口中早期的约束被后续内容稀释。
解决方案: - 开启新对话,重新提供约束 - 在每次请求中重复关键约束 - 把约束写入项目规则文件,让 AI 每次自动读取
快速诊断清单¶
遇到问题时,快速检查:
- 规格是否包含目标、范围、约束、验收四个要素?
- 是否提供了相关代码作为上下文?
- 是否明确说明了"不做什么"?
- 任务是否只涉及 1-3 个文件?
- 验收标准是否具体可执行?
如果以上都满足但问题仍然存在,考虑: - 换一个更强的模型 - 把任务拆得更小 - 人工实现这个特定部分