06.06进阶
本页目录 09
常见问题排查
系统性诊断 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 不知道项目的实际依赖列表。
解决方案:
在上下文中附上 package.json 或 requirements.txt,
并在约束中明确:"不引入新的依赖,只使用已有的包。"
问题三:生成的代码风格与项目不一致
症状:AI 使用了不同的命名规范、代码结构或错误处理方式。
根因:没有提供风格参考。
解决方案:
附上同类功能的现有实现作为参考:
"请参考以下现有实现的风格(命名、结构、错误处理):
[附上参考代码]"
问题四:AI 两次生成相同的错误结果
症状:修改提示词后,AI 仍然生成相同的错误。
根因:问题可能在规格或上下文,而不在提示词措辞。
解决方案:
- 停止重试,分析失败的根因
- 检查规格是否有歧义
- 检查上下文是否缺少关键信息
- 尝试把任务拆得更小
问题五:验证通过但功能不正确
症状:测试全部通过,但手动测试发现功能有问题。
根因:测试用例没有覆盖实际的使用场景。
解决方案:
在验收标准中增加手动验收步骤:
"除了运行测试,还需要手动验证以下场景:
1. [场景 1]
2. [场景 2]"
问题六:AI 在长对话中忘记了约束
症状:对话进行到后期,AI 开始违反之前设定的约束。
根因:上下文窗口中早期的约束被后续内容稀释。
解决方案:
- 开启新对话,重新提供约束
- 在每次请求中重复关键约束
- 把约束写入项目规则文件,让 AI 每次自动读取
快速诊断清单
遇到问题时,快速检查:
- 规格是否包含目标、范围、约束、验收四个要素?
- 是否提供了相关代码作为上下文?
- 是否明确说明了“不做什么”?
- 任务是否只涉及 1-3 个文件?
- 验收标准是否具体可执行?
如果以上都满足但问题仍然存在,考虑:
- 换一个更强的模型
- 把任务拆得更小
- 人工实现这个特定部分