如何把 AutoGPT Agent 封装为可复用的 Agent Block 并嵌入其他工作流?
2026/9/9 16:41:20 网站建设 项目流程

如何把 AutoGPT Agent 封装为可复用的 Agent Block 并嵌入其他工作流?

【免费下载链接】AutoGPTAutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.项目地址: https://gitcode.com/GitHub_Trending/au/AutoGPT

在 AutoGPT Platform 中,一个已经搭好的 Agent(工作流)本身就可以作为一个块(Agent Block)被另一个 Agent 调用。这篇文章对应 Agent Blocks 官方文档描述的完整场景:先用可视化 Builder 搭一个基础 Agent,验证它能独立跑通,再把它作为一个块加进新的工作流里保存。操作全部在 AutoGPT Builder 界面完成,不涉及代码改动。

前提条件:

  • 已有一套可用的 AutoGPT 平台环境。自托管(Docker)方式按 Getting Started 指南 完成安装(Node.js、Docker、Git,然后docker compose up -d --build,访问 http://localhost:3000 确认前端已启动);使用云端版本则开箱即用,AI 块自带 credits,无需 API key。
  • 如果基础 Agent 中要用到 AI Text Generator 块,自托管环境需要先配置 LLM 服务的 API key(见下节);只用 Calculator 等纯逻辑块则不需要。

为自托管环境配置 LLM API Key

AI Text Generator 块需要模型服务。按 Create a Basic Agent 文档 的说明,自托管(Docker)部署时把自己的 key 加到autogpt_platform/backend/.env

# Create or edit backend/.env OPENAI_API_KEY=sk-your-key-here ANTHROPIC_API_KEY=sk-ant-your-key-here # Add other provider keys as needed

上面是文档给出的示例格式,sk-your-key-here等是占位值,替换成你自己的 key,按需保留对应服务商的行。修改后重启服务使配置生效(在autogpt_platform目录下执行):

docker compose down && docker compose up -d

云端版本无需此步骤,官方说明 AI 块内置 credits,也可以在 Profile → Integrations 里改用自带 key。

搭建并验证基础 Agent

这是后续所有操作的源头:被封装的 Agent 必须先能独立运行。按 agent-blocks.md 的组件要求,一个最小可封装的 Agent 包含三类块:

  1. Input Block
  2. AI Text Generator Block
  3. Output Block

操作路径:

  1. 在 Builder 画布中依次添加以上三个块。
  2. 连线:把 Input 块的result连到 AI Text Generator 的Prompt,再把 AI Text Generator 的response连到 Output 块的value
  3. 命名:Input 块命名为question,Output 块命名为answer。这个名字会成为该 Agent 对外暴露的输入/输出字段,稍后外层工作流按这两个名字连线。
  4. 给 Agent 起一个有描述性的名字(文档示例用 "Weather Agent"),点击 Save 保存。

保存后立即做一次独立验证,确认它不是个空壳:

  1. 点击 Run,在输入框里填一个测试问题(文档示例:"How far is the Earth from the Moon?")。
  2. 查看结果,两个入口任选其一:
    • "Agent Outputs" 区域;
    • 点击 "View More" 查看详细结果。

这里有一个文档明确指出的判断依据:如果 Agent 里没有 Output 块,"Agent Outputs" 按钮会显示为空白——此时改从 "View More" 或块的底部查看输出。所以输出能显示在 "Agent Outputs" 里,既是功能验证,也说明命名规范正确。

把该 Agent 作为一个块嵌入新的工作流

基础 Agent 保存后,它会自动出现在 Builder 的块列表里。按文档的 "Converting to a Block" 部分操作:

  1. 进入 Builder 界面,打开 Blocks 菜单;
  2. 点击该 Agent 的标签(tag),或直接按名字搜索;
  3. 点击该 Agent 块,把它加入新工作流的画布;
  4. 按外层工作流需要,把上游块的输出连到这个 Agent 块的输入(对应之前命名的question),再把它输出的answer连到下游块或 Output 块;
  5. 为新 Agent 保存并起一个有描述性的名字(文档示例同样给了 "Weather Agent" 这类命名方式)。

这一步不需要手动填写 graph_id 或版本参数。从源码可以确认嵌入机制:AgentExecutorBlock 是平台内置的BlockType.AGENT块,描述为 "Executes an existing agent inside your agent",输入 schema 包含user_idgraph_idgraph_versionagent_name(用于 Builder UI 显示的名字)以及inputs/input_schema/output_schema,这些由 Builder 在保存时自动填充。执行时它监听子图的事件流,子 Agent 每执行完一个 Output 块,就把该块的名字和产出逐条作为本块的输出(agent.py),因此子 Agent 有几个命名过的 Output 块,外层工作流就能接几路输出。

验证组合后的工作流

按 "Testing the Agent Block" 一节的步骤验证:

  1. 输入一个测试问题(文档示例:"How far is the Earth from the Moon?"),点击 Run;
  2. 在 "Agent Outputs" 区域查看结果,或点击 "View More" 获取详细结果。

预期行为与文档一致:内层 Agent 的输出会经由 Agent 块透传到外层工作流的对应连线位置。若结果异常,优先回到上一节确认基础 Agent 单独运行时输出正常——文档的排查逻辑是先保证被封装的 Agent 本身可独立跑通。

进阶用法与限制

  • 文档的 "Advanced Usage" 部分说明:可以把多个 Agent Block 组合在一起,把不同的 Agent 串联起来组成更复杂的流程,即"层级化"的 Agent 系统(例如研究、写作、编辑、格式化各一个 Agent 块)。
  • 限制:输出依赖 Output 块的命名,"Agent Outputs" 为空时只能从 "View More" 或块底部查看,这是文档明示的现象,不是故障。
  • 相关文档入口:Agent Blocks Overview、Create a Basic Agent、Edit an Agent。后续需要修改已保存的 Agent 时,按 edit-agent.md 从 Monitor 标签页选中该 Agent、点击铅笔图标进入编辑器即可,改动保存在你的本地实例上。

【免费下载链接】AutoGPTAutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.项目地址: https://gitcode.com/GitHub_Trending/au/AutoGPT

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询