好的模型不能拯救糟糕的架构,大多数团队都是通过惨痛的经历才明白这一点。我第一次看到一个多智能体系统在生产中严重失败时,情况并不是戏剧性的。没有崩溃。没有错误信息。系统只是一直运行,产生看起来合理的输出,直到有人真正仔细阅读了它们,才发现有些不对劲。
当我们决定研究这个问题时,花了两天时间才弄清楚发生了什么。有趣的是,模型没有产生幻觉,输入输出工具也在提供正确的结果。
问题,当我们最终发现它时,是架构上的。模型和工具设置正确,但想法是推理会把整个事情联系在一起,而这,正如你会猜到的,显然失败了。
事实证明,推理不会做那种事情。
核心观点
1. "反向构建"是什么?
生产中的 AI Agent 不是一个单一的智能东西。
相反,有一组相互作用的部分,具有不同的职责、失败模式和可观察性。
LLM 只是这些组件之一,不是整个系统。只是其中的一部分。
当你大声说出来时,这听起来可能很明显。但是在 2023 年和 2024 年的大部分时间里主导的 "自主智能体"框架不断地把工程师们拉向不同的心理模型:一个实体,一个推理循环,所有事情都由模型处理。
所有你需要的只是工具,一个好的系统提示,以及一切都会到位的希望。
2. 正确的架构是什么样的?
相反,已经交付了真正的基于 AI 的产品的工程师很少用那种方式描述他们的系统。他们实际描述的听起来更像分布式系统架构。
不是因为他们读了一本关于设计模式的书,而是因为他们被烧得足够多次,他们开始在工作流程中更认真地对待结构。
3. 决策层与编排层的分离
每个我见过的运行良好的生产 AI 系统都有类似决策层的东西,无论团队是否这样命名它。这是模型所在并实际执行其工作的地方。
直觉是把所有东西都推到这个层:解析请求,管理内存,处理重试,解决工具失败。
如果你在 Jupyter notebook 中工作,这没问题。在生产环境中,在负载下,有真实用户的情况下,这会变成系统的一部分,在这里,一切都是每个人的错,大多数时候,没有什么是可调试的。
决策层应该把一件事做好,那就是在已经为其准备好上下文的情况下,决定下一步做什么。
谁来准备上下文?别的东西。谁来执行决策?也是别的东西。
这个"别的东西"是编排层,在大多数精心构建的系统中,它确实只是代码:条件语句、异步运行器、重试处理、队列路由,也许还有状态机,这取决于工作流程有多复杂。
许多团队在这里使用框架,因为纯粹的编排代码感觉太简单了,好像应该有更多的基础设施。
这个层包含的魔法越少,当出现问题时,你会越快发现错误。而且错误会出现的。
总结
这篇文章来自 Towards Data Science,探讨了为什么大多数 AI Agent 在生产中失败的根本原因。核心观点是:
- 不要把所有逻辑都塞给模型
- 分离决策层与编排层
- 用代码做代码擅长做的事:条件、重试、路由、状态管理
- 用模型做模型擅长做的事:决策、推理、自然语言处理
这样的架构才能让 AI Agent 在生产中真正存活下来。
FAQ
为什么大多数AI Agent在生产中失败?
主要原因是架构设计问题。很多团队把所有逻辑都塞给模型,没有正确分离决策层与编排层。
什么是AI Agent的决策层与编排层?
决策层是模型所在的地方,负责在已准备好的上下文中决定下一步做什么。编排层是代码,负责准备上下文、执行决策、处理重试和路由等。
生产级AI Agent架构的最佳实践是什么?
1. 不要把所有逻辑都塞给模型;
2. 分离决策层与编排层;
3. 用代码做代码擅长做的事(条件、重试、路由、状态管理);
4. 用模型做模型擅长做的事(决策、推理、自然语言处理)。