我的 AI Agent 瓶颈不在于模型,而在于架构。

三个月前,一个客户的工作流崩溃了。

我使用一个 agent 来处理文档分类、打标签和摘要。每天处理 50 份文档时表现良好。但当处理量达到 500 份时,问题出现了。

每个批次需要 40 分钟。它无法扩展,最终崩溃了。

我没有更换更大的模型。相反,我将 agent 拆分为三个专业角色。这些角色并行运行。

吞吐量从 40 分钟缩短到了 4 分钟。模型没变,改变的是架构。

大多数开发者都会犯一个错误:构建顺序执行的 agent。即由一个 agent 按顺序完成所有任务。

如果你有 500 份文档,每份文档有三个任务,你就会连续进行 1,500 次 LLM 调用。即使每次调用只需 2 秒,你也需要等待 50 分钟。你的模型大部分时间都在等待。

解决方法是使用并发运行的专业化 agent。

  • 使用更小、更专注的 system prompts。
  • 同时运行独立的任务。
  • 使用调度器(dispatcher)来管理任务。

专业化 agent 更快且更便宜。在特定任务上,带有精简 prompt 的小模型会胜过大型通用模型。

然而,不要将所有内容都并行化。要避免以下错误:

  • 不要并行化相互依赖的任务。如果任务 B 需要任务 A 的输出,你必须按顺序运行它们。
  • 不要并行化微小任务。管理 agent 的开销可能比任务本身耗时还要长。
  • 不要忽视检索速度。如果你的系统是因为数据库查询而变慢,那么并行化 LLM 调用也无济于事。

遵循以下步骤进行扩展:

  • 首先对系统进行性能分析(Profile)。找出时间究竟浪费在哪里。
  • 为特定角色使用专业化 agent。
  • 在编写代码之前,先绘制出你的依赖图。

构建 AI agent 涉及两个不同的问题。一个是 agent 做什么,另一个是 agent 如何融入你的系统。

生产系统的成败取决于第二个问题。

如果你遇到了瓶颈,不要只是购买更大的模型。先画出你的系统图。你可能会发现架构才是真正的问题所在。

Source: https://dev.to/mrclaw207/my-ai-agent-bottleneck-wasnt-the-model-it-was-the-architecture-2h9m

Optional learning community: https://t.me/GyaanSetuAi