← [ BACK_TO_NOTES ]

Tool Call Start

Tool Call Start 是 Agent 开始调用工具时发出的事件,包含工具名称和参数。前端收到后显示工具调用卡片。

#concept #evergreen #ai

[!info] related notes

Tool Call Start

一句话定义

Tool Call Start 是 Agent 开始调用工具时发出的事件。前端收到后显示”正在搜索…”等工具调用状态卡片。

核心原理

数据格式

{
  "event": "tool_call_start",
  "data": {
    "tool_call_id": "tc_001",
    "tool_name": "search_knowledge",
    "arguments": {"query": "膝关节康复"}
  }
}

前端处理

function handleToolCallStart(data: ToolCallStartData) {
  setMessages(prev => {
    const last = prev[prev.length - 1];
    return [
      ...prev.slice(0, -1),
      {
        ...last,
        toolCalls: [
          ...(last.toolCalls || []),
          {
            id: data.tool_call_id,
            name: data.tool_name,
            arguments: data.arguments,
            status: 'running',
          }
        ]
      }
    ];
  });
}

事件序列

tool_call_start → tool_call_result
     │                  │
     ▼                  ▼
  显示"执行中..."    更新为"完成"

常见坑

  1. 不显示状态: 收到事件但 UI 没有更新
  2. 参数太大: arguments 包含大量数据,事件太大
  3. 不跟踪 tool_call_id: 无法关联后续的 result 事件

参考资料

创建于 2026/6/30 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本