子代理清單
當主 Agent 透過 Agent 工具派出子代理時,SDK 會把每個子代理累積成一份停靠面板,
顯示其狀態(進行中/完成/失敗/取消)與它自己呼叫的子工具。
子代理清單
當主 Agent 透過 Agent 工具派出子代理時,SDK 會把每個子代理累積成一份停靠面板,顯示其狀態(進行中/完成/失敗/取消)與它自己呼叫的子工具。子代理的狀態由 subagent.start / complete 事件驅動,而非 Agent 工具本身的完成。
// 停靠面板自動出現,可用 locale 本地化
<Chatbot
locale="zh-TW"
config={{ botProviderEndpoint: '...' }}
customChannelId="my-channel"
/>Agent 工具與所有子工具(帶 parentToolUseId)都會從主工具呼叫群組移出,改由停靠的子代理面板呈現。文字可用 locale prop 本地化。
聊天機器人載入中…
運作方式
- 子代理的狀態由
asgard.subagent.start/.complete事件驅動,不是由Agent工具本身的完成決定 —— 非同步子代理常常在自己還在執行時,Agent工具就已提早完成。 - 關聯鍵是
parentToolUseId(即派生它的Agent工具呼叫的toolUseId)。 Agent工具與所有子工具(帶parentToolUseId)都會從主工具呼叫群組移出,改由停靠的<SubagentList>面板呈現;面板文字依localeprop 本地化。
Headless 用法
不使用 <Chatbot> 時,可用 useSubagents(channel) hook 取得 Subagent[] 自行渲染;
框架無關的底層是 @asgard-js/core 的 deriveSubagents(conversation)。詳見
Headless 模式。