实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

为 ADK 智能体配备工具

实验 1 小时 30 分钟 universal_currency_alt 5 个点数 show_chart 高级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GENAI105

概览

本实验介绍了如何将各种工具与智能体开发套件智能体结合使用。

从 Google 提供的强大工具(例如 Google 搜索和 Vertex AI Search),到 LangChain 和 CrewAI 生态系统中丰富多样的工具,有大量工具可供您轻松上手。

此外,只需编写一个合适的文档字符串,即可基于函数创建自己的工具!

本实验假设您熟悉“智能体开发套件 (ADK) 入门”实验中介绍的 ADK 基础知识。

目标

在本实验中,您将了解可供 ADK 智能体使用的工具生态系统。您还将学习如何将函数作为自定义工具提供给智能体。

完成本实验后,您将能够:

  • 为智能体提供预构建的 Google、LangChain 或 CrewAI 工具
  • 讨论在为智能体工具编写函数时,结构化文档字符串和类型注解的重要性
  • 为智能体编写您自己的工具函数

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验会以定时的方式进行,且您无法暂停实验。定时器(点击“开始实验”即可启动)会显示云资源可供您使用的时间。

Qwiklabs 实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud Platform。

要求

要完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
  • 为完成实验留出时间。

注意:如果您已拥有个人 GCP 帐号或项目,请不要使用其进行此实验。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

可与智能体开发套件结合使用的工具

智能体与普通模型的根本区别在于能否有效利用工具。工具是一段代码(例如函数或方法),用于执行特定操作,例如与数据库交互、发出 API 请求或调用其他外部服务。

工具让智能体能够与其他系统交互,并执行超出其核心推理和生成能力的操作。请务必注意,这些工具独立于智能体的 LLM 运行,这意味着工具本身并不具备推理能力。

智能体开发套件为开发者提供了多种可选工具:

  • 预构建工具:可直接使用的功能,例如 Google 搜索、代码执行和检索增强生成 (RAG) 工具。
  • 第三方工具:与 LangChain 和 CrewAI 等外部库中的工具无缝集成。
  • 自定义工具:支持使用针对特定编程语言的构造或智能体即工具,创建满足特定需求的自定义工具。该 SDK 还可通过长时间运行的函数工具提供异步功能。

在本实验中,您将了解上述各类工具,并实际运用每个类型中的一种工具。

Google 提供的预构建工具

Google 为智能体提供了多种实用工具。具体包括:

Google 搜索 (google_search):允许智能体使用 Google 搜索执行网页搜索。您只需将 google_search 添加到智能体的工具中即可。

代码执行 (built_in_code_execution):此工具可让智能体执行相关代码,从而以程序化方式执行计算、进行数据处理或与其他系统交互。您可以使用预构建的 VertexCodeInterpreter,或任何实现 BaseCodeExecutor 接口的代码执行器。

检索retrieval):用于从不同来源检索信息的工具包。

Vertex AI Search 工具 (VertexAiSearchTool):此工具与 Google Cloud 的 Vertex AI Search 服务集成,可让智能体搜索您的 AI Applications 数据存储区。

任务 1. 安装 ADK 并设置环境

注意:对于大多数 Qwiklabs 实验,建议使用无痕式浏览器窗口,以避免您的 Qwiklabs 学员账号与登录 Google Cloud 的其他账号出现混淆。如果您使用的是 Chrome,最简单的实现方法是关闭所有无痕式窗口,然后右键点击本实验顶部的**打开 Google Cloud 控制台**按钮,并选择**在无痕式窗口中打开链接**。

启用 Vertex AI 推荐的 API

  1. 本实验环境已为您启用 Vertex AI API。如果您要在自己的项目中执行这些步骤,可以前往 Vertex AI,然后按照提示启用该 API。

