跳轉到

變數與資料引用概覽

工作流程 (Workflow) 是一連串接力的步驟。很多時候,後面的步驟需要用到前面步驟產生的東西——例如把使用者問的問題,交給 AI 回答。這一章要教你的,就是怎麼把資料從一個步驟「接」到下一個步驟

先用看診理解「步驟怎麼接力」

你應該有過看診的經驗,整個流程其實是一場接力:

  1. 掛號櫃台寫下你的基本資料和主訴。
  2. 護理師量了血壓、體溫,寫進你的病歷夾。
  3. 報到區的 AI 分診助理讀你填的主訴,建議先掛哪一科,也寫進病歷夾。
  4. 醫師翻開病歷夾,看到前面的主訴、血壓和分診建議,做出診斷、寫下處方。
  5. 藥師讀病歷夾上的處方,把藥配好給你。

關鍵在於:沒有人需要重講一次前面發生的事。大家靠的是同一份病歷夾——前一站把結果寫上去,後一站翻開讀。這份一路跟著你跑、人人都能讀寫的病歷夾,就是整場接力能成立的原因。

對照到平台:三個詞

工作流程運作的方式,跟看診幾乎一模一樣。把上面的畫面換成平台術語,三個地基概念就懂了:

看診裡的東西 平台術語 是什麼
一次看診的流程(掛號 → 量血壓 → 看診 → 領藥) 工作流程 (Workflow) 一連串接力的步驟
跟著你跑、人人讀寫的病歷夾 狀態 (State) 共用資料區:每一步把產出寫上去,後面的步驟讀得到
醫師說「把剛剛量的血壓調出來」 變數引用 從狀態裡把某一欄「叫出來」用——也就是這一章在教的事

你不用會寫程式

接下來你會看到 { } 這種東西(那叫 JSON,是給電腦看的格式)。你不用自己寫——你只要在畫面上勾選、填欄位,平台會幫你產生這些底層定義。本章出現的 JSON 片段,都是給你看懂平台幫你產生了什麼,不是要你手動打字輸入。

走一遍:後面的步驟怎麼「取用」前面寫的資料

把鏡頭拉近,看資料在步驟之間到底怎麼被取用。輪到醫師看診時,病歷夾上已經有前面各站寫好的欄位:

┌─ 病歷夾(狀態)──────────────────────────┐
│                                            │
│  主訴 = 頭痛、發燒                         │  ← 掛號寫的
│  血壓 = 120/80                            │  ← 護理師寫的
│  體溫 = 38.5°C                            │  ← 護理師寫的
│                                            │
└──────────────────────────────────────────┘

醫師看診需要用到前面的資料,但他不會重新問你一次血壓——而是翻開病歷夾,指名把「血壓」這一欄調出來看。這個「指名某一欄、把它的內容叫出來用」的動作,就是變數引用

診斷完,醫師把結果寫回病歷夾,於是多了兩欄:

┌─ 病歷夾(狀態)──────────────────────────┐
│                                            │
│  主訴 = 頭痛、發燒                         │
│  血壓 = 120/80                            │
│  體溫 = 38.5°C                            │
│  診斷 = 流感                              │  ← 醫師寫的
│  處方 = 退燒藥                            │  ← 醫師寫的
│                                            │
└──────────────────────────────────────────┘

最後一站藥師,同樣翻病歷夾、指名把「處方」這一欄調出來配藥。整場接力,每一步都是同一個節奏:從病歷夾指名調出需要的欄位(讀)→ 做事 → 把產出寫回病歷夾

平台上的工作流程一模一樣:某一步要用到前面步驟的產出,就從狀態裡把那一欄「叫出來」。這一章接下來教的,就是怎麼把那一欄指出來。

三種情況、三種方法

依你想做的事,選一種語法。先認得它「長什麼樣」就好,怎麼用各有專頁:

你想做什麼 用哪一種 你會看到的長相 看哪頁
把前一步的資料,接到這一步 JSONPath $. JSONPath 語法
套一段罐頭文字(中間帶變數) Template {{ }} Template 語法
資料太大(例如整份長文件) External Memory(置物櫃) .% External Memory

第一次讀,照順序就好

新手建議照側邊欄由上到下讀:先學 JSONPath(最常用,九成情況靠它),再看 TemplateExternal Memory。最後兩頁「Path Parameters」「External Memory 語法」是除錯與進階時才回來看的,第一次可以先跳過。本頁最下方的「速查表」給已經學會、回來查語法的人用。


速查表

學會之後回頭查用。第一次讀可略過這一段。

何時使用 語法 範例
存取 Workflow 資料 $. 搭配 .$ 後綴 "field.$": "$.input_value"
載入 Resource/大型資料 .% "field.%": {"type": "variable", "id": "var-id", "jsonpath": "$"}
渲染文字/Prompt {{ }} Hello {{ name }}!

常見模式

// 使用 Workflow 輸入
{ "query.$": "$.user_question" }

// 使用前一個 Action 輸出
{ "documents.$": "$.RetrievalResult.documents" }

// 載入 Variable Resource
{ "api_config.%": { "type": "variable", "id": "var-api-settings", "jsonpath": "$" } }

// 在文字/LLM Action 中使用 Template
回答此問題:{{ question }}

要避免的常見錯誤

欄位名稱遺漏 .$ 後綴

{ "query": "$.user_question" }  // 錯誤

正確{ "query.$": "$.user_question" }

把資料路徑直接串進字串裡

{ "url": "https://api.example.com/$.user_id" }  // 錯誤

正確{ "url.$": "$.full_api_url" }

了解更多