为什么用文本给AI编码代理提供架构上下文从根本上说是有问题的
摘要
AI编码代理在处理文本描述时难以应对隐式的架构决策。作者构建了specrabbit,一个可视化画布,通过类型化节点和流程定义架构,并导出机器可读的规范。
AI辅助开发存在一个未被足够关注的问题:我们正在用文本描述本质上是视觉化和空间化的东西。当你给AI编码代理一份文本描述的架构时,你是在让它做出几十个你从未明确指定的隐式决策。这个服务查询哪些表?数据究竟如何从这个表单流向那个端点?当这个调用失败时会发生什么?AI会用听起来合理的假设填补每一个空白——而这些假设会在一个复杂项目中不断累积。结果初看是正确的。代码能运行。但它实现的架构并非你设计的,而是AI猜测的。这不是AI能力的问题,而是输入的问题。文本是一种有损的架构规范格式。我们一直知道这一点——这就是为什么工程师在写一行代码之前,会用白板、画图、使用Miro等工具。我们用视觉来思考架构。但随后我们将其转化为文本,只是为了交给AI。更深层次的问题是,当前的AI编码工作流在“想法”和“代码”之间没有正式的规范层。本应显式做出的架构决策,却被AI隐式地决定了。我思考这个问题有一段时间了,并构建了一个探索某种方法的工具——一个可视化画布,在写任何代码之前,你可以将完整架构定义为类型化节点和显式流程,并导出机器可读的规范,供AI代理直接使用。如果有人好奇,欢迎讨论这种方法:specrabbit.com。但更广泛地说——其他人是如何处理这个问题的?有没有人找到可靠的方法,在写更长提示或提供现有代码之外,给AI编码代理提供无歧义的架构上下文?
相似文章
编码代理是否暴露了我们规格的糟糕程度?
文章认为,AI编码代理的许多失败源于模糊的规格,而不仅仅是模型弱点。它建议,编写更清晰、更详细的工作包可能是使用编码代理的开发人员的下一个基本技能。
为AI编码代理编写规范的人?
本文探讨了为AI编码代理编写规范的不同方法,并向社区征集有效方法的意见。
@bibryam: 使用代理,保持主导权. https://devindickerson.dev/posts/using-agents-keeping-agency/…
一篇博客文章警告,AI 编码代理通常会默认选择流行但不适用的技术,导致技术债务,并敦促开发者在架构决策中保持主导权。
我曾以为AI智能体在于工具,但我错了
一篇关于构建AI智能体的反思文章,指出核心挑战并非工具,而是设计人机之间的边界、信任与故障模式。
代码代理应被视为受限执行者而非架构权威吗?
作者认为代码代理应被视为受限执行者而非自主架构师,提出一种模型,其中人类定义不可协商的约束,代理接收范围狭窄的任务,并附带外部状态跟踪。