跳轉到

Actions 概覽

Action(任務)是工作流程 (Workflow) 的基本建構單位。一個工作流程就是把多個 Action 串接起來,每個 Action 負責一件具體的事,例如呼叫大型語言模型、查資料庫、打外部 API 或轉換資料。本頁先說明 Action 是什麼、怎麼在編輯器裡新增,再用一個「所有 Action 類型」清單帶你找到對應的設定頁,最後集中說明所有 Action 表單都共用的設定分區。

這頁能幫你做什麼

  • 快速理解 Action 與工作流程、資源 (Resource) 的關係。
  • 知道在工作流程編輯器裡如何新增並設定一個 Action。
  • 一次看懂每個 Action 表單都有的共用設定(名稱、輸入/輸出、錯誤處理、進階任務設定、執行設定),各 Action 頁不再重複說明,直接連到本頁的「Action 通用設定」。

Action 是什麼

每個 Action 代表工作流程裡的一個步驟(在後端稱為一個「狀態」)。執行時,前一個步驟的輸出會成為這個 Action 的輸入,這個 Action 處理完後再把結果交給下一個步驟。你可以把工作流程想成一條生產線,Action 就是線上的每一台機器。

Action 常常需要搭配資源 (Resource) 才能運作。資源是事先建立好、可重複使用的設定,例如:

  • LLM 任務需要先有一個 LLM 資源(指定模型與金鑰)。
  • MySQL/OpenSearch 任務需要先有對應的 Connector 資源(指定連線資訊)。
  • Retrieval/Retriever 任務需要先有 Knowledge Base 與 Retriever 資源。

如何建立這些資源,請參考 Resource 指南。功能頁只會用一句話帶過並連到資源頁,不會在每個 Action 裡重寫一次。

如何在編輯器裡新增一個 Action

新增 Action 的方式是「從面板拖曳到畫布」,不是點一下清單就會加入。請依下列步驟操作:

  1. 進入要編輯的工作流程,開啟「工作流程編輯器」。

    開啟工作流程編輯器後的畫面

  2. 點開編輯器左上角的「新增狀態」()按鈕,左側會滑出一個面板,列出所有可新增的 Action 類型。

    點「新增狀態」後滑出的步驟選擇面板(「任務」頁籤)

  3. 面板上方有一個搜尋框,可輸入關鍵字快速找到要的類型;下方的類型則依分類手風琴(可展開/收合的分類區塊)排列(即上圖面板,分類見下方「所有 Action 類型」)。

  4. 找到要的類型後,用滑鼠按住該項目並拖曳到畫布上要插入的位置(從上圖面板拖到畫布),放開滑鼠即完成新增。直接點一下清單項目只會顯示提示,不會加入節點。
  5. 點選畫布上新加入的節點,右側會開啟該 Action 的設定表單。

    點選節點後從右側滑出的設定表單(以大型語言模型任務為例)

  6. 在「設定」分頁填寫該 Action 的專屬欄位(如模型、SQL、API 端點等,即上圖表單),詳見各 Action 頁。

  7. 視需要切換到「輸入與輸出」、「錯誤處理」分頁,調整共用設定(見「Action 通用設定」)。

    設定表單的「輸入與輸出」分頁

  8. 設定完成後,可用表單上方的測試()按鈕試跑這個 Action,確認輸出符合預期。

    設定面板頂部工具列,標出測試按鈕

新工作流程已內建一個預設節點

新建立的空白工作流程其實不是真的空白,預設已含一個「大型語言模型任務」節點,流程為「開始 → 大型語言模型任務 → 結束」。你可以直接點這個節點開始設定,或依上述步驟拖曳新增其他 Action。

所有 Action 類型

下表列出目前支援的所有 Action 類型,並依平台「新增狀態」面板的實際分類整理。點選指南連結可看該類型的完整欄位說明。

面板的實際結構

在「新增狀態」面板中,項目最上層會先分成「任務」與「流程」兩個分頁,分頁底下再以下列分類(手風琴)排列:生成式 AI、雲端運算、網路傳輸與 API、網頁互動、資料庫、檢索與排序、工作流程執行、文字與資料處理。實際的分類名稱與排序以畫面為準,下表僅供你對照各類型的用途與指南連結。

生成式 AI

Action 一句話用途 指南
LLM 呼叫大型語言模型做文字生成、補全或對話。 LLM 指南
Structured LLM 讓模型輸出符合指定 Schema 的結構化 JSON。 Structured LLM 指南
Agent 在工作流程步驟中呼叫已設定好的 Agent。 Agent 指南

雲端運算

