Call Agent 工具
Call Agent 工具讓 Agent 可以呼叫其他 Agent 協助處理任務,實現分工合作。
什麼時候使用
- 任務涉及多個專業領域
- 想要重用已建立的 Agent 能力
- 需要分層處理複雜流程
使用情境範例
| 主 Agent | 呼叫的 Agent | 場景 |
|---|---|---|
| 客服總機 | 技術支援 Agent、帳務 Agent | 根據問題類型轉接 |
| 銷售助手 | 產品規格 Agent、報價 Agent | 複合詢問 |
| 專案管理 | 排程 Agent、資源查詢 Agent | 多面向協調 |
前置準備
在新增 Call Agent 工具前,你需要:
- 建立目標 Agent:在工作空間中建立至少一個 Agent
- 發布目標 Agent:確保目標 Agent 已經發布至少一個版本
必須已發布版本
- 如果目標 Agent 從未發布過任何版本,即使勾選「始終選擇最新已發布版本」(Always choose latest published version),該工具在執行時也會被自動跳過。
- 請確保目標 Agent 已經發布至少一個版本。
設定步驟
步驟 1:新增 Call Agent 工具
在 Tools 區塊點擊「新增工具」,開啟工具選擇器。
步驟 2:選擇目標 Agent
在工具選擇器的「代理工具」分組中,選擇要呼叫的 Agent。系統會自動過濾掉已經選用的 Agent,避免重複選擇。
沒有可用 Agent 時無法新增
- 如果工作空間中沒有已建立並發布的 Agent,工具選擇器中的「代理工具」選項會顯示為灰色,並標註「所有代理工具都已選擇」,此時無法新增 Call Agent 工具。
- 請先建立並發布至少一個 Agent。
步驟 3:選擇版本
新增 Call Agent 工具時,系統預設選擇「最新已發布版本」。
你可以選擇:
| 選項 | 說明 | 適合情境 |
|---|---|---|
| 最新已發布版本(預設) | 自動使用目標 Agent 的最新已發布版本 | 快速迭代、測試階段 |
| 固定版本 | 指定特定版本,不會自動更新 | 穩定運作、正式上線 |
預設為最新已發布版本
- 系統預設選擇「最新已發布版本」。
- 如果目標 Agent 從未發布過版本,請先發布至少一個版本,或切換為「固定版本」並選擇已存在的版本。
未發布版本的嚴重性
- 如果選擇「最新已發布版本」但目標 Agent 從未發布過任何版本,該 Call Agent 工具在執行時會被自動跳過,Agent 無法呼叫該工具。系統會在工具設定中顯示黃色警告圖標提示此問題。
- 強烈建議:在設定 Call Agent 工具前,確保目標 Agent 已經發布至少一個版本,或改選「固定版本」。
步驟 4:設定「調用指示」(When to Use)
告訴 Agent 何時呼叫這個 Agent。
範例:
當用戶詢問技術問題、錯誤排除、API 使用方式時,
呼叫技術支援 Agent 協助回答。
將用戶的問題原文傳遞給它。
當需要計算報價或查詢價格時,呼叫報價 Agent。
傳遞必要的規格和數量資訊。
步驟 5:確認新增
點擊確認,工具會出現在 Tools 列表中。
版本選擇建議
使用「最新已發布版本」
- 在開發和測試階段,但你希望改進自動生效
- 希望自動使用目標 Agent 的最新已發布版本
預設選項
新增 Call Agent 工具時,系統預設選擇「最新已發布版本」。如果目標 Agent 尚未發布版本,請先發布或改選「固定版本」。
使用「固定版本」
- 正式上線的服務
- 需要穩定可預期的行為
- 目標 Agent 有重大變更風險
版本號碼顯示
- 選擇「固定版本」時,系統會顯示目標 Agent 的所有可用版本號碼(v1, v2, v3...),方便你選擇合適的版本。
執行方式
當 Agent 需要呼叫多個 Agent 時:
- 依序執行:一個完成後再呼叫下一個
- 結果整合:主 Agent 會整合各個呼叫結果回覆用戶
工具列表顯示
已添加的 Call Agent 工具會顯示在「工具」區塊的「代理工具」分組中,每個工具顯示:
- 目標 Agent 的名稱(如「收集姓名電話」)
- 版本標籤:
- 如果選擇「最新已發布版本」:顯示「使用已發布版本」標籤
- 如果選擇「固定版本」:顯示版本號碼(如「v3」)
- 如果目標 Agent 未發布版本:顯示黃色警告圖標
- 可展開查看詳細設定(包括 Agent 描述、版本選擇、「調用指示」(When to Use))
- 可點擊刪除按鈕移除工具
數量限制
- 最多可新增 5 個 Call Agent 工具
- 這個限制是為了確保 Agent 能有效選擇和使用工具
呼叫深度限制
系統限制為最多一層呼叫深度。即使你設定了多個 Call Agent 工具,被呼叫的 Agent 也無法再呼叫其他 Agent。
最佳實務
明確分工
每個被呼叫的 Agent 應該有明確的專長:
技術支援 Agent:處理 API、SDK、錯誤排除
帳務 Agent:處理計費、訂閱、發票問題
產品 Agent:處理功能介紹、使用教學
配合 Agent 的「核心指示」(Core Instruction)使用
在主 Agent 的「核心指示」中說明:
## 協作規則
- 技術問題交給技術支援 Agent
- 帳務問題交給帳務 Agent
- 整合各 Agent 回覆後,用統一語調回答用戶
- 如果問題跨領域,先判斷主要領域再呼叫
傳遞足夠上下文
在 When to Use 中說明要傳遞什麼資訊:
呼叫時傳遞:
- 用戶的原始問題
- 相關的對話歷史
- 已知的用戶資訊(如果有)
測試呼叫
新增後,測試呼叫是否正常:
- 問一個應該觸發呼叫的問題
- 觀察是否有呼叫目標 Agent
- 檢查回答是否整合了被呼叫 Agent 的結果
常見問題
被呼叫的 Agent 可以再呼叫其他 Agent 嗎?
不可以。系統限制為最多一層呼叫深度:
- ✅ 允許:Agent A → Agent B(一層呼叫)
- ❌ 不允許:Agent A → Agent B → Agent C(多層嵌套呼叫)
當 Agent B 被呼叫時,系統會自動禁用它的 Call Agent 工具,防止它再次呼叫其他 Agent。這個限制是為了:
- 防止無限循環和過度複雜性
- 降低除錯難度
- 控制資源消耗
呼叫失敗會怎樣?
主 Agent 會收到錯誤訊息,通常會告知用戶無法完成該請求。建議在 Instruction 中加入錯誤處理指示。
可以讓用戶選擇要哪個 Agent 回答嗎?
可以在主 Agent 的「核心指示」(Core Instruction)中設計這個流程,例如:「先詢問用戶問題類型,再決定呼叫哪個專門 Agent」。
如果被呼叫的 Agent 被刪除了怎麼辦?
如果工作空間中的目標 Agent 被刪除,系統會自動從 Agent 的工具設定中移除對應的 Call Agent 工具,並顯示通知訊息(Toast)。
建議定期檢查 Agent 的工具設定,確保所有 Call Agent 工具都正常運作。如果發現工具被自動移除,請重新建立並發布目標 Agent 後再添加工具。
為什麼無法選擇某個 Agent?
可能原因:
- 該 Agent 不屬於當前 Agent 所在的工作空間
- 該 Agent 已經被選用
- 該 Agent 在工作空間中已被刪除
請檢查 Agent 的狀態和類型,或聯繫管理員確認工作空間權限。
下一步
- Request Form - 收集結構化資料
- Knowledge Base - 連接資料來源
- 回到工具概覽