准备 Cloud Shell 编辑器标签页

  1. 在 Google Cloud 控制台窗口处于选中状态时,按下键盘上的 G 键,然后按下 S 键,打开 Cloud Shell。或者,您也可以点击 Cloud 控制台右上角的“激活 Cloud Shell”按钮 (激活 Cloud Shell)。

  2. 点击继续

  3. 如果系统提示您为 Cloud Shell 授权,请点击授权

  4. 在 Cloud Shell 终端面板的右上角,点击在新窗口中打开按钮 “在新窗口中打开”按钮

  5. 在 Cloud Shell 终端中,输入以下内容以打开 Cloud Shell 编辑器并进入主目录:

    cloudshell workspace ~
  1. 关闭屏幕右侧显示的任何其他教程或 Gemini 面板,以便为代码编辑器留出更多窗口空间。
  2. 在本实验的后续操作中,您可将此窗口作为集成了 Cloud Shell 编辑器和 Cloud Shell 终端的 IDE 使用。

下载并安装 ADK 和本实验的代码示例

  1. 将以下命令粘贴到 Cloud Shell 终端中,从 Cloud Storage 存储桶下载本实验的代码:

    gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/adk_tools .
  2. 在 Cloud Shell 终端中运行以下命令,以更新 PATH 环境变量、安装 ADK 以及满足本实验要求的一些其他依赖项。

    export PATH=$PATH:"/home/${USER}/.local/bin" python3 -m pip install google-adk[extensions] -r adk_tools/requirements.txt 注意:google-adk[extensions] 用于安装 Crew AI 工具所需的其他依赖项。

任务 2. 创建一个可依据您自己的数据回答问题的搜索应用

在后续任务中,您将使用 Google 提供的 Vertex AI Search 工具,依据您在 AI Applications 数据存储区中的自有数据回答问题。由于应用的数据存储区需要一段时间来注入数据,因此您需要现在就对其进行设置,然后在后续任务中使用该存储区来依据您自己的数据回答问题。

  1. 在仍显示 Cloud 控制台的浏览器标签页中,在控制台顶部搜索 AI Applications,并前往该页面。

  2. 选中条款及条件复选框,然后点击继续并激活 API

  3. 从左侧导航菜单中选择数据存储区

  4. 选择创建数据存储区

  5. 找到 Cloud Storage 卡片,然后点击卡片上的选择

  6. 选择非结构化文档(PDF、HTML、TXT 等)

  7. 我们已为您将示例文档上传到 Cloud Storage。这些文档涉及假想中发现的新行星“Persephone”。本例中使用一个虚构的行星,以确保模型在训练期间不可能学习到有关该行星的任何信息。

    对于 GCS 路径,请输入 -bucket/planet-search-docs

  8. 点击继续

  9. 对于位置选项,保留默认设置全球

  10. 对于数据存储区名称,请输入:Planet Search

  11. 点击创建

  12. 点击左侧导航栏中的应用

  13. 点击创建新应用

  14. 找到自定义搜索(常规)应用的卡片,然后点击创建

  15. 将应用名称设置为 Planet Search

  16. 公司名称设置为 Planet Conferences

  17. 点击继续

  18. 选中 Planet Search 数据存储区旁边的复选框。

  19. 选择创建

  20. 应用创建完毕后,点击左上角的“AI Applications”徽标即可返回应用信息中心。

  21. 复制“应用”表格中显示的应用 ID 值。将其保存在文本文档中,因为您稍后会用到此信息。

    目前,您需要给数据存储区一些时间来注入数据。稍后,您将向智能体提供此搜索应用,以便智能体依据其中的数据回答问题。

点击检查我的进度以验证是否完成了以下目标: 创建数据存储区和搜索应用。

第三方工具

ADK 允许使用 LangChain 和 CrewAI 等第三方 AI 库提供的工具。

任务 3. 使用 LangChain 工具

