[Go to site: main page, start]

Skip to content

使用可视化构建器

Supported in ADKPython v1.18.0Experimental

ADK 可视化构建器是 ADK Web 界面的一项功能,提供了一个用于创建和管理智能体的可视化工作流设计环境。可视化构建器允许你在初学者友好的图形界面中设计、构建和测试智能体,并包含一个 AI 驱动的助手来帮助你构建智能体。

可视化智能体构建器

实验性

可视化构建器功能是一个实验性版本。我们欢迎你的反馈

创建智能体

要使用可视化构建器,请启动 ADK Web 界面:

adk web

然后按照以下步骤创建智能体。

提示:从代码开发目录运行

可视化构建器工具将项目文件写入运行 ADK Web 的目录下的新子目录中。确保你从具有写入权限的开发人员目录位置运行此命令。

如何创建一个智能体:

  1. 点击页面左上角的 + (加号) 图标(如图 1 所示)开始创建。
  2. 输入你的智能体应用名称,并点击 Create
  3. 通过以下三个面板编辑你的智能体:
    • 左侧面板:直接编辑智能体组件的详细属性值。
    • 中央面板:直观添加或调整智能体组件及其拓扑结构。
    • 右侧面板:通过 AI 助手,使用提示词来修改智能体或获取即时帮助。
  4. 点击左下角的 Save 按钮保存你的工作成果。
  5. 在界面中直接与你的新智能体交互进行实时测试。
  6. 点击左上角的“铅笔”图标(如图 1 所示)随时继续编辑。

使用可视化构建器时需要注意以下几点:

  • 创建并保存智能体: 创建智能体时,请确保在退出编辑界面前点击 Save,否则你的新智能体可能无法再次编辑。
  • 智能体编辑: 编辑(铅笔图标)功能适用于通过可视化构建器创建的智能体。
  • 添加工具: 向可视化构建器智能体添加现有自定义工具时,请指定完整的 Python 函数名。
尝试在可视化构建器助手中使用以下提示
Help me add a dice roll tool to my current agent.
Use the default model if you need to configure that.

支持的组件

可视化构建器工具提供了一个拖放式用户界面来构建智能体,以及一个 AI 驱动的开发助手,可以回答问题并编辑你的智能体工作流。该工具支持构建 ADK 智能体工作流所需的所有基本组件,包括:

  • 智能体
    • 根智能体:工作流中的主控智能体。ADK 智能体工作流中的所有其他智能体均被视为子智能体。
    • LLM 智能体: 由生成式 AI 模型驱动的智能体。
    • 顺序智能体: 按顺序依次执行一系列子智能体的工作流智能体。
    • 循环智能体: 重复执行子智能体直到满足特定条件的工作流智能体。
    • 并行智能体: 并发执行多个子智能体的工作流智能体。
  • 工具
  • 组件
    • 回调 一种流程控制组件,允许你在智能体工作流事件的开始和结束时修改智能体的行为。

由于 Agent Config 功能的限制,可视化构建器不支持某些高级 ADK 功能。有关更多信息,请参阅 Agent Config 已知限制

生成的项目结构

可视化构建器工具以 Agent Config 格式生成代码,使用 .yaml 配置文件用于智能体,使用 Python 代码用于自定义工具。这些文件生成在你运行 ADK Web 界面的目录的子文件夹中。以下列表显示了 DiceAgent 项目的示例布局:

DiceAgent/
    root_agent.yaml    # 主智能体配置
    sub_agent_1.yaml   # 子智能体配置 (如果有)
    tools/             # 工具源代码目录
        __init__.py
        dice_tool.py   # 自定义工具实现代码

后续代码编辑

你可以在 IDE 中直接打开并编辑这些生成的 YAML 和 Python 文件。但请注意,如果修改了可视化构建器不识别的高级语法,可能会导致构建器无法再次加载该项目。

下一步

有关可视化构建器使用的 Agent Config 代码格式的更多信息,请参阅 Agent ConfigAgent Config YAML schema

安全与部署

可视化构建器通过本地 API 端点将智能体配置文件保存到你的项目目录中。出于安全考虑,这些端点仅在 Web 界面运行时可用(例如 adk web)。在无头模式或纯 API 部署中(例如默认的 adk deploy cloud_run),这些端点不会被注册,从而防止未授权的文件写入。

文件上传限制

为防止任意文件写入,通过可视化构建器上传的文件仅接受 .yaml.yml 扩展名。服务器会自动拒绝绝对路径、路径遍历序列(..)以及包含可执行任意代码的受限键(如 args)的 YAML 文件。