谷歌智能体开发套件(ADK)代表了AI应用开发方式的根本性转变。与传统将大语言模型视为简单请求-响应系统的方式不同,ADK引入了事件驱动的运行时架构,将智能体、工具和持久状态协调整合为统一的应用程序。
本文将深入探讨ADK的核心架构组件,并通过天气智能体的实际实现展示它们如何协同工作。
事件驱动架构概述
ADK运行时作为一个复杂的事件循环,在用户请求、AI模型调用和外部工具执行之间进行调节。在最高层级,三个主要交互定义了系统的行为。
首先,用户提交消息及会话标识符。会话ID至关重要,因为它允许运行时在多次交换中维持对话上下文。其次,内部事件循环通过协调执行逻辑和持久服务来处理请求。第三,系统将事件流式传输回用户,包括中间工具调用和最终响应。
Runner组件:系统核心
Runner位于ADK架构的中心,作为所有用户交互的主要入口点。当您实例化Runner时,将其绑定到特定智能体和会话服务,创建自包含的执行上下文。
Runner包含一个事件处理器,将原始模型输出转换为结构化事件。与ADK智能体的每次交互都通过Runner的运行方法进行,该方法产生事件流而非返回单一响应。这种流式方法支持实时反馈,允许应用程序对工具调用等中间步骤作出反应。
这种模式与传统API调用显著不同。您的应用程序不是等待完整响应,而是在事件发生时接收它们,这使得进度指示器、调试输出和动态UI更新成为可能。
事件循环:核心创新
事件循环代表了ADK的核心创新。它作为Runner和执行逻辑层之间的双向通信通道运行,遵循询问-产生模式。
当Runner接收到用户消息时,它要求执行逻辑处理该消息。执行逻辑可能调用底层的大语言模型、调用工具或执行回调。每个操作都将事件返回给Runner,然后Runner可以将其转发给用户或触发额外处理。
这种架构自然支持多步推理。考虑用户询问天气信息时发生的情况。大语言模型首先确定需要调用get_weather工具。执行逻辑调用该工具并产生包含结果的事件。然后大语言模型处理工具输出并生成人类可读的响应。每个步骤都产生流经系统的事件。
执行逻辑层:实际工作处理
执行逻辑层处理运行智能体的实际工作。它管理大语言模型调用、工具回调和您定义的任何自定义逻辑。ADK中的工具只是带有类型提示的Python函数,框架自动将其暴露给底层模型。
智能体配置将工具绑定到特定模型并提供指导行为的指令。指令字段充当系统提示,而工具参数注册可用函数。
当大语言模型决定调用get_weather时,ADK处理整个调用生命周期。它解析模型的函数调用,执行您的Python函数,并将结果反馈给模型进行解释。
服务层:持久化能力
服务层提供持久化能力,将无状态的大语言模型交互转换为有状态的应用程序。该层内运行着三个主要服务。
会话服务在多个轮次中维护对话状态。示例中使用的InMemorySessionService将所有内容存储在内存中,适用于开发和测试。生产部署通常使用Cloud Firestore或PostgreSQL等持久后端。
工件服务处理文件存储和检索,使智能体能够处理文档、图像和其他二进制数据。内存服务为应跨会话持续的信息提供长期存储。
服务层通过明确定义的接口连接到外部存储系统。这种抽象允许您在不修改智能体逻辑的情况下交换存储后端。您的天气智能体可以通过简单更改会话服务实现,从内存存储迁移到分布式数据库。
完整请求流程追踪
追踪完整请求流程说明了这些组件如何协作。
用户发送"伦敦的天气如何?"消息及其会话标识符。Runner接收此消息,将其包装在Content对象中,并启动事件循环。执行逻辑使用用户消息和可用工具定义调用大语言模型。
模型识别这是天气查询,并使用参数"伦敦"生成对get_weather的工具调用。执行逻辑拦截此调用,调用Python函数,并捕获返回值。包含工具结果的事件通过系统流回。
模型接收工具输出并生成总结天气条件的自然语言响应。这个最终响应事件通过Runner流式传输给用户。
在整个过程中,会话服务维护上下文。当用户追问"巴黎如何?"时,会话历史允许模型理解这指的是天气,即使第二个查询中从未出现该词。
设计原则与优势
ADK的架构揭示了AI应用开发的几个重要设计原则。
事件驱动方法支持同步API无法实现的可观测性和调试。您可以记录每个工具调用,监控模型推理,并围绕智能体行为构建复杂的分析。
Runner和执行逻辑之间的分离为测试创建了清晰的边界。您可以模拟执行逻辑来测试Runner行为,或为外部服务注入测试替身以隔离验证智能体逻辑。
服务层抽象使您的应用程序能够抵御基础设施变化。随着智能体内存和会话存储的托管服务变得可用,迁移只需最少的代码更改。
谷歌智能体开发套件提供了一个生产就绪的框架,用于构建超越简单聊天界面的AI应用程序。事件循环架构,结合强大的会话管理和灵活的工具集成,使开发人员能够创建维护上下文、调用外部能力并在分布式基础设施中扩展的智能体。理解这些架构基础将为您构建满足实际需求的复杂AI系统做好准备。
Q&A
Q1:谷歌智能体开发套件与传统API有什么不同?
A:ADK采用事件驱动架构,通过事件流实时传输响应,而非等待完整响应。这种方式支持进度指示、实时反馈和动态UI更新,能够观察工具调用等中间步骤,为AI应用开发提供了更强的可观测性和调试能力。
Q2:ADK的Runner组件有什么作用?
A:Runner是ADK架构的中心,作为所有用户交互的主要入口点。它包含事件处理器,将模型输出转换为结构化事件,管理智能体与会话服务的绑定,创建自包含的执行上下文,并以流式方式处理用户请求。
Q3:ADK如何实现多步推理?
A:通过事件循环的询问-产生模式实现多步推理。当处理复杂查询时,大语言模型可以先调用工具获取信息,执行逻辑处理工具调用并产生结果事件,然后模型基于工具输出生成最终响应,每个步骤都产生相应事件流经系统。
好文章,需要你的鼓励
谷歌Agent Development Kit(ADK)革新了AI应用开发模式,采用事件驱动的运行时架构,将代理、工具和持久化状态整合为统一应用。ADK以Runner为核心,通过事件循环处理用户请求、模型调用和外部工具执行。执行逻辑层管理LLM调用和工具回调,服务层提供会话、文件存储等持久化能力。这种架构支持多步推理、实时反馈和状态管理,为构建超越简单聊天界面的生产级AI应用提供了完整框架。
上海AI实验室联合团队开发RoboVIP系统,通过视觉身份提示技术解决机器人训练数据稀缺问题。该系统能生成多视角、时间连贯的机器人操作视频,利用夹爪状态信号精确识别交互物体,构建百万级视觉身份数据库。实验显示,RoboVIP显著提升机器人在复杂环境中的操作成功率,为机器人智能化发展提供重要技术突破。
苹果在iOS 26中推出全新游戏应用,为iPhone、iPad和Mac用户提供个性化的游戏中心。该应用包含五个主要版块:主页展示最近游戏和推荐内容,Arcade专区提供超过200款无广告游戏,好友功能显示Game Center动态并支持游戏挑战,资料库可浏览已安装游戏并提供筛选选项,搜索功能支持按类别浏览。iOS 26.2版本还增加了游戏手柄导航支持,为游戏玩家提供更便捷的操作体验。
英伟达研究团队提出GDPO方法,解决AI多目标训练中的"奖励信号坍缩"问题。该方法通过分别评估各技能再综合考量,避免了传统GRPO方法简单相加导致的信息丢失。在工具调用、数学推理、代码编程三大场景测试中,GDPO均显著优于传统方法,准确率提升最高达6.3%,且训练过程更稳定。该技术已开源并支持主流AI框架。