LangChain 社区已创建了大量工具集成,可用于访问多种数据源、与各种 Web 产品集成,以及完成许多类型的任务。在 ADK 中使用社区工具,可以避免重复编写其他人已经创建的工具。

  1. 返回显示 Cloud Shell 编辑器的浏览器标签页,使用左侧的文件资源管理器前往 adk_tools/langchain_tool_agent 目录。

  2. 在 Cloud Shell 终端中运行以下命令,为此智能体目录创建一个 .env 文件来提供身份验证详细信息:

    cd ~/adk_tools cat << EOF > langchain_tool_agent/.env GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} GOOGLE_CLOUD_LOCATION={{{project_0.default_region| GCP_LOCATION}}} MODEL=gemini-2.5-flash EOF
  3. 运行以下命令,将 .env 文件复制到您将在本实验中使用的其他智能体目录:

    cp langchain_tool_agent/.env crewai_tool_agent/.env cp langchain_tool_agent/.env function_tool_agent/.env cp langchain_tool_agent/.env vertexai_search_tool_agent/.env
  4. langchain_tool_agent 目录中,点击 agent.py 文件。

  5. 请注意 LangchainTool 类的导入。这是一个封装容器类,可让您在智能体开发套件中使用 LangChain 工具。

  6. agent.py 文件中的所示位置添加以下代码,以将 LangChain 维基百科工具添加到您的智能体中。这样一来,您的智能体就可以在维基百科上搜索信息:

    tools = [ # Use the LangchainTool wrapper... LangchainTool( # to pass in a LangChain tool. # In this case, the WikipediaQueryRun tool, # which requires the WikipediaAPIWrapper as # part of the tool. tool=WikipediaQueryRun( api_wrapper=WikipediaAPIWrapper() ) ) ]
  1. 在 Cloud Shell 终端中,从 adk_tools 项目目录中使用以下命令启动智能体开发套件开发者界面

    adk web

    输出

    INFO: Started server process [2434] INFO: Waiting for application startup. +-------------------------------------------------------+ | ADK Web Server started | | | | For local testing, access at http://localhost:8000. | +-------------------------------------------------------+ INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  2. 如需在新标签页中查看网页界面,请点击终端输出中的 http://127.0.0.1:8000 链接。

  3. 系统即会在一个新浏览器标签页中打开 ADK 开发者界面。

  4. 从左侧的选择智能体下拉菜单中,选择 langchain_tool_agent

  5. 向智能体查询:

    Who was Grace Hopper?

    输出:

    Langchain 维基百科工具

  6. 点击表示正在使用维基百科工具的智能体聊天气泡旁边的智能体图标 (agent_icon)。

  7. 请注意,内容中包含向维基百科发起查询的 functionCall

  8. 点击标签页顶部的前进按钮,前往下一个事件。

  9. 在该事件中,您可以看到从维基百科检索到的用于生成模型回答的结果。

  10. 完成对该智能体的提问后,关闭开发者界面浏览器标签页。

  11. 选择 Cloud Shell 终端面板,然后按 CTRL + C 停止服务器。

点击检查我的进度以验证是否完成了以下目标: 使用 LangChain 工具。

任务 4. 使用 CrewAI 工具

您也可以借助 CrewaiTool 封装容器来以类似方式使用 CrewAI 工具

  1. 为此,请在 Cloud Shell 编辑器的文件资源管理器中,前往 adk_tools/crewai_tool_agent 目录。

  2. crewai_tool_agent 目录中,点击 agent.py 文件。

  3. 请注意,系统从 ADK 导入了 CrewaiTool 类,并从 crewai_tools 导入了 ScrapeWebsiteTool

  4. agent.py 文件中的所示位置添加以下代码,以将 CrewAI Scrape Website 工具添加到您的智能体中,并提供名称和说明:

    tools = [ CrewaiTool( name="scrape_apnews", description=( """Scrapes the latest news content from the Associated Press (AP) News website.""" ), tool=ScrapeWebsiteTool(website_url='https://apnews.com/') ) ]

    ScrapeWebsiteTool 将从美联社新闻网站 apnews.com 加载内容。

  1. 您将使用命令行界面运行此智能体,以便熟悉这种快速测试智能体的简便方式。在 Cloud Shell 终端中,从 adk_tools 项目目录中使用以下命令来通过 ADK 命令行界面启动智能体:

    adk run crewai_tool_agent
  2. 智能体加载过程中可能会显示一些警告。您可以忽略这些警告。当系统显示 user: 提示符时,请输入:

    Get 10 of the latest headlines from AP News.

    输出:

    Using Tool: Read website content [crewai_tool_agent]: Here are the latest headlines from AP News: ...
  3. 请注意,如果使用了某个工具,命令行界面也会对您进行说明。

  4. 在终端中,当再次出现 user: 提示符时,输入 exit 退出命令行界面

  5. 在终端历史记录中向上滚动,找到运行 adk run crewai_tool_agent 的位置,您会看到命令行界面给出了可跟踪的日志文件。请复制并运行以下命令,以查看有关执行的更多详细信息:

    tail -F /tmp/agents_log/agent.latest.log
  6. CTRL + C 停止跟踪日志文件并返回到命令提示符。

点击检查我的进度以验证是否完成了以下目标: 使用 CrewAI 工具。

任务 5. 将函数用作自定义工具

当预构建的工具无法完全满足特定需求时,您可以创建自己的工具。这使您能够实现定制化功能,例如连接专有数据库或执行独特算法。

在创建新工具时,最直接的方法是编写一个标准 Python 函数(带有以标准格式编写的文档字符串),并将其作为工具传递给模型。这种方法具有灵活性,可实现快速集成。

在编写用作工具的函数时,请注意以下几点重要事项:

  • 参数:函数可以接受任意数量的参数,且每个参数都可以是可进行 JSON 序列化的任何类型(例如字符串、整数、列表、字典)。请注意不要为参数设置默认值,因为大语言模型 (LLM) 目前不支持解析默认值。
  • 返回值类型:Python 函数工具的首选返回值类型是字典。这样一来,您就可以使用键值对来构建回答,为 LLM 提供上下文和阐释。例如,不要返回数字错误代码,而应返回一个包含 "error_message" 键的字典,该键中将包含人类可读的说明。根据最佳实践,请在返回值字典中添加一个 "status" 键,用于指示总体结果(例如,"success""error""pending"),从而为 LLM 提供关于操作状态的清晰信号。
  • 文档字符串:函数的文档字符串会作为工具说明发送给 LLM。因此,请编写优质且全面的文档字符串,这对于 LLM 了解如何有效使用工具至关重要。您应清楚说明函数的用途、参数的含义以及预期的返回值。

请通过完成以下步骤,定义一个函数并将其用作工具:

  1. 在 Cloud Shell 编辑器的文件资源管理器中,前往 adk_tools/function_tool_agent 目录。

  2. function_tool_agent 目录中,点击 agent.py 文件。

  3. 请注意,函数 get_date()write_journal_entry() 具有格式正确的文档字符串,可供 ADK 智能体了解何时以及如何使用它们。具体包括:

    • 关于每个函数功能的明确说明
    • Args: 部分,用于说明函数的输入参数(类型为可 JSON 序列化的类型)
    • Returns: 部分,用于说明函数的返回内容,首选回答类型为 dict
  4. 为了将函数传递给智能体以用作工具,请在 agent.py 文件中的所示位置添加以下代码:

    tools=[get_date, write_journal_entry]
  1. 您将通过开发者界面运行此智能体,了解其中的工具如何助您直观展示工具请求和回答。在 Cloud Shell 终端中,从 adk_tools 项目目录中使用以下命令再次运行开发者界面(如果服务器之前仍在运行,请先按 CTRL+C 停止正在运行的服务器,然后运行以下命令以重新启动服务器):

    adk web
  2. 点击终端输出中的 http://127.0.0.1:8000 链接。

  3. 系统即会在一个新浏览器标签页中打开 ADK 开发者界面。

  4. 从左侧的选择智能体下拉菜单中,选择 function_tool_agent

  5. 输入以下内容,开始与智能体对话:

    hello
  6. 智能体会询问您今天的情况。用一句话回复您今天过得怎么样(例如 It's been a good day. I did a cool ADK lab.),然后智能体会为您撰写日志条目。

    输出示例:

    日志工具功能

  7. 请注意,智能体显示了自定义工具的请求和回答按钮。您可以点击每个按钮,查看有关其中各个事件的更多信息。

  8. 关闭开发者界面标签页。

  9. 在 Cloud Shell 编辑器中,您可以在 adk_tools 目录中找到包含日期信息的日志条目文件。(您可以通过 Cloud Shell 编辑器菜单启用“查看 > 自动换行”。这样,您无需进行频繁的水平滚动,即可查看完整文本。)

  10. 点击 Cloud Shell 终端面板,然后按 Ctrl+C 停止服务器。

    编写用作工具的函数时,可采取的最佳实践包括:

    • 参数越少越好:尽量减少参数数量,以降低复杂性。
    • 使用简单数据类型:尽可能使用 strint 等原始数据类型,而不是自定义类。
    • 使用有意义的名称:函数名称和参数名称会显著影响 LLM 对工具的解读和使用。选择的名称应能清楚体现函数的用途及其输入的含义。
    • 对复杂函数进行分解:不要使用单个 update_profile(profile: Profile) 函数,而是要创建单独的函数,例如 update_name(name: str)update_age(age: int) 等。
    • 返回值状态:在返回值字典中添加一个 "status" 键,用于指示总体结果(例如,"success""error""pending"),从而为 LLM 提供关于操作状态的清晰信号。

点击检查我的进度以验证是否完成了以下目标: 将函数用作自定义工具。

任务 6. 使用 Vertex AI Search 作为工具,依据您自己的数据回答问题

在此任务中,您将了解如何使用智能体开发套件智能体、Google 的内置 Vertex AI Search 工具以及您之前创建的 AI Applications 数据存储区,轻松部署 RAG 应用。

  1. 返回到 Cloud Shell 编辑器标签页,然后选择 adk_tools/vertexai_search_tool_agent 目录。

  2. vertexai_search_tool_agent 目录中,点击 agent.py 文件。

  3. 在导入部分底部所示位置添加 VertexAiSearchTool 类的导入:

    from google.adk.tools import VertexAiSearchTool
  4. 更新对 VertexAiSearchTool 进行实例化的代码。在传递给 search_engine_id 的路径中,将 YOUR_PROJECT_ID 更新为 ,并将 YOUR_SEARCH_APP_ID 更新为您在之前的任务中复制的搜索应用 ID。

  5. 在智能体定义中的所示位置添加以下行,以向智能体提供工具:

    tools=[vertexai_search_tool]

    您可以在控制台中的 AI Applications > 数据存储区页面上选择数据存储区的名称,以确认数据存储区是否已可供使用。

    活动文档标签页会显示文档导入和编入索引的状态。当活动标签页报告“导入已完成”时,您的数据存储区便应该可以进行查询了。

  6. 在 Cloud Shell 终端中,从 adk_tools 项目目录中使用以下命令启动命令行界面。您需要添加 --reload_agents 标志,以确保开发者界面在您进行更改时重新加载您的智能体。

    adk web --reload_agents 注意:如果您未关闭之前的 adk web 会话,请选择正在运行该会话的 Cloud Shell 终端面板,然后按 CTRL + C。如果您找不到之前使用的 Cloud Shell 终端标签页,则默认端口 8000 将被屏蔽,但您可以使用 adk web --port 8001 通过新端口启动开发者界面。
  7. 点击 http://127.0.0.1:8000 以打开 ADK 开发者界面。

  8. 从左侧的选择智能体下拉菜单中,选择 vertexai_search_tool_agent

  9. 输入以下内容,就 Cloud Storage 文档中描述的虚构行星向智能体发起查询:

    Is the new planet Persephone suitable for habitation?

    输出示例(您的输出可能略有不同)

    Based on the "Persephone Survey: What we Know So Far" document, Persephone exhibits several characteristics that suggest it could be habitable: - Location: It orbits within the habitable zone of its star. - Temperature: The average surface temperature is estimated to be around 18°C (64°F). ...

使用 AgentTool 将搜索工具与其他工具集成

搜索工具存在一项使用限制,即您无法在同一智能体中混合使用搜索工具和非搜索工具。为了解决此问题,您可以使用 AgentTool 将具有搜索工具的智能体封装起来,然后使用该智能体即工具与其他工具一起执行搜索。

如需查看实际效果,请执行以下操作:

  1. 确保您已打开 adk_tools/vertexai_search_tool_agent/agent.py 文件。

  2. 更新 root_agent 的 tools 参数,以包含 get_date 函数工具:

    tools=[vertexai_search_tool, get_date]
  1. 在 ADK 开发者界面中,向智能体提问:

    What is today's date?

    预期输出:

    错误,消息内容指示:当所有工具均为搜索工具时,方可支持多种工具。
  2. 返回到 adk_tools/vertexai_search_tool_agent/agent.py 文件,将以下代码粘贴到 root_agent 上方。此智能体专门用于使用搜索工具,包含搜索工具和使用说明:

    vertexai_search_agent = Agent( name="vertexai_search_agent", model=os.getenv("MODEL"), instruction="Use your search tool to look up facts.", tools=[vertexai_search_tool] )
  1. 然后,将 root_agent 的 tools 参数替换为以下内容,以使用 AgentTool() 封装在上一步中创建的智能体:

    tools=[ AgentTool(vertexai_search_agent, skip_summarization=False), get_date ]
  2. 现在,您可以向智能体发起查询,并同时接收搜索结果和使用 get_date() 函数。

    返回到 ADK 开发者界面浏览器标签页,然后点击 + 新建会话

  3. 再次询问:

    What is today's date?

    智能体应回答正确的日期。

  4. 然后,为了调用搜索工具,请询问以下问题:

    When is the PlanetCon conference?

    预期输出:

    The PlanetCon: Persephone conference is scheduled for October 26th - 28th, 2028.
  5. 您可以就这颗新行星以及宣布发现该行星的会议,继续向智能体询问更多问题。满意后,关闭开发者界面标签页。

  6. 当您结束向此智能体提问后,请关闭浏览器标签页,选择正在运行服务器的 Cloud Shell 终端窗口,然后按 Ctrl + C 停止服务器。

点击检查我的进度以验证是否完成了以下目标: 使用 Google 提供的工具。

还有更多类型的工具可用!

以下工具类型也值得了解,但您不会在本实验中使用这些工具。

LongRunningFunctionTool 类

此工具是 FunctionTool 的子类。它适用于需要大量处理时间且调用时不应阻碍智能体执行的任务。

使用 LongRunningFunctionTool 时,您的 Python 函数可以启动长时间运行的操作,并可以选择性地返回中间结果,以便让模型和用户了解进度(例如,状态更新或预计完成时间)。然后,智能体可以继续执行其他任务。

例如,在人机协同场景中,智能体需要获得人类的批准才能继续执行任务。

可用作工具的 Application Integration 工作流

借助 Application Integration,您可以使用 Google Cloud 控制台中的拖放界面,利用 Integration Connector 为 Google Cloud 产品和第三方系统(如 Salesforce、ServiceNow、JIRA、SAP 等)提供的 100 多个预构建连接器来构建工具、数据连接和数据转换。然后,您可以通过 ADK ApplicationIntegrationToolset让智能体连接这些来源或调用工作流

Model Context Protocol (MCP) 工具

Model Context Protocol (MCP) 是一种开放标准,旨在规范 Gemini 和 Claude 等大语言模型 (LLM) 与外部应用、数据源和工具之间的通信方式。无论您是想要构建一个调用 MCP 服务的工具,还是想要公开一个 MCP 服务器以供其他开发者或智能体与您的工具互动,ADK 都能帮助您在智能体中使用和运用 MCP 工具。

如需将 ADK 与 MCP 服务器结合使用,请参阅“MCP 工具”文档中的代码示例和设计模式,其中包括:

  • 在 ADK 中使用现有 MCP 服务器:ADK 智能体可以充当 MCP 客户端,并使用外部 MCP 服务器提供的工具。
  • 通过 MCP 服务器公开 ADK 工具:如何构建一个 MCP 服务器来封装 ADK 工具,从而让任何 MCP 客户端都可以访问这些工具。

如需详细了解如何将 MCP 与 ADK 智能体结合使用,请参阅实验将 Model Context Protocol (MCP) 工具与 ADK 智能体结合使用

恭喜!

在本实验中,您学习了:

  • 为智能体提供预构建的 Google、LangChain 或 CrewAI 工具
  • 为智能体编写您自己的工具函数
  • 讨论在为智能体工具编写函数时,结构化文档字符串和类型注解的重要性

后续步骤

如需详细了解如何使用智能体开发套件构建和部署智能体,请查看以下实验:

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2025 年 11 月 18 日

上次测试实验的时间:2025 年 11 月 6 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。