从AI幻觉到规范写作:用YAML驯服AI代理
「开发者分享从过度依赖AI到回归规范写作的历程,提出用YAML编写精确规范以克服AI输出中的“精神病”问题。」
在AI辅助编程日益普及的今天,许多开发者都经历过类似的场景:AI模型生成了令人惊艳的代码,但随后却暴露出各种边缘案例错误、分页方式不当、N+1查询等问题。这种反复修正的过程被一位开发者称为“AI精神病”,并引发了关于如何更有效地与AI协作的深度思考。
这位开发者在博客中描述了自己的经历:最初,他沉迷于编写详尽的Markdown规范文档,包括README.md、AGENTS.md、测试指南、架构文档、PRD和设计文档等,试图通过大量结构化文本来引导AI代理生成高质量代码。然而,这种“规范最大化”的做法虽然比单纯依赖提示词有所进步,但依然产生了“虽然可用但略显粗糙”的结果。他意识到,自己陷入了用AI构建AI工具来开发产品的循环,而非直接使用AI构建产品本身。
转折点出现在他注意到一个子代理在执行任务时出现了意外行为。这促使他反思:或许需要一种更精确、更结构化的规范格式,而不是依赖自由形式的Markdown。他最终转向了YAML,这种格式具有严格的语法和层次结构,能够清晰定义需求、验收标准、测试场景和代码行为。通过YAML,他可以精确指定每个功能的输入输出、边界条件和错误处理,从而减少AI的误解和“幻觉”。
这种方法的优势在于:YAML的确定性降低了AI的歧义性理解;结构化的规范便于AI解析和执行;可组合性允许将复杂任务分解为可验证的子规范。例如,一个API端点规范可以明确包含请求参数、验证规则、响应格式和错误码,AI代理可以逐条执行并验证。
这位开发者进一步提出了“ACAI”(AI验收标准)的概念,即在规范中嵌入可测试的验收条件,让AI代理不仅能生成代码,还能自我验证是否满足所有要求。他通过实践发现,当规范足够精确时,AI代理的自主运行时间可以从几分钟延长到1.5小时,且输出质量显著提升。这标志着从“提示工程”向“规范工程”的转变。
文章最后强调,虽然工具和方法在持续改进,但核心原则不变:高质量的输入决定高质量的输出。正如作者所言,“垃圾进,垃圾出”,没有什么能替代精心编写的规范。对于希望提升AI协作效率的开发者而言,或许应该从减少对AI的盲目依赖开始,转而投入更多精力在规范设计上——用YAML这样的结构化语言,为AI代理铺设一条清晰、无歧义的执行路径。
这一实践也反映了AI辅助开发领域的一个趋势:随着模型能力的提升,开发者需要从“如何让AI生成代码”转向“如何让AI生成正确的代码”。规范写作,尤其是使用YAML等结构化格式,正成为连接人类意图与AI执行的关键桥梁。未来,或许“规范即代码”将成为AI时代软件工程的新范式。
来源:Heooo AI工具导航