跳至主要内容

工具呼叫 (Tool Call)

當 Agent 在生成回答前呼叫了多個工具(例如查資料庫、打外部 API), SDK 會自動把連續的 tool-call 訊息分組為 Tool Call Group, 並提供展開檢視每筆工具的 parameterresult

下方切換不同情境,觀察 pendingcompletederror 三種狀態的呈現。

工具呼叫狀態

Agent 在回答前往往會呼叫多個工具。SDK 內建的 Tool Call Group 會把連續的工具呼叫分組顯示,並支援展開檢查每一筆的參數與結果。

聊天機器人載入中…

訊息結構

Tool Call 不是 Template,而是獨立的 ConversationMessage 類型:

type ConversationToolCallMessage = {
type: "tool-call";
messageId: string; // `${processId}-${callSeq}`
processId: string;
callSeq: number;
toolName: string;
toolsetName: string;
parameter: Record<string, unknown>;
result?: Record<string, unknown>;
isComplete: boolean;
time: Date;
};

實際情境下,這些訊息由 EventType.TOOL_CALL_START / EventType.TOOL_CALL_COMPLETE 兩個事件自動寫入 Conversation, 你完全不需要手動處理。

狀態判斷

狀態條件
pendingisComplete === false
completedisComplete === true && !result?.error
errorisComplete === true && result?.error