2.0 KiB
Raw Permalink Blame History

id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
id title type feature scope locale aliases related_tools related_pages prerequisites negative last_verified
ai-assistant.tool-call.concept 工具调用的流式事件结构 concept ai-assistant end-user zh
tool_call 是什么
AI 工具调用的过程
工具调用气泡
AI 调用了工具显示什么
tool_call 事件
单次回复可包含多次工具调用(并行或串行),不限于一次
工具调用结果不计入用户上下文 token但会消耗会话 token
用户不能在前端取消已发出的工具调用,只能整体中断本轮回复
v1.7.90

工具调用的流式事件结构

定义

AI 助手回复以流式 SSE 推送给前端,事件中除了文本增量,还会出现工具调用片段。每次工具调用在浮窗里渲染为一个独立气泡,展示"工具名 + 参数 + 状态",让用户能看到 AI 在背后做什么。

一次完整工具调用的事件序列

  1. tool_call_start:模型决定调工具,前端插入气泡,状态置「执行中」
  2. tool_call_arguments(可多次):参数 JSON 增量流式拼接
  3. tool_call_result:后端/前端返回结果,状态变「完成」或「失败」
  4. 模型基于结果继续生成 message 文本

气泡可见信息

  • 工具名(如 list_tasks
  • 入参 JSON折叠/展开)
  • 出参摘要(成功)或错误码(失败)
  • 执行耗时

与普通文本的关系

  • 工具结果不直接回给用户,而是回灌给模型
  • 模型读结果后再生成下一段自然语言回答("我找到 3 条任务……"
  • 用户体感是"AI 一边查一边说"

不支持

  • 工具调用进行中无法手动改参数;要重来需点重试或重新提问
  • 失败的工具调用不会自动二次重试(模型可能换工具或道歉)

相关