Action 一句話用途 指南
Lambda 在 AWS Lambda 函式中執行自訂程式碼。 Lambda 指南

網路傳輸與 API

Action 一句話用途 指南
HTTPS API 呼叫外部 REST API 或 Web 服務。 HTTPS API 指南
MCP 與 Model Context Protocol 伺服器互動。 MCP 指南

網頁互動

Action 一句話用途 指南
Search Engine 透過搜尋引擎 API 搜尋網路。 Search Engine 指南
Read URL 從指定 URL 擷取並萃取內容。 Read URL 指南

資料庫

Action 一句話用途 指南
MySQL 對 MySQL 資料庫執行 SQL 查詢。 MySQL 指南
OpenSearch 查詢與管理 OpenSearch 索引。 OpenSearch 指南

檢索與排序

Action 一句話用途 指南
Retrieval 一站式從知識庫檢索文件(內含 Retriever 與 Ranker)。 Retrieval 指南
Retriever 用語意或關鍵字策略搜尋知識庫。 Retriever 指南
Ranker 依相關性重新排序文件,提升 RAG 品質。 Ranker 指南

工作流程執行

Action 一句話用途 指南
Start Sync Workflow Execution 同步呼叫子工作流程並等待結果。 Start Sync Workflow Execution 指南
Start Workflow Execution 非同步觸發子工作流程(觸發後不等待)。 Start Workflow Execution 指南
Describe Workflow Execution 查詢工作流程執行狀態並取回結果。 Describe Workflow Execution 指南

文字與資料處理

Action 一句話用途 指南
Code 直接在工作流程執行環境中跑 Python 程式碼。 Code 指南
Text 用變數替換從模板產生文字。 Text 指南
資料轉換(已棄用) 內建轉換(目前僅簡體轉繁體);面板標示為「資料轉換(已棄用)」,新流程改用 程式碼 (Code) 資料轉換指南
Pass 直接傳遞資料,或把靜態值注入工作流程狀態。 Pass 指南

設定面板的頂部與分頁

點選畫布上的任一 Action 節點,右側會滑出它的設定面板。不論哪一種 Action,面板最上方的工具列三個分頁都長得一樣:

Action 設定面板,標出頂部的定義開關、測試、最大化、關閉,以及設定/輸入與輸出/錯誤處理三個分頁

元件 作用
定義(開關) 切換成「定義檢視」,直接顯示這個步驟的原始 JSON 定義(見下圖),適合進階使用者檢查或核對設定。一般操作維持關閉、用表單填寫即可。
測試 單獨試跑這一個 Action,跳出測試視窗讓你填入測試輸入並查看輸出,方便在組整條流程前先確認這步沒問題。
最大化 把設定面板放大到更大的檢視,欄位多時操作更從容;再按一次還原。
關閉 收起設定面板,回到只有畫布的檢視(設定不會遺失)。
設定 / 輸入與輸出 / 錯誤處理(分頁) 三個分頁分別放:該 Action 的專屬欄位、資料進出設定、出錯時的重試與捕捉。內容見下方「Action 通用設定」。

開啟「定義」開關後,面板會切換成原始 JSON 定義檢視:

開啟定義開關後,面板顯示該步驟的原始 JSON 定義

面板裡的共用小元件

面板中的欄位也用到全平台共用的元件:選擇資源的 挑選鈕、 參數微調、表格的 新增列,以及多行欄位的編輯器工具列。這些的統一說明見通用介面元件。部分欄位(如輸入與輸出分頁的 Parameters)右側會有一個「值/JSONPath」切換鈕,可在「直接填固定值」與「用 $ 路徑從輸入動態帶入」之間切換($ 路徑的寫法見 JSONPath 語法)。

Action 通用設定

每個 Action 的設定表單,右側面板上方都有三個分頁:「設定」、「輸入與輸出」、「錯誤處理」。本節把這些分頁中所有 Action 共用的分區一次說清楚,各 Action 頁只會詳列該類型的專屬欄位,共用部分一律連回這裡。

進階任務設定/執行設定的內容會依 Action 類型而略有不同

所有 Action 的「設定」分頁底部都有「進階任務設定」與「執行設定」兩個摺疊區塊,但區塊裡實際出現的欄位會依 Action 類型而定。本節以 LLM 任務為例說明最常見的共用項;若某欄位只出現在特定 Action(例如 Guardrail、備用大型語言模型多半只在 LLM/Structured LLM/Agent 才有),會在表格中標明。各 Action 頁會列出該類型實際提供的進階/執行欄位。

基本欄位(設定分頁)

這些欄位直接顯示在「設定」分頁,不在摺疊區塊內,幾乎每個 Action 都有。

