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 步骤会收集将要更改的内容和位置,审阅代码覆盖率指标,并精确记录正在发生的事情—不多也不做臆测。