Skip to content

Deep Agents 编排模式

Deep Agents 是 Sira AI 新增的高级编排模式,基于 LangChain Deep Agents 框架构建,提供了更强大的智能体协作和任务管理能力。

什么是 Deep Agents

Deep Agents 是一个先进的智能体框架,为 AI 智能体提供了丰富的中间件支持,使其能够像人类一样管理复杂任务:

  • 任务管理:通过 Todo List 中间件管理多步骤任务
  • 文件系统:可以创建、读取、编辑文件
  • 子智能体:支持将任务委托给专业的子智能体
  • 记忆存储:支持多种存储后端(内存、持久化、文件系统、组合)
  • 自动总结:自动总结长对话历史

核心特性

1. 中间件系统

Deep Agents 支持多种中间件,赋予智能体不同的能力:

中间件功能适用场景
Todo List任务待办清单管理需要多步骤规划和执行的复杂任务
Filesystem文件系统操作需要创建报告、保存数据、读取文件
SubAgents子智能体委托需要不同专业能力的协作任务
Summarization对话历史总结长对话保持上下文清晰

2. Backend(执行后端)

DeepAgents 支持三种代码执行后端,决定 Skill 脚本和文件操作运行在哪里:

Backend执行环境适用场景
filesystem平台后端容器内的虚拟 FS仅需文件读写、无需真实命令
local_shell平台后端容器内的 shell受控的命令执行,资源由 Sira 后端承担
sandpod 🆕独立部署的 SandrPod 沙箱隔离执行、对接员工 PC 沙箱、需要权限审计

Sandpod 沙箱三种归属模式(由编排器 / 用户上下文自动选择):

  • user_sandbox:每位员工拥有 1 个用户型沙箱(数据库以唯一索引保证 1:1)
  • dedicated_sandbox:企业共享沙箱,由编排器的 deep_agents_config.backend_config.sandbox_id 指定
  • agent_direct:编排器在 deep_agents_config 里直接配置沙箱连接,绕开用户解析

详见 Sandbox 集成 (P0 文档,批次 B 提供) 和 app/extensions/agent_system/services/deep_agents_executor.py::_resolve_sandrpod_target

2.1 Skill 包(Skill Manager)🆕

DeepAgents 可以挂载 Skill 包——即一组 Markdown 剧本 / 工具脚本 / 示例文件——执行时这些文件会被挂到沙箱的 /skills/{subagent_name}/ 路径下,让智能体按照"读说明书 + 执行步骤"的方式工作。

  • 主智能体的 Skill:在编排器的 deep_agents_config.skill_ids 中配置
  • SubAgent 的 Skill:在 Agent 自身的 skill_ids 字段配置(仅当作为 SubAgent 时生效;普通 SINGLE 编排会自动透明路由到 DeepAgents 来启用)

Skill 的创建、版本管理、导入导出详见 Skill Manager (P0 文档,批次 B 提供)。

3. 子智能体系统

支持两种子智能体定义方式:

  • predefined:预定义的子智能体(由 LangChain 提供)
  • agent_ref:引用 Sira AI 平台中已创建的其他智能体

创建 Deep Agents 编排器

步骤 1:进入编排器创建页面

  1. 导航到 Agent System → Orchestrators
  2. 点击创建 Orchestrator 按钮

步骤 2:填写基本信息

名称: deep_analysis_orchestrator
显示名称: 深度分析编排器
描述: 使用 Deep Agents 框架进行深度任务分析和执行

步骤 3:选择编排类型

  • 选择 Deep Agents 编排类型

步骤 4:配置 Deep Agents

基础配置

  1. AI 模型:选择主智能体使用的 AI 模型

    • 推荐使用 Claude 3.5 Sonnet 或 GPT-4o(强推理能力)
  2. 系统提示词:定义智能体的行为和能力

    你是一个深度分析专家,擅长将复杂任务分解为多个步骤。
    
    你的能力:
    - 可以创建和管理待办清单(Todo List)
    - 可以创建和编辑文件
    - 可以将任务委托给专业子智能体
    
    工作方式:
    1. 理解用户的任务需求
    2. 创建详细的待办清单
    3. 逐步执行任务
    4. 必要时委托给子智能体
    5. 汇总结果并保存

