📢 转载信息
原文链接:https://www.kdnuggets.com/building-production-ready-ai-agents-with-agent-development-kit
原文作者:Rachel Kuznetsov
Image by Editor
构建可投入生产的 AI 智能体框架
智能体 AI 系统的出现标志着开发人员在构建智能应用方法上的一次重大转变。来自 谷歌 的 Agent Development Kit (ADK) 通过提供一个简化多智能体系统构建和部署的框架,解决了该生态系统中的一个关键空白。谷歌云实验室最近的演示说明了 ADK 如何将复杂的智能体编排转化为可管理、可投入生产的应用程序。
了解 Agent Development Kit 的核心目的
Agent Development Kit 是一个专门的框架,旨在处理构建 AI 智能体所需的基础工作。ADK 不强迫开发人员从头开始实现智能体协调、状态管理和工具调用模式,而是将这些功能作为内置的抽象层提供。这种方法使开发团队能够专注于应用程序特定的逻辑和业务需求,而不是基础设施问题。
该框架将智能体定义为一个利用模型进行推理并选择适当工具以实现特定目标的系统。这个定义包含了三个关键组成部分:提供智能的模型、实现行动的工具以及连接它们的编排层。ADK 专注于管理这个编排层,为智能体开发创建了标准化的方法。
ADK、MCP 和 Vertex AI 之间生产级 AI 智能体架构的工作流程 | 图片由编辑提供 (点击放大)
多智能体架构与协调
ADK 的一个显著特点在于它对多智能体系统的支持。该框架没有将开发人员限制在单智能体架构中,而是支持创建协同工作以完成复杂任务的专业智能体。这种模式对于需要不同类型处理或专业知识的应用特别有价值。
一个典型的实现可能包括三个不同的智能体,每个智能体都有特定的职责。一个“问候智能体”负责初始用户交互和请求解析。“研究智能体”负责从维基百科或企业数据库等外部来源检索信息。“响应智能体”负责将来自其他智能体的信息合成为连贯的用户界面输出。ADK 管理这些智能体之间的通信,确保适当的排序和数据流。
这种多智能体模式提供了几个架构优势。每个智能体都可以独立开发、测试和优化。专业智能体可以跨不同应用重复使用。系统获得了灵活性,可以在不重构整个应用的情况下添加或修改智能体。调试和监控变得更加细致,因为问题可以隔离到特定的智能体。
与 AI 模型和服务的集成
ADK 作为用户界面和 AI 模型之间的中间件运行,管理模型交互的复杂性。该框架与 Vertex AI 的 Gemini 模型无缝集成,负责 API 调用、响应解析和错误管理。这种集成将模型通信的底层细节抽象化,使开发人员能够在更高的抽象级别上工作。
该架构将 ADK 定位在表示层和智能层之间。用户请求通过 Web UI 或 API 到达。ADK 接收这些请求并确定应由哪个智能体处理。智能体利用 Vertex AI 模型进行推理和决策。结果通过 ADK 流回用户界面。这种关注点清晰的分离简化了开发和维护。
重要的是,ADK 的设计不会将开发人员锁定在特定的模型提供商上。虽然演示集中在 Vertex AI 集成上,但该框架的架构支持连接到各种模型后端,包括在专用基础设施上运行的 Gemma 等自托管模型。
Model Context Protocol 集成
基于 ADK 的系统的一个关键能力在于与 Model Context Protocol (MCP) 服务器的集成。这些服务器会暴露智能体可以调用的工具和数据源,从而扩展它们超越纯粹语言处理的能力。ADK 管理这些外部工具的发现、调用和结果处理。
MCP 集成的工作流程遵循清晰的模式。智能体接收到需要外部信息或操作的用户查询。ADK 促进智能体对可用 MCP 工具的分析。智能体利用其底层模型确定哪个工具最能解决查询。ADK 处理实际的工具调用并捕获结果。智能体将工具输出纳入其推理和响应生成中。
这种集成支持强大的用例。智能体可以通过 MCP 公开的数据库工具查询数据库。外部 API 成为智能体功能。定制的业务逻辑可以打包为 MCP 工具供智能体使用。实时数据源无缝集成到智能体工作流中。
维基百科研究智能体的示例有效地演示了这种模式。智能体工具通过 MCP 服务器连接到维基百科,使智能体能够动态检索当前信息,而不是仅仅依赖训练数据。这种模式扩展到任何可以通过 MCP 协议公开的外部资源。
部署架构和 Cloud Run 集成
ADK 应用程序自然地部署到谷歌的无服务器容器平台 Cloud Run 上。这种部署策略符合现代云原生开发实践,并为基于智能体的应用程序提供了特定的优势。典型架构在智能体逻辑和模型推理之间分离关注点,由 ADK 管理前者。
在生产部署中,ADK 运行在配置了纯 CPU 资源的 Cloud Run 实例上。这些实例处理应用程序逻辑、智能体协调、请求路由和响应组装。该框架使用 FastAPI 作为其 Web 框架,提供高效的请求处理和清晰的 API 定义。因为 ADK 本身不执行密集的模型推理,所以纯 CPU 实例被证明是足够的且具有成本效益。
实际的模型推理发生在单独的服务中,通常运行在启用 GPU 的 Cloud Run 实例上。这种解耦带来了几项优势。昂贵的 GPU 资源仅在需要模型执行时分配。ADK 层根据请求量独立扩展。模型更新可以在不影响智能体逻辑的情况下发生。不同的模型可以在同一应用程序中为不同的智能体服务。
开发工作流程和工具
ADK 与 Cloud Shell Editor 集成,为开发人员提供了一个完整的基于云的开发环境。这种集成消除了本地设置要求,并确保了团队之间一致的开发体验。开发人员无需离开基于浏览器的 IDE 即可编写智能体代码、测试交互并将它们部署到 Cloud Run。
ADK 的 Web UI 组件在开发过程中具有多种用途。它为智能体交互提供了一个测试界面。开发人员可以实时观察智能体的决策过程。工具调用及其结果会显示出来以便调试。可以监控和改进多智能体协调。这种可见性在开发复杂的智能体系统时非常有价值。
该框架支持迭代开发周期。开发人员可以修改智能体行为并立即测试更改。Cloud Run 的部署速度支持快速实验。ADK 配置与模型选择之间的分离允许在不更改代码的情况下使用不同模型进行测试。这种灵活性极大地加速了开发过程。
处理并发用户和可扩展性
生产应用程序必须高效地处理不断变化的负载。ADK 在 Cloud Run 上的部署提供了自然的可扩展机制,但框架本身包含支持并发操作的设计决策。了解 ADK 如何管理多个同时发生的请求对于生产部署至关重要。
考虑一个有三个并发用户的场景,每个用户都发出需要数秒处理的请求。如果没有适当的架构,这些请求可能会排队,导致用户体验不佳。ADK 与 Cloud Run 的集成通过实例扩展和并发配置实现了并行处理。
该框架管理请求隔离,确保对同一智能体的并发请求不会相互干扰。状态管理在这种情况下变得至关重要。ADK 适当地处理会话数据,在共享智能体定义的同时为单个对话保持上下文。这种设计允许高效的资源利用,同时不影响用户体验。
与 Cloud Run 的自动缩放功能结合使用时,基于 ADK 的应用程序可以优雅地处理流量高峰。随着请求量的增加,额外的实例会自动生成。随着流量的减少,实例会缩减以最小化成本。该框架对核心操作的无状态设计有助于这种弹性扩展。
成本优化策略
ADK 实现的解耦架构带来了显著的成本优化机会。通过将智能体逻辑与模型推理分离,组织可以精确地将昂贵的资源分配到需要的地方。ADK 在标准的 CPU 实例上高效运行,这些实例的成本远低于启用 GPU 的基础设施。
该模式的工作方式如下。所有智能体协调、工具调用和响应组装都发生在 CPU 实例上。只有当智能体需要模型推理时,请求才会路由到启用 GPU 的服务。GPU 服务处理推理并返回结果。控制权返回给基于 CPU 的 ADK 服务以进行进一步处理。这种设计最大限度地减少了 GPU 利用率和相关成本。
Cloud Run 的“缩放到零”功能提供了额外的优化。在不活动期间,ADK 实例和模型服务都可以缩放到零,完全消除成本。当请求到达时,服务会在几秒钟内启动,从而在优化资源消耗的同时保持良好的用户体验。
对于具有可预测流量模式的应用程序,开发人员可以配置最小和最大的实例数量。这可以在已知的繁忙期间防止冷启动,同时在流量高峰期间限制成本。ADK 的架构支持这些配置,而无需更改代码。
工具集成和可扩展性
ADK 的工具集成功能超出了 MCP 服务器的范围,还包括各种类型的外部资源。该框架提供了集成数据库、API、文件系统和定制业务逻辑的模式。这种可扩展性将智能体从孤立的语言处理器转变为全面的应用程序组件。
无论具体工具类型如何,工具集成模式都遵循一致的原则。工具的定义带有模型可以解释的清晰描述。参数使用类型和约束进行指定。结果以智能体可以处理的结构化格式返回。错误处理确保工具失败时能够优雅降级。ADK 管理这些交互,将复杂性从单个智能体实现中抽象出来。
可以开发定制工具来满足特定的应用程序需求。金融应用程序可能包括检索股票价格、计算投资组合指标或执行交易的工具。客户服务应用程序可能暴露用于查询订单状态、发起退货或更新客户信息的工具。ADK 统一处理所有工具,简化了智能体开发。
状态管理和对话上下文
智能体应用程序通常需要在多次交互中保持上下文。ADK 通过结构化的状态管理方法来解决这一要求。虽然该框架鼓励可扩展性的无状态设计,但它为管理会话状态(如有必要)提供了机制。
对于简单的请求-响应模式,ADK 无状态运行。每个请求都包含所有必要的上下文,智能体独立处理它。这种方法最大限度地提高了可扩展性并简化了部署。对于需要记住先前交互的对话应用程序,ADK 支持通过各种后端进行状态持久化。
该框架允许开发人员根据要求选择合适的状态存储。短期对话状态可能驻留在内存或快速缓存服务中。长期用户偏好或历史数据可能会保留在数据库中。ADK 抽象了这些存储机制,允许应用程序在不重写智能体逻辑的情况下演化其状态管理策略。
错误处理和可靠性
生产智能体系统必须优雅地处理各种故障模式。模型 API 调用可能会超时或失败。外部工具可能变得不可用。用户输入可能模棱两可或相互矛盾。ADK 纳入了管理这些情况的模式,提高了整体系统可靠性。
该框架为常见故障模式提供了结构化的错误处理。当模型调用失败时,ADK 可以采用指数退避进行重试或回退到替代模型。当外部工具不可用时,智能体可以在不静默失败的情况下承认限制。当请求不明确时,智能体可以通过结构化提示寻求澄清。
开发人员可以根据应用程序需求定制错误处理行为。关键操作可能需要严格的验证和保证执行。信息查询可能容忍部分失败和近似值。ADK 的灵活性允许针对不同用例进行适当的错误处理。
安全性和权限管理
与外部工具和数据源交互的智能体系统需要仔细的安全考虑。ADK 纳入了管理权限和确保安全工具执行的模式。该框架在多个级别支持身份验证和授权。
演示包括了工具执行的用户权限流程。当智能体确定需要工具调用时,它可以请求用户批准后再继续。这种模式对于修改数据或启动外部操作的工具尤其重要。ADK 管理权限请求、用户响应和条件执行流程。
对于编程安全,ADK 与谷歌云的身份和访问管理系统集成。可以为服务帐户配置最小必需权限。可以根据用户角色限制工具访问。审计日志跟踪工具调用以满足合规性要求。这些安全功能使 ADK 适用于处理敏感数据的企业部署。
监控和可观测性
在生产环境中理解智能体行为需要全面的监控和日志记录。ADK 与 Cloud Logging 和 Cloud Monitoring 的集成提供了对智能体操作的可见性。开发人员可以跟踪请求量、响应延迟、工具调用频率和错误率等指标。
该框架会自动记录智能体工作流程中的关键事件。请求到达和路由决策会变得可见。工具调用及其结果会被记录。模型交互会被跟踪。这些日志对于调试问题、优化性能和理解使用模式非常有价值。
可以为特定于应用程序的监控定义自定义指标。电子商务智能体可以跟踪产品推荐准确性。支持智能体可以监控解决率。ADK 与监控系统的集成使得实施和可视化这些自定义指标变得很直接。
实际实施注意事项
几个实际因素影响 ADK 的成功实施。智能体粒度的选择影响性能和可维护性。高度专业化的智能体提供灵活性,但会增加协调的复杂性。更广泛的智能体简化了编排,但可能变得难以维护。在两者之间找到合适的平衡需要理解特定的应用程序需求。
工具描述值得仔细关注,因为模型依赖这些来选择合适的工具。清晰、简洁的描述可以提高智能体的决策能力。定义明确的参数可以减少错误。按域或功能的工具的周到组织简化了智能体的推理。在工具设计上投入时间会在智能体有效性上带来回报。
智能体系统的测试策略不同于传统应用程序。当模型引入可变性时,确定性测试变得具有挑战性。ADK 支持测试友好模式,如模型模拟和工具存根。评估框架可以跨对话场景评估智能体的性能。持续测试可确保对智能体或工具的更改不会降低整体系统行为。
未来方向和生态系统演变
智能体开发领域仍在快速发展。ADK 代表了标准化智能体开发模式和降低实施复杂性的一步。随着框架的成熟,可能会出现更多功能。
与更多模型提供商的集成将扩大部署灵活性。增强的状态管理选项将支持更复杂的对话应用程序。改进的调试和开发工具将加速实施周期。更丰富的预构建智能体和工具库将减少常见用例的开发时间。
ADK 与无服务器平台和托管 AI 服务的融合表明了一个更广泛的趋势。组织越来越多地倾向于在保持开发灵活性的同时处理基础设施复杂性的集成解决方案。ADK 定位于这个交汇点,在不牺牲适应性的情况下提供了结构。
结论
Agent Development Kit 解决了 AI 应用程序生态系统中的一个关键需求。通过抽象化智能体编排的复杂性、支持多智能体架构以及与云原生部署平台集成,ADK 能够帮助开发人员高效地构建可投入生产的智能体系统。该框架对实用部署模式、成本优化和可扩展性的重视,使其适用于原型演示之外的真实世界应用。
成功使用 ADK 需要理解其架构模式并加以适当利用。将智能体逻辑与模型推理分离、使用 MCP 进行工具集成以及部署到无服务器基础设施,都有助于构建可扩展、可维护的系统。随着智能体式 AI 从实验走向生产,像 ADK 这样在处理基础复杂性的同时保持灵活性的框架将变得越来越有价值。
Rachel Kuznetsov 拥有商业分析硕士学位,热衷于解决复杂的数据难题并寻找新的挑战。她致力于让复杂的数据科学概念更容易理解,并正在探索 AI 对我们生活产生影响的各种方式。在她不断学习和成长的探索中,她记录下自己的旅程,以便他人也能与她一起学习。您可以在 LinkedIn 上找到她。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区