Skip to main content

S04 Subagent - 子代理流程图

本文档描述 s04_subagent.py 的子代理机制和执行流程。


1. 系统架构概览​

加载中...

2. 子代理 vs 父代理对比​

加载中...

3. 子代理执行流程 (run_subagent)​

加载中...

4. 父子代理交互时序图​

加载中...

5. 上下文隔离示意图​

加载中...

6. 工具对比表​

加载中...

7. 数据结构​

父代理消息结构​

messages = [
{“role”: “user”, “content”: “用户输入”},
{“role”: “assistant”, “content”: [...]},
# ... 多轮对话
{“role”: “user”, “content”: [
{“type”: “tool_result”, “tool_use_id”: “...”, “content”: “子代理摘要”}
]}
]

子代理消息结构​

sub_messages = [
{“role”: “user”, “content”: “任务提示”},
{“role”: “assistant”, “content”: [...]},
{“role”: “user”, “content”: [...]},
# ... 独立执行,最多 30 轮
]

子代理返回摘要​

return “”.join(b.text for b in response.content if hasattr(b, “text”))
# 或 “(no summary)” 如果没有文本

8. 状态转换图​

加载中...

9. 四大关键特性​

特性说明优势
上下文隔离子代理从空白对话历史开始避免上下文污染
文件系统共享子代理可以读写父代理工作目录通过文件传递结果
摘要返回只返回最终文本,丢弃中间执行上下文节省父代理的 token 使用
防止递归子代理没有 task 工具控制复杂度

10. 使用场景​

加载中...

11. 关键代码流程​

加载中...

12. 核心洞察​

”Process isolation gives context isolation for free.”

进程隔离自然带来上下文隔离。子代理在独立的消息上下文中执行,完成后只返回摘要,所有中间执行上下文都被丢弃。