返回顶部
d

deepagents-architecture深度代理架构

Guides architectural decisions for Deep Agents applications. Use when deciding between Deep Agents vs alternatives, choosing backend strategies, designing subagent systems, or selecting middleware approaches.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
125
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

deepagents-architecture

Deep Agents 架构决策

何时使用 Deep Agents

在以下情况下使用 Deep Agents:

  • - 长周期任务 - 跨越数十次工具调用的复杂工作流
  • 规划能力 - 执行前的任务分解
  • 文件系统操作 - 读取、写入和编辑文件
  • 子代理委派 - 使用独立上下文窗口的隔离任务执行
  • 持久化记忆 - 跨对话的长期存储
  • 人在回路中 - 敏感操作的审批关卡
  • 上下文管理 - 长对话的自动摘要

考虑替代方案时:

场景替代方案原因
单次 LLM 调用直接 API 调用Deep Agents 开销不合理
简单 RAG 流水线
LangChain LCEL | 更简单的抽象 | | 自定义图控制流 | 直接使用 LangGraph | 更灵活 | | 无需文件操作 | createreactagent | 更轻量 | | 无状态工具使用 | 函数调用 | 无需中间件 |

后端选择

后端对比

后端持久性使用场景要求
StateBackend临时(每线程)工作文件、临时数据无(默认)
FilesystemBackend
磁盘 | 本地开发、真实文件 | root_dir 路径 | | StoreBackend | 跨线程 | 用户偏好、知识库 | LangGraph store | | CompositeBackend | 混合 | 混合记忆模式 | 多个后端 |

后端决策树

需要真实磁盘访问?
├─ 是 → FilesystemBackend(root_dir=/path)
└─ 否
└─ 需要跨对话持久化?
├─ 是 → 需要混合临时+持久化?
│ ├─ 是 → CompositeBackend
│ └─ 否 → StoreBackend
└─ 否 → StateBackend(默认)

CompositeBackend 路由

将不同路径路由到不同存储后端:

python
from deepagents import createdeepagent
from deepagents.backends import CompositeBackend, StateBackend, StoreBackend

agent = createdeepagent(
backend=CompositeBackend(
default=StateBackend(), # 工作文件(临时)
routes={
/memories/: StoreBackend(store=store), # 持久化
/preferences/: StoreBackend(store=store), # 持久化
},
),
)

子代理架构

何时使用子代理

使用子代理时:

  • - 任务复杂、多步骤且可独立运行
  • 任务需要大量上下文,会膨胀主线程
  • 多个独立任务可并行运行
  • 需要隔离执行(沙箱化)
  • 只关心最终结果,不关心中间步骤

不使用子代理时:

  • - 任务简单(少量工具调用)
  • 需要查看中间推理过程
  • 拆分增加延迟而无收益
  • 任务在执行过程中依赖主线程状态

子代理模式

模式 1:并行研究

┌─────────────┐
│ 编排器 │
└──────┬──────┘
┌──────────┼──────────┐
▼ ▼ ▼
┌──────┐ ┌──────┐ ┌──────┐
│任务A │ │任务B │ │任务C │
└──┬───┘ └──┬───┘ └──┬───┘
└──────────┼──────────┘

┌─────────────┐
│ 综合合成 │
└─────────────┘

最适合:多主题研究、并行分析、批量处理。

模式 2:专业化代理

python research_agent = { name: 研究员, description: 对复杂主题进行深度研究, system_prompt: 你是一位专家研究员..., tools: [websearch, documentreader], }

coder_agent = {
name: 编码员,
description: 编写和审查代码,
system_prompt: 你是一位专家程序员...,
tools: [code_executor, linter],
}

agent = createdeepagent(subagents=[researchagent, coderagent])

最适合:领域特定专业知识、按任务类型使用不同工具集。

模式 3:预编译子代理

python from deepagents import CompiledSubAgent, createdeepagent

使用现有 LangGraph 图作为子代理