中间件配置

启用 Todo List

  • 开启后,智能体可以创建和管理任务清单
  • 适合多步骤复杂任务

启用 Filesystem

  • 开启后,智能体可以创建、读取、编辑文件
  • 适合需要保存报告、数据的场景

启用 SubAgents

  • 开启后,智能体可以将任务委托给其他智能体
  • 需要配置可用的子智能体列表

启用 Summarization

  • 开启后,会自动总结长对话历史
  • 保持上下文清晰,避免信息丢失

子智能体配置

如果启用了 SubAgents 中间件,需要配置可用的子智能体:

  1. 点击添加子智能体按钮
  2. 选择类型
    • agent_ref:选择平台中已创建的 Agent
    • predefined:使用预定义的子智能体
  3. 为每个子智能体添加描述,说明其能力和适用场景

示例配置:

json
{
  "subagents": [
    {
      "type": "agent_ref",
      "agent_id": "research-agent-uuid",
      "description": "研究专家,擅长搜索和整理信息"
    },
    {
      "type": "agent_ref",
      "agent_id": "writer-agent-uuid",
      "description": "文案专家,擅长撰写专业文档"
    }
  ]
}

存储配置

  1. Backend 类型

    • state:内存存储(默认)
    • store:持久化存储(推荐)
    • filesystem:文件系统存储
    • composite:组合存储
  2. PostgreSQL 配置(Store Backend):

    • 如果选择 store 或 composite backend,需要配置 PostgreSQL 连接

步骤 5:MCP 工具配置(可选)

Deep Agents 也支持使用 MCP 工具扩展能力:

  • 勾选需要的 MCP 工具
  • 智能体会在需要时自动调用这些工具

步骤 6:保存并测试

  1. 点击创建按钮保存配置
  2. 使用测试功能验证效果

使用场景

场景 1:市场研究报告

需求:生成一份包含多个章节的市场研究报告

方案

  • 主智能体:项目经理,负责整体规划
  • 中间件:Todo List + Filesystem + SubAgents
  • 子智能体
    • 数据分析专家(分析市场数据)
    • 行业研究员(研究竞争对手)
    • 报告撰写专家(撰写各章节)

执行流程

  1. 主智能体创建待办清单(市场概述、竞争分析、趋势预测等)
  2. 将数据分析任务委托给数据分析专家
  3. 将行业研究委托给行业研究员
  4. 将报告撰写委托给报告撰写专家
  5. 汇总所有内容并保存为报告文件

场景 2:软件开发任务

需求:开发一个新功能模块

方案

  • 主智能体:技术负责人
  • 中间件:Todo List + Filesystem + SubAgents
  • 子智能体
    • 需求分析专家
    • 代码开发专家
    • 测试专家

执行流程

  1. 主智能体分析需求并创建开发清单
  2. 需求分析专家细化功能点
  3. 代码开发专家编写代码并保存文件
  4. 测试专家编写测试用例
  5. 主智能体汇总并生成开发文档

场景 3:客户问题深度分析

需求:深入分析复杂的客户问题并提供解决方案

方案

  • 主智能体:问题分析师
  • 中间件:Todo List + SubAgents
  • 子智能体
    • 技术专家(技术问题诊断)
    • 产品专家(产品功能解答)
    • 客服专家(沟通建议)

执行流程

  1. 主智能体创建问题分析清单
  2. 技术专家诊断技术问题
  3. 产品专家提供功能说明
  4. 客服专家给出沟通建议
  5. 主智能体综合所有信息生成完整解决方案

场景 4:数据分析与可视化

需求:分析数据并生成图表报告

