从 Chatbots 到 Agentic Systems:我们为何将 ANTICIPA 从 Dialogflow 迁移到 Mastra AI
Source: Dev.to
(请提供您希望翻译的正文内容,我将为您翻译成简体中文并保留原始的格式、Markdown 语法以及技术术语。)
构建能够处理简单 FAQ 的 AI 代理已经是一个成熟的方案。
构建能够生成遥感地图、查询人道主义数据库并在长时间内保持深度上下文的 AI 代理?那是完全不同的难题。
在 ANTICIPA,一个专注于风险管理和韧性的 AI 驱动平台,我们的目标是为弱势社区提供实时数据。为实现这一目标,我们需要一种不仅能“对话”,而且能够 执行复杂、长时间运行任务 的架构。关于 ANTICIPA 的更多信息请参见: Global Projects
我们最初使用 Google 的 Conversational Agents(前身为 Dialogflow CX)开启旅程。它让我们能够快速起步,但随着用例变得更加复杂,我们撞上了架构瓶颈。以下是我们决定将核心代理基础设施迁移到 Mastra AI 的原因,以及软件架构师在构建稳健 AI 工作流时应考虑的要点。
蜜月期:为什么对话代理是很好的起点
别误会:Conversational Agents(Dialogflow)是一个极佳的工具。如果你需要在几分钟内搭建一个代理系统、享受使用额度并快速定义 Playbook,它的确非常高效。

通过 API 连接工具、为简单的 RAG 设置知识库,或从 BigQuery 拉取数据,都异常简便。对于确定性、短时交互,它表现完美。但我们的需求远比这更重。
瓶颈:30 秒墙
在 ANTICIPA,我们的代理充当分析引擎。核心功能之一是与 Google Earth Engine (GEE) 集成,为社区提供定制的遥感地图。我们还在庞大的人道主义数据源上运行重量级的 Graph Retrieval‑Augmented Generation (GraphRAG) 流水线。
这些过程需要时间,而 Dialogflow 对 webhook 响应施加了 严格的 30 秒超时。如果你的处理耗时 31 秒,代理就会失败。为绕过此限制,我们使用 Google Cloud Pub/Sub 实现了异步方案。虽然可行,但在编排、维护和扩展方面极其困难。我们不得不构建复杂的脚手架,仅仅是为了对抗框架的局限。
“30 分钟失忆” 与用户体验摩擦
第二个主要障碍是状态管理。Dialogflow 的会话上下文在 30 分钟 后过期。在灾害风险管理场景中,用户可能请求一次分析,去处理紧急情况,然后在一小时后返回并期望代理记得之前的对话。使用 Dialogflow,代理会出现“30 分钟失忆”。

Duration Limits – Dialogflow Docs
此外,交付丰富的 UX 组件也很痛苦。发送 WhatsApp Flow 或交互式按钮需要高度特定、复杂的 webhook 调用。更糟的是,一旦发送了地图或 WhatsApp Flow,几乎不可能将该上下文再传回代理,让它知道用户正在查看什么。代理缺乏情境感知。

转折:用 Mastra AI 掌控全局
我们需要一个专为真正的 多步骤推理、长时间运行任务 和 持久记忆 设计的框架。我们迁移到 Mastra AI,架构上的转变解决了最大的痛点:
- Zod, TypeScript,
and the power of “Vibe Coding”
我们在代理工程中倾向使用 TypeScript 而非 Python。在“Vibe Coding”(使用 LLM 快速生成代码)的时代,Python 严格的缩进在即时生成时往往会导致脆弱的逻辑。Mastra AI 与 Zod 的深度集成为我们提供了极其强大的类型和结构保证。当我们定义工具或数据模式时,能够对输入和输出结构进行绝对控制。
-
通过 PostgreSQL 实现持久记忆
Mastra AI 让我们摆脱了 30 分钟会话限制。我们现在使用 PostgreSQL 来管理记忆和历史。我们可以通过消息数量显式指定上下文窗口,为代理提供对系统中所有发生事项的稳健、长期记忆,包括用户交互过的 WhatsApp 流程或地图。 -
灵活的工作流和原生评估
从僵硬的确定性流程转向真正生成式、具代理性的工作流在我们之前的技术栈中是个挑战。Mastra AI 的 Workflows 为我们提供了所需的灵活性。
本地评估
将本地评估内置于系统,使我们能够无缝测试人道主义 RAG 输出的准确性。
架构师的结论
-
快速客服或基本事务路由
如果您正在为这些用例构建 AI 助手,Google 的 Conversational Agents 将帮助您在创纪录的时间内投入生产。 -
复杂的高延迟工作流
如果您的系统需要:- 执行高延迟 API 调用(例如卫星影像生成)
- 持久的长期记忆
- 对代理间通信进行严格的数据类型约束
那么您需要摆脱 30 秒 webhook 限制。对我们 ANTICIPA 来说,迁移到 Mastra AI 是一次战略性举措,终于让我们的代理能够在没有人为限制的情况下思考和行动。
