为什么用文本给AI编码代理提供架构上下文从根本上说是有问题的
摘要
AI编码代理在处理文本描述时难以应对隐式的架构决策。作者构建了specrabbit,一个可视化画布,通过类型化节点和流程定义架构,并导出机器可读的规范。
AI辅助开发存在一个未被足够关注的问题:我们正在用文本描述本质上是视觉化和空间化的东西。当你给AI编码代理一份文本描述的架构时,你是在让它做出几十个你从未明确指定的隐式决策。这个服务查询哪些表?数据究竟如何从这个表单流向那个端点?当这个调用失败时会发生什么?AI会用听起来合理的假设填补每一个空白——而这些假设会在一个复杂项目中不断累积。结果初看是正确的。代码能运行。但它实现的架构并非你设计的,而是AI猜测的。这不是AI能力的问题,而是输入的问题。文本是一种有损的架构规范格式。我们一直知道这一点——这就是为什么工程师在写一行代码之前,会用白板、画图、使用Miro等工具。我们用视觉来思考架构。但随后我们将其转化为文本,只是为了交给AI。更深层次的问题是,当前的AI编码工作流在“想法”和“代码”之间没有正式的规范层。本应显式做出的架构决策,却被AI隐式地决定了。我思考这个问题有一段时间了,并构建了一个探索某种方法的工具——一个可视化画布,在写任何代码之前,你可以将完整架构定义为类型化节点和显式流程,并导出机器可读的规范,供AI代理直接使用。如果有人好奇,欢迎讨论这种方法:specrabbit.com。但更广泛地说——其他人是如何处理这个问题的?有没有人找到可靠的方法,在写更长提示或提供现有代码之外,给AI编码代理提供无歧义的架构上下文?
相似文章
AI代理是否让构建软件比理解软件更容易?
一位开发者反思了AI编码代理如何能够快速构建和修改软件,但开发者往往失去对代码库架构和决策的理解,从而带来新的工程挑战。
编码代理是否暴露了我们规格的糟糕程度?
文章认为,AI编码代理的许多失败源于模糊的规格,而不仅仅是模型弱点。它建议,编写更清晰、更详细的工作包可能是使用编码代理的开发人员的下一个基本技能。
编码代理是否缺少架构层?我构建了一个开源代理工具来实验这一想法
一位开发者实验了在编码代理中加入显式架构层的概念,构建了一个开源代理工具来测试该想法,并探讨了代理设计中的潜在权衡。
@bkdgiffug: AI 写代码容易跑偏?Smart Ralph 采取不同方法:首先将需求写成具体规范……
Smart Ralph 是一种工具,通过首先将需求定义为规范,然后让代理逐步实现它们来结构化 AI 编程,支持 Claude Code 和 Codex 以改进工程流程。
为AI编码代理编写规范的人?
本文探讨了为AI编码代理编写规范的不同方法,并向社区征集有效方法的意见。