方案

  • 主智能体:数据分析师
  • 中间件:Todo List + Filesystem + MCP Tools
  • MCP 工具:数据库查询工具

执行流程

  1. 创建分析任务清单
  2. 使用 MCP 工具查询数据库
  3. 分析数据并生成图表
  4. 保存图表和分析报告到文件

与其他编排模式的对比

特性Deep AgentsSupervisorCollaborationWorkflow
任务管理✅ Todo List✅ 固定流程
文件操作✅ Filesystem
子智能体✅ 动态委托✅ 静态分配✅ 平等协作
记忆存储✅ 多种后端✅ LangGraph✅ LangGraph✅ LangGraph
适用场景复杂多步骤任务任务分解多角度分析固定流程

最佳实践

1. 中间件选择

根据任务特点选择合适的中间件:

  • 简单对话:不需要任何中间件
  • 多步骤任务:启用 Todo List
  • 需要保存数据:启用 Filesystem
  • 需要专业协作:启用 SubAgents
  • 长对话:启用 Summarization

2. 子智能体设计

  • 为每个子智能体定义清晰的职责
  • 子智能体的描述要详细,帮助主智能体正确委托
  • 避免子智能体之间的职责重叠

3. 提示词优化

主智能体的提示词应该:

  • 明确说明可以使用哪些中间件
  • 指导如何有效使用 Todo List
  • 说明何时应该委托给子智能体
  • 定义任务完成的标准

4. 存储选择

  • 开发/测试:使用 state backend(内存)
  • 生产环境:使用 store backend(PostgreSQL)
  • 需要文件保存:使用 composite backend(组合)

常见问题

Q1: Deep Agents 和 Supervisor 模式有什么区别?

Deep Agents

  • 提供了更多中间件支持(Todo List、Filesystem)
  • 支持动态任务管理
  • 更适合需要多步骤规划和执行的场景

Supervisor

  • 专注于任务分配和协调
  • 流程相对固定
  • 更适合明确的任务分解场景

Q2: 如何选择存储后端?

  • 内存 (state):临时会话,重启后丢失
  • 持久化 (store):长期保存,支持跨会话
  • 文件系统 (filesystem):保存结构化数据
  • 组合 (composite):结合多种存储优势

Q3: 子智能体可以使用其他 Orchestrator 吗?

目前子智能体只能引用 Agent,不能引用 Orchestrator。如果需要复杂的编排逻辑,可以:

  1. 创建一个 Agent 并配置工具
  2. 或者使用 Supervisor/Collaboration 模式的 Orchestrator

Q4: Deep Agents 的性能如何?

  • 优点:功能强大,支持复杂任务
  • 成本:Token 消耗比简单模式高(因为有中间件的 Prompt)
  • 速度:响应时间略长于简单模式

建议:

  • 简单任务使用 Single 模式
  • 复杂任务使用 Deep Agents

Q5: 如何调试 Deep Agents?

  1. 查看对话历史,观察 Todo List 的创建和更新
  2. 检查文件系统,查看保存的文件
  3. 查看子智能体调用记录,了解委托情况
  4. 使用测试功能进行迭代优化

技术细节

LangGraph 集成

Deep Agents 基于 LangGraph 框架构建,使用以下组件:

  • CheckpointSaver:保存对话状态和中间结果
  • MemorySaver:内存存储(开发环境)
  • PostgresSaver:PostgreSQL 持久化存储(生产环境)
  • AgentState:智能体状态管理

流式响应

Deep Agents 支持流式响应:

  • 实时显示 Todo List 更新
  • 实时显示子智能体调用过程
  • 实时显示文件创建和编辑

API 兼容性

Deep Agents 完全兼容:

  • OpenAI Chat Completions API
  • LangGraph Assistants API
  • Sira AI Agent System API

下一步


提示:Deep Agents 是一个强大的高级功能,建议先熟悉基本的编排模式(Single、Supervisor)后再使用。如需帮助,请参考示例配置或联系技术支持。

Apache-2.0 Licensed