深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
Function Call 往返:tool_calls→invoke→tool 消息回喂
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
Function Call 往返:tool_calls→invoke→tool 消息回喂
由 Archify 生成的时序图。
① chatCompletion(messages, tools=getAllTools)
② POST /chat/completions(含 tools 声明)
③ finish_reason=tool_calls:name + arguments JSON
④ ChatCompletionResponse.choices[0].toolCalls
⑤ ToolUtil.invoke(functionName, argument)
⑥ 分发:内置→executor · MCP→callTool · 函数→反射 invoke
⑦ String result(业务输出)
⑧ 结果字符串
⑨ 追加 role=tool 消息后再次 chatCompletion
⑩ 第二轮(含 tool 结果)→ 最终文本回答
宿主调用方 · 驱动两轮调用 · 时序参与者
宿主调用方
驱动两轮调用
ChatService · chatCompletion · 时序参与者
ChatService
chatCompletion
Provider 模型 · tool_calls 裁决 · 时序参与者
Provider 模型
tool_calls 裁决
ToolUtil · invoke 分发 · 时序参与者
ToolUtil
invoke 分发
工具实现 · 函数/MCP/内置 · 时序参与者
工具实现
函数/MCP/内置
图例
默认消息
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
地图
透镜
阅读
100%
注解扫描成工具面
• @FunctionCall(name, description, strict) + @FunctionParameter 标注 POJO 方法;ToolUtil 用 Reflections 扫描进 toolEntityMap/toolClassMap
• getAllTools(functions, mcpIds) 只生成显式声明的 tools 数组——不传不暴露
invoke 三路分发
• 内置工具 → BuiltInToolExecutor.invoke(BuiltInToolContext 栈式上下文 push/pop)
• MCP 工具 → invokeMcpTool 反射接 mcpGateway.callTool;普通函数 → newInstance + method.invoke 注入解析参数
回喂语义
• tool_calls 出现时本轮无最终文本:宿主必须把每条 call 的结果以 role=tool + tool_call_id 追加进 messages
• 第二轮模型基于完整对话(含 tool 输出)产出自然语言回答;多 call 可并行执行后逐条回填