欄位 必填 預設 說明
名稱 這個步驟在工作流程中的識別名稱,必須在同一個工作流程裡唯一,不可與其他步驟同名。建議取有意義的名字(如「查詢訂單」「呼叫客服模型」),方便後續引用與除錯。
下一個狀態 這個步驟完成後要前往的下一個步驟。下拉選單會列出同層其他步驟;若選擇「結束」,代表這是流程的最後一步。
附註 空白 給這個步驟加上說明文字,純粹備註用途,不影響執行。方便團隊協作時看懂每步在做什麼。

Note

「下一個狀態」的下拉選項只會列出同一層級的步驟,外加一個「結束」選項;起始節點不會出現「結束」。實際可選項目依你工作流程現有結構而定。

輸入與輸出設定(輸入與輸出分頁)

切到「輸入與輸出」分頁可以控制資料如何流進、流出這個步驟。這些欄位多半使用 JSONPath(以 $ 開頭的路徑)來指定要取用或寫入資料的哪一部分。多數欄位選填,不填就會套用該 Action 的預設行為。

Action 設定面板的「輸入與輸出」分頁

上圖由上到下依序是 InputPath、ResultSelector、ResultPath 等欄位,下表逐一說明每個欄位的作用。

想深入了解這些路徑怎麼寫、資料怎麼流

  • $ 路徑的完整寫法(取前一步輸出、取 Workflow 輸入)見 JSONPath 語法
  • InputPath/ResultPath/OutputPath 如何一步步改變資料流,見 Path Parameters
  • 整章資料引用的概念與選擇($.{{ }}.%)見 變數與資料引用
欄位 必填 預設 說明
InputPath 整包輸入 用 JSONPath 篩選要餵給這個步驟的輸入,只取你需要的那一部分。不填代表使用上一步的完整輸出。
Parameters 視 Action 而定 以鍵值對的方式組出要傳入的參數,值可以是固定值,也可以用 JSONPath 從輸入動態帶入。只有部分 Action 會出現此欄位。
ResultSelector 視 Action 而定 從這個步驟的執行結果中挑選要保留的部分,組成新的鍵值對後再往下傳。只有部分 Action 會出現此欄位。
Result 直接指定要往下傳的「虛擬結果」。常見於 Pass 之類不實際執行外部呼叫、只負責塞資料的 Action。只有部分 Action 會出現此欄位。
ResultPath 視 Action 而定 指定要把這步的結果放到輸入的哪個位置(相對於原始輸入)。可用來決定是覆蓋輸入、還是把結果掛在某個欄位下。只有部分 Action 會出現此欄位。
OutputPath 整包結果 在資料成為這個步驟的最終輸出前,再用 JSONPath 篩一次,只往下傳你要的部分。

Note

Parameters、ResultSelector、Result、ResultPath 並非每個 Action 都會出現,畫面是否顯示取決於該 Action 類型;InputPath 與 OutputPath 則是所有 Action 共通。這幾個欄位的命名與行為沿用 AWS Step Functions 的輸入/輸出處理慣例。

錯誤處理(錯誤處理分頁)

切到「錯誤處理」分頁可以設定當這個步驟出錯時要怎麼辦。分成兩大區塊:重試(重試器)捕捉(捕捉器),兩者都可新增多筆,依序套用。

Action 設定面板的「錯誤處理」分頁

如上圖,分頁裡有「捕捉」與「重試」兩塊,分別用「建立新的捕捉器」「新增重試器」按鈕加入規則。以下逐一說明兩種規則的欄位。

重試器(重試)

點「新增重試器」可以加入一筆重試規則,遇到指定錯誤時自動重試。下圖是一筆重試器展開後的樣子,每筆包含下列欄位:

點「新增重試器」後展開的一筆重試器欄位

欄位 必填 預設 說明
錯誤 視 Action 而定 指定哪些錯誤要觸發這筆重試。可從內建錯誤類型(如 States.ALL 表示所有錯誤、States.Timeout 表示逾時等;任務型 Action 另有 Lambda 相關錯誤)中挑選,或自行輸入錯誤名稱。
間隔秒數 1 第一次重試前要等待的秒數。最小 0。
最多重試次數 3 最多重試幾次。最小 0;設為 0 代表不重試。
退避倍率 2 每次重試後,間隔秒數要乘上的倍率,用來逐步拉長等待時間。最小 1。
最長延遲秒數 未設定 重試間隔再怎麼放大也不超過這個秒數上限。最小 0,最大 31622401。不填代表不設上限。
新增隨機延遲 關閉 開關。開啟後會在重試間隔加入隨機抖動,避免大量請求在同一時間一起重試而壓垮系統。

