深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
SubAgent 委托:模型工具调用如何路由到子 Agent
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
SubAgent 委托:模型工具调用如何路由到子 Agent
由 Archify 生成的时序图。
execute(call):模型发出 tool_call
supports(toolName)?命中 subagent_*
未命中 → delegate.execute(call) 走普通工具
HANDOFF_START · depth+1 · policy 检查通过
run(task, context) → 目标 Agent
NEW_SESSION 或 REUSE_SESSION 会话
子 Agent 同步跑完循环 → AgentResult output
HANDOFF_END · completed / failed
工具结果回填 → 主循环继续
工具路由 · 策略检查
子 Agent 执行 · 结果回填
主 Agent · BaseAgentRuntime · 时序参与者
主 Agent
BaseAgentRuntime
SubAgent 执行器 · SubAgentToolExecutor · 时序参与者
SubAgent 执行器
SubAgentToolExecutor
SubAgent 注册表 · StaticSubAgentRegistry · 时序参与者
SubAgent 注册表
StaticSubAgentRegistry
子 Agent · 独立 session · 时序参与者
子 Agent
独立 session
事件总线 · AgentEventPublisher · 时序参与者
事件总线
AgentEventPublisher
普通工具 · ToolExecutor 委托 · 时序参与者
普通工具
ToolExecutor 委托
图例
请求
返回
安全
异步追踪
默认消息
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
地图
透镜
阅读
100%
工具即子 Agent
• StaticSubAgentRegistry 把每个 SubAgentDefinition 暴露成工具:默认 toolName=subagent_<名>,参数 {task*, context}(StaticSubAgentRegistry.java:156-191)
• SubAgentToolExecutor 按 supports(toolName) 分流;普通调用转给配置的主执行器(SubAgentToolExecutor.java:67-101)
HandoffPolicy 闸门
• maxDepth(默认1)/allowedTools/deniedTools/inputFilter 先检后行;onDenied/onError 默认 FAIL,可配 FALLBACK 回退主执行器(HandoffPolicy.java:19-49)
• maxRetries+timeoutMillis 控制重试与超时;每次 handoff 发 HANDOFF_START/END 事件(SubAgentToolExecutor.java:110-152)
会话边界
• SubAgentSessionMode:NEW_SESSION 每次新建;REUSE_SESSION 按 toolName 复用同一会话(StaticSubAgentRegistry.java:131-163)
• 子 Agent 同步阻塞返回 output;会话不共享——这是内部工具委托,不是 A2A 外部协议