跳轉到
版本 v1.0.25

Agent

Agent 任務讓你在工作流程的某個步驟中,呼叫一個已建立好的 Agent 資源。Agent 會依照你給的提示詞自行推理、視需要呼叫工具(工具迴圈),最後把回應交給下一個步驟。和直接呼叫 LLM 不同,Agent 能自己決定要不要用工具、用哪個工具來完成任務。

這頁能幫你做什麼

  • 把開放式的推理或工具選擇交給 Agent 處理(例如「查資料庫後再總結」)。
  • 在工作流程中重複使用同一個 Agent 設定,不必每次重建。
  • 需要時讓 Agent 輸出結構化 JSON,方便後續步驟取用。

本頁只說明 Agent 任務特有的欄位。名稱、附註、下一個狀態、輸入與輸出、錯誤處理及共用開關,集中在 任務通用設定

開始前

需要先建立 Agent 資源

Agent 任務必須綁定一個已建立的 Agent 資源(內含指令、工具、可用模型等設定)。如何建立請見 Agent 資源

操作步驟

  1. 在工作流程編輯器中新增一個 Agent 任務(如何新增請見 任務使用指南)。

    Agent 任務設定面板

  2. 填入「名稱」。

  3. 在「Agent」欄位選擇要呼叫的 Agent 資源。這是一個資源挑選欄位:點欄位或右側的鉛筆鈕會開啟挑選對話框,選取時請點該列「名稱」以外的任一格(或列前面的圓鈕)——點「名稱」會在新分頁開啟該資源的詳細頁,不會選取它——再按對話框右上角的「儲存」(見資源挑選欄位)。
  4. 在「提示詞」填入要給 Agent 的指示,可用 Jinja2 樣板語法(如 {{ variable }})插入變數(樣板語法見 Template 語法)。編輯器工具列上有「改寫」()鈕,可以請系統幫你把草稿改寫成更清楚的提示詞(用法與 LLM 任務 的同名工具相同)。
  5. 在「提示詞變數」設定要帶進來的資料(見下方「提示詞變數的兩種角色」)。
  6. 視需要展開「進階任務設定」,覆寫模型、設定工作階段、結構化輸出、最大工具使用次數等。

    Agent 任務展開「進階任務設定」後的欄位

  7. 設定「下一個狀態」,必要時填「附註」。

  8. 用「測試任務」按鈕()試跑。

提示詞與提示詞變數至少要填一個

試跑(執行)時,「提示詞」與「提示詞變數」兩者不可同時為空,否則無法執行。

提示詞變數的兩種角色

「提示詞變數」是本頁最容易搞混的欄位,因為它會依「提示詞」有沒有填而扮演兩種完全不同的角色

情況 提示詞變數的角色
「提示詞」有填 當成樣板變數:提示詞裡的 {{ variable }} 會被換成這裡對應的值。
「提示詞」留空 當成輸入訊息:這包資料會直接送給 Agent 當使用者的話,等於你在聊天視窗打的那句。

這個欄位預設就把「JSONPath」開關打開、值為 $,也就是「把這一步收到的整包輸入原封不動送給 Agent」。三種常見寫法:

  • 整包輸入直接丟給 Agent(預設):提示詞留空、提示詞變數維持 JSONPath 模式的 $。上一步的輸出就是 Agent 收到的訊息。
  • 只把某個欄位當訊息:提示詞留空、提示詞變數的 JSONPath 改成 $.question,Agent 只收到使用者的問題那一段。
  • 用提示詞包住動態值:「提示詞」填 請用親切的語氣回答這個問題:{{ question }},再把「提示詞變數」的 JSONPath 開關關掉、改打開「JSON」開關填 { "question.$": "$.question" }——鍵名 question 要和樣板裡的 {{ question }} 一致,鍵名結尾加 .$ 代表這個值是一條路徑而不是字面字串。

Agent 任務特有欄位

設定分頁

