AI 编码纪律—为什么结构化提示词与 Contracts 至关重要
正确地设置 AI
借助 AI 编程会引出一些真实且常常无人解答的问题:如何配置 AI 及其各个 Agent,才能让一切正常运行,同时不破坏已有的代码和逻辑?重构绝不能破坏代码库中已有的结构。
对 AI 最重要的是什么
- 精确、详尽的提示词—需求描述得越清楚,执行得就越好。
- 将工作拆分为更小、更细的步骤,并在每一步之后进行验证,效果优于一个庞大的提示词。
- 减少幻觉—AI 倾向于按关键词匹配挑选听起来最接近的选项,即使它与实际需求并不相符。
- 把业务逻辑和明确的“什么绝不能被破坏”的约束写入提示词,效果优于仅有提示词加单元测试。
- 单元测试、集成测试和端到端测试的作用,是确认某项更改没有破坏 Task 自身范围之外的功能。
AITM 在标准 AI Agent 之上增加了什么
- Contracts、DOM 元素、行为链和业务逻辑描述—这些是普通 AI Agent 无法获得的。
- 由 Chat 或 Brainstorm 生成的 Task 会利用 Contracts、文档和行为业务逻辑,快速定位必须保持不变的代码部分,并在 AI 动手之前将相关业务逻辑注入提示词—从而生成为 AI 量身定制、幻觉最少、实现效果最佳的提示词。
- 提示词还会获得 Skills 和特定的 Contracts,使 Task 能够被精确地引导至既有的编码模式和既有的业务逻辑,提高更改与现有代码的契合度。
- 每个 Pipeline Task 都按其请求类型—Bug、Enhancement 或 Feature—生成,并在 Pipeline 中针对不同类型采用不同的执行与验证方式,从而持续保持较高的代码质量。
- 大型需求会被拆分为相互依赖、层层递进的较小 Task;链条中的最后一个 Task 负责验证所有这些 Task 是否都已被正确、精确地创建。
- 过大或不合逻辑的更改会使 Task 停止,需要由人(或更强的模型)确认该更改确实正确之后才会继续。
- Architect 步骤会收集将要更改的内容和位置,审阅代码覆盖率指标,并精确记录正在发生的事情—不多也不做臆测。