customgraph = createreact_agent(model=..., tools=...)

agent = createdeepagent(
subagents=[CompiledSubAgent(
name=自定义工作流,
description=运行专业化工作流,
runnable=custom_graph
)]
)

最适合:复用现有 LangGraph 图、复杂自定义工作流。

中间件架构

内置中间件栈

Deep Agents 按以下顺序应用中间件:

  1. 1. TodoListMiddleware - 使用 writetodos/readtodos 进行任务规划
  2. FilesystemMiddleware - 文件操作:ls、readfile、writefile、editfile、glob、grep、execute
  3. SubAgentMiddleware - 通过 task 工具进行委派
  4. SummarizationMiddleware - 在约 85% 上下文或 170k 令牌时自动摘要
  5. AnthropicPromptCachingMiddleware - 缓存系统提示(仅限 Anthropic)
  6. PatchToolCallsMiddleware - 修复中断导致的悬空工具调用
  7. HumanInTheLoopMiddleware - 暂停等待审批(如果配置了 interrupton)

自定义中间件放置

python
from langchain.agents.middleware import AgentMiddleware

class MyMiddleware(AgentMiddleware):
tools = [mycustomtool]

def transform_request(self, request):
# 修改系统提示,注入上下文
return request

def transform_response(self, response):
# 后处理、记录、过滤
return response

自定义中间件添加在内置栈之后

agent = createdeepagent(middleware=[MyMiddleware()])

中间件与工具决策

需求使用中间件使用工具
注入系统提示内容
动态添加工具
✅ | ❌ | | 转换请求/响应 | ✅ | ❌ | | 独立能力 | ❌ | ✅ | | 用户可调用的操作 | ❌ | ✅ |

子代理中间件继承

子代理默认接收自己的中间件栈:

  • - TodoListMiddleware
  • FilesystemMiddleware(共享后端)
  • SummarizationMiddleware
  • AnthropicPromptCachingMiddleware
  • PatchToolCallsMiddleware

可通过 SubAgentMiddleware 中的 default_middleware=[] 或每个子代理的 middleware 键覆盖。

架构决策清单

实施前:

  1. 1. [ ] Deep Agents 是否是合适的工具?(对比直接使用 LangGraph、更简单的代理)
  2. [ ] 后端策略是否已选择?
- [ ] 仅临时 → StateBackend(默认) - [ ] 需要磁盘访问 → FilesystemBackend - [ ] 需要跨线程持久化 → StoreBackend 或 CompositeBackend
  1. 3. [ ] 子代理策略是否已定义?
- [ ] 哪些任务受益于隔离? - [ ] 具有专业化工具/提示的自定义子代理? - [ ] 是否识别出并行执行机会?
  1. 4. [ ] 人在回路中的节点是否已定义?
- [ ] 哪些工具需要审批? - [ ] 审批流程(批准/编辑/拒绝)?
  1. 5. [ ] 是否需要自定义中间件?
- [ ] 系统提示注入? - [ ] 请求/响应转换?
  1. 6. [ ] 是否考虑了上下文管理?
- [ ] 长对话 → 摘要触发 - [ ] 大文件处理 → 使用引用
  1. 7. [ ] 检查点策略?(用于持久化/恢复)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 deepagents-architecture-1776068176 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 deepagents-architecture-1776068176 技能

通过命令行安装

skillhub install deepagents-architecture-1776068176

下载

⬇ 下载 deepagents-architecture v1.0.0(免费)

文件大小: 3.59 KB | 发布时间: 2026-4-17 14:37

v1.0.0 最新 2026-4-17 14:37
- Initial release of deepagents-architecture skill.
- Provides clear guidelines on when to use Deep Agents versus alternatives.
- Includes backend selection strategies and a decision tree for choosing backends.
- Documents subagent architecture patterns and decision-making criteria.
- Details middleware stack, customization, and best practices.
- Supplies a comprehensive architecture decision checklist.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部