欄位 必填 預設 說明
Agent 選擇這個步驟要呼叫的 Agent 資源。也可切換為用 JSONPath 從工作流程輸入帶入 Agent ID。
提示詞 視情況 空白 要給 Agent 的指示文字,支援 Jinja2 樣板語法,可用 {{ variable }} 插入提示詞變數。編輯器工具列有「改寫」()鈕可請系統協助改寫。與「提示詞變數」至少要填一個。
提示詞變數 視情況 JSONPath 模式、值為 $ 提供給 Agent 的資料。欄位預設就是 JSONPath 模式、路徑為 $(整包輸入);把滑鼠移到欄位上,標籤右側才會出現那排開關(滑鼠移開就消失,見 任務通用設定),關掉「JSONPath」、改開「JSON」開關可填鍵值對(如 { "message.$": "$.messages" },鍵名結尾的 .$ 代表值是路徑)。有提示詞時作為樣板變數;提示詞為空時作為輸入訊息傳給 Agent(兩種角色與範例見上方提示詞變數的兩種角色)。與「提示詞」至少要填一個。

進階任務設定(摺疊區塊)

展開設定分頁底部的「進階任務設定」,Agent 任務提供下列特有欄位。

欄位 必填 預設 說明
大型語言模型 沿用 Agent 預設 覆寫這次執行 Agent 預設使用的模型。欄位本身是唯讀的、右側只有一枝鉛筆(沒有下拉箭頭),點鉛筆才會開啟挑選對話框。可選項僅限該 Agent 允許切換的模型清單;點開鉛筆後清單是空的,就代表這個 Agent 沒有設定可切換的模型。可清除以回到 Agent 預設。
工作階段 ID 空白 指定 Agent 執行要使用的工作階段 ID,可用來延續同一段對話記憶。未填則系統建立新的工作階段。
儲存庫 指定工作階段期間提供給 Agent 使用的儲存庫資源(例如供 Agent 讀寫檔案)。同樣是唯讀欄位+鉛筆,點鉛筆開挑選對話框。如何建立見 儲存庫資源
啟用結構化輸出 關閉 開關。開啟後,系統會把 Agent 最終回應再整理成結構化 JSON。開啟後會多出下方兩個欄位。
JSON Schema 是(啟用結構化輸出時) 預帶一列名為 my_property 的欄位(類型「字串」、必填「是」、可空「否」) 只在啟用結構化輸出時出現。定義 Agent 結構化回應要符合的結構。它不是空表格——打開開關就已經有 my_property 那一列,記得改成你真正要的欄位名,不改的話輸出就會多一個叫 my_property 的欄位。表格的儲存格是唯讀顯示,要改內容得點該列的 鉛筆開「編輯屬性」對話框,操作方式與結構化大型語言模型任務的 JSON Schema 完全相同;也可打開欄位上的「JSON」開關直接貼一份 JSON Schema。
結構化大型語言模型 是(啟用結構化輸出時) 只在啟用結構化輸出時出現。指定負責把回應轉成結構化 JSON 的 LLM 資源。
最大工具使用次數 25 這次執行允許 Agent 使用工具的最大次數,範圍 1–100。用 JSONPath 帶入時不套用範圍檢查。
WebSocket 閒置逾時 30 Agent 執行期間每次 WebSocket 訊息接收的閒置逾時秒數,範圍 1–300。用 JSONPath 帶入時不套用範圍檢查。

Agent 任務的進階區沒有「允許重試」

上表就是 Agent 任務「進階任務設定」的全部欄位——沒有 Guardrail、備用大型語言模型,也沒有「允許重試」開關(那三項只出現在 LLM 與 Structured LLM 任務)。要在失敗時重試,請改用「錯誤處理」分頁的重試器,見 任務通用設定

開啟「啟用結構化輸出」後,下方會多出「JSON Schema」與「結構化大型語言模型」兩個欄位:

Agent 任務開啟「啟用結構化輸出」後多出的「JSON Schema」與「結構化大型語言模型」欄位

執行設定(摺疊區塊)

執行設定區塊(上傳輸出至外部記憶體、即時輸出串流、錯誤時中止、預設輸出)皆為共用欄位。其中「預設輸出」在啟用結構化輸出時會套用你定義的 JSON Schema。說明見 任務通用設定

實際範例

提示詞

請查詢訂單 {{ order_id }} 的狀態並用一句話回覆顧客。

提示詞變數

{
  "order_id.$": "$.order_id"
}

測試執行輸出

{
  "errors": null,
  "action_type": "agent_action",
  "message": "您的訂單已於今日出貨,預計兩個工作天內送達。",
  "response": {}
}

文字回應在 message 欄位;若啟用結構化輸出,結構化結果會放在 response 欄位。

技術識別

  • action_type:agent_action

下一步