捕捉器(捕捉)

點「建立新的捕捉器」可以加入一筆捕捉規則,當(重試後仍)發生指定錯誤時,把流程導向另一個步驟而不是整個失敗。下圖是一筆捕捉器展開後的樣子,每筆包含下列欄位:

點「建立新的捕捉器」後展開的一筆捕捉器欄位

欄位 必填 預設 說明
錯誤 States.ALL 指定哪些錯誤要被這個捕捉器接住。可選內建錯誤類型或自行輸入錯誤名稱。
回退狀態 錯誤被接住後要轉去的步驟。下拉選單會列出同層其他步驟。
ResultPath 將原始輸入與結果結合 兩種模式:「將原始輸入與結果結合」會把錯誤資訊掛到原始輸入的指定路徑再往下傳(路徑已存在則覆蓋);「丟棄結果並保留原始輸入」則把 ResultPath 設為 null,只往下傳原始輸入、捨棄錯誤結果。
附註 空白 這筆捕捉器的備註說明,不影響執行。

進階任務設定(設定分頁的「進階任務設定」摺疊區塊)

在「設定」分頁底部,展開「進階任務設定」可看到下列共用項。實際出現哪些欄位依 Action 類型而定,以下以 LLM 任務最常見的項目為例(下圖最底為「允許重試」開關):

展開「進階任務設定」後的欄位,最底為「允許重試」開關

欄位 必填 預設 說明 適用範圍
允許重試 關閉 開關。開啟後,當任務無法產生有效回應時會自動重新產生,且每次重試時模型溫度會增加 0.1(以增加變化)。與「錯誤處理」分頁的重試器不同,這是針對「結果無效」而非「呼叫失敗」。 多數任務型 Action
Guardrail ID 空白 指定要套用的 Guardrail(安全防護)識別碼,把特定的內容防護設定綁到這次呼叫。 多為 LLM 相關 Action
Guardrail 版本 空白 指定要使用的 Guardrail 設定版本,確保套用正確版本的防護規則。 多為 LLM 相關 Action
備用大型語言模型 指定一組備援模型;主模型失敗時依序改用備援模型,提高成功率。 多為 LLM 相關 Action

Note

Guardrail、備用大型語言模型等欄位主要出現在與大型語言模型相關的 Action(如 LLM、Structured LLM、Agent);其他類型的 Action 在「進階任務設定」中會顯示各自適用的欄位。請以各 Action 頁的欄位說明為準。

執行設定(設定分頁的「執行設定」摺疊區塊)

在「設定」分頁底部,展開「執行設定」可看到下列共用項,控制這個步驟在實際執行時的行為:

展開「執行設定」後的共用開關

欄位 必填 預設 說明
上傳輸出至外部記憶體 關閉 開關。開啟後,這個步驟的輸出會改存到外部記憶體,適合處理量很大的輸出資料,避免直接塞進工作流程狀態。開啟後會多出選擇器設定,指定要把哪部分輸出存到外部記憶體。用法與如何讀回見 外部記憶體
在任務開始階段開啟即時輸出串流 關閉 開關。開啟後,任務開始時會把任務定義以串流方式即時送到執行頁面顯示。
在任務結束階段開啟即時輸出串流 關閉 開關。開啟後,任務結束時會把結果以串流方式即時送到執行頁面顯示。
錯誤時中止 開啟 開關。開啟(預設)代表這個步驟出錯時整個工作流程中止;關閉後會改用下方的「預設輸出」繼續往下走。
預設輸出 只在「錯誤時中止」關閉時出現。指定這個步驟出錯時要改用的預設輸出值,讓流程能用替代結果繼續執行。

Note

串流相關開關主要用於可逐步產出內容的任務(如 LLM)。實際是否顯示「在任務開始/結束階段開啟即時輸出串流」「預設輸出」等欄位,依 Action 類型與是否關閉「錯誤時中止」而定。

常見模式

RAG(檢索增強生成)

結合檢索 Action 與 LLM,讓回應紮根在你自己的資料上:

Retriever → Ranker → LLM

或使用一站式的 Retrieval Action:

Retrieval(內含 retriever + ranker)→ LLM

API 整合

呼叫外部服務並處理回應:

HTTPS API → Code → LLM

資料庫驅動的工作流程

查詢資料庫,並在 LLM 提示中使用查詢結果:

MySQL → Code → Structured LLM

工作流程組合

透過呼叫子工作流程,組出模組化的工作流程:

Start Sync Workflow Execution → Code → LLM

Agent 輔助步驟

把開放式推理或工具選擇交給 Agent 處理:

HTTPS API → Agent → Code

下一步