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.”

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