Skip to content

智能体

Supported in ADKPythonTypeScriptGoJava

在智能体开发套件(Agent Development Kit,ADK)中,智能体是一个独立的执行单元,被设计为自主行动以实现特定目标。智能体可以执行任务、与用户交互、使用外部工具以及与其他智能体协调。

所有 ADK 中智能体的基础是 BaseAgent 类。它作为基本蓝图服务。要创建功能性智能体,你通常需要通过以下三种主要方式之一扩展 BaseAgent,以满足不同需求——从智能推理到结构化过程控制。

Types of agents in ADK

核心智能体类别

ADK 提供了不同的智能体类别,用于构建复杂的应用程序:

  1. LLM 智能体(LlmAgentAgent:这些智能体利用大型语言模型(LLMs)作为其核心引擎,用于理解自然语言、推理、规划、生成响应,以及动态决定如何前进或使用哪些工具,使其非常适合灵活的、以语言为中心的任务。了解更多关于 LLM 智能体的信息...

  2. 工作流智能体(SequentialAgentParallelAgentLoopAgent:这些专业智能体以预定义的确定性模式(顺序、并行或循环)控制其他智能体的执行流程,而不使用 LLM 进行流程控制,非常适合需要可预测执行的结构化过程。探索工作流智能体...

  3. 自定义智能体:通过直接扩展 BaseAgent 创建,这些智能体允许你实现独特的操作逻辑、特定的控制流程或标准类型无法涵盖的专业集成,满足高度定制的应用程序需求。了解如何构建自定义智能体...

选择正确的智能体类型

下表提供了一个高级比较,帮助区分不同的智能体类型。随着你在后续章节中深入了解每种类型,这些区别将变得更加清晰。

特性 LLM 智能体(LlmAgent 工作流智能体 自定义智能体(BaseAgent 子类)
主要功能 推理、生成、工具使用 控制智能体执行流程 实现独特逻辑/集成
核心引擎 大型语言模型 (LLM) 预定义逻辑(顺序、并行、循环) 自定义代码
确定性 非确定性(灵活) 确定性(可预测) 可以是任一种,取决于实现
主要用途 语言任务、动态决策 结构化流程、编排 定制需求、特定工作流程

智能体协同工作:多智能体系统

虽然每种智能体类型都有其独特的用途,但真正的力量往往来自于它们的组合。复杂的应用程序经常采用多智能体架构,其中:

  • LLM 智能体处理智能的、基于语言的任务执行。
  • 工作流智能体使用标准模式管理整体流程。
  • 自定义智能体提供独特集成所需的专业功能或规则。

理解这些核心类型是构建复杂、强大的 AI 应用程序的第一步。

扩展智能体能力

除了核心智能体类型之外,ADK 还允许你通过几种关键机制显着扩展智能体的功能:

  • AI 模型: 通过集成来自 Google 和其他提供商的不同生成式 AI 模型,更换智能体的底层智能。

  • 素材 (Artifacts): 使智能体能够创建和管理持久输出,如文件、代码或在对话生命周期之外存在的文档。

  • 预构建工具与集成: 为你的智能体配备广泛的工具、插件和其他集成,以便与现实世界互动,包括网站、MCP 工具、应用程序、数据库、编程接口等。

  • 自定义工具: 为你自己的特定任务创建工具,以精确且受控地解决特定问题。

  • 插件: 将复杂的、预打包的行为和第三方服务直接集成到智能体的工作流中。

  • 技能 (Skills): 使用预构建或自定义的 Agent Skills,在 AI 上下文窗口限制内高效地扩展智能体能力。

  • 回调 (Callbacks): 挂钩到智能体执行生命周期中的特定事件,以在不改变核心智能体逻辑的情况下添加日志、监控或自定义副作用。

下一步

现在你已经了解了 ADK 中可用的不同智能体类型,请深入了解它们的工作原理以及如何有效地使用它们:

  • LLM 智能体: 探索如何配置由大型语言模型驱动的智能体,包括设置指令、提供工具以及启用规划和代码执行等高级功能。
  • 工作流智能体: 了解如何使用 SequentialAgentParallelAgentLoopAgent 编排任务,以实现结构化且可预测的过程。
  • 自定义智能体: 探索扩展 BaseAgent 的原则,以根据你的特定需求构建具有独特逻辑和集成的智能体。
  • 多智能体系统: 了解如何结合不同的智能体类型来创建复杂的协作系统,从而解决复杂问题。
  • 模型: 了解可用的不同 LLM 集成,以及如何为你的智能体选择合适的模型。