教學

Dify 工作流編排教學:從單輪問答到多步驟流程

Chatbot 只能一問一答,遇到要先分類、再查資料、最後組合回覆的需求就不夠用。這篇說明 Workflow 的節點怎麼串、什麼時候該從 Chatbot 換過來。

E
Eric 浪花科技創辦人 ·

🚀 想直接開始?60 秒部署你的 Dify

AI 應用開發平台 — No-Code 建構你的 AI。月付 NT$1,599 起,

立即訂閱 Dify

Chatbot 的結構是固定的:收到問題、查知識庫、生成回答。

但真實需求常常不是一步到位。「先判斷這是售前還售後、售後再查訂單、售前才給型錄」——這種分支邏輯 Chatbot 做不了,要用 Workflow。

30 秒總覽

ChatbotWorkflow
結構固定,一問一答自由,可分支可迴圈
適合單一主題問答多步驟、要分類、要串外部系統
上手難度
除錯看引用來源逐節點看輸入輸出
什麼時候換當你發現 Prompt 裡開始寫「如果⋯就⋯否則⋯」

最後一列是最實用的判斷法:當你在 Prompt 裡塞條件判斷的時候,就是該換成 Workflow 的訊號。模型不擅長穩定地執行分支邏輯,那應該交給流程結構。

常用節點在做什麼

開始與結束

開始節點定義這條流程接收什麼輸入。結束(或直接回覆)節點決定回傳什麼。

問題分類器

把使用者的問題分到你定義的類別,然後走不同的分支。這是多數實用流程的第一個節點。

分類的準確度取決於你怎麼描述每個類別。用具體例子描述會比用抽象定義準得多——「詢問運費、到貨時間、物流狀態」比「物流相關問題」有效。

知識檢索

從指定的知識庫撈相關段落。可以在不同分支接不同的知識庫,這是 Workflow 相對於 Chatbot 的一大優勢。

LLM

呼叫語言模型。一條流程裡可以有多個,各自負責不同的事——例如一個負責摘要、一個負責改寫語氣。

條件分支

依變數的值決定走哪條路。跟問題分類器的差別是:條件分支比的是明確的值,分類器是讓模型判斷語意。能用條件分支解決的就不要用分類器,前者穩定得多也不花模型費用。

HTTP 請求

呼叫外部 API。這是讓流程能查訂單、查庫存、寫入系統的關鍵節點。

不過如果你要串的東西多、又需要重試與錯誤處理,用 n8n 負責執行會比全部塞在 Workflow 裡好維護。

一條實際的流程長什麼樣

以客服為例:

  1. 開始——接收使用者問題
  2. 問題分類器——分成「產品諮詢」「訂單查詢」「其他」
  3. 產品諮詢 → 知識檢索(產品知識庫)→ LLM 生成回答
  4. 訂單查詢 → HTTP 請求(查訂單系統)→ LLM 把結果講成人話
  5. 其他 → 直接回覆固定的轉真人訊息
  6. 結束

注意第五條:不要讓每條路都經過模型。固定回覆用直接回覆節點就好,又快又不花錢,而且結果可預期。

除錯的方法

逐節點看輸入輸出

Workflow 的除錯體驗比 Chatbot 好很多——每個節點都看得到收到什麼、吐出什麼。流程結果不對時,從後往前找第一個輸出不符預期的節點。

先讓流程跑通,再調品質

常見的錯誤是一邊接節點一邊調 Prompt。建議先用最簡單的設定把整條路接通,確認資料流是對的,再回頭調每個 LLM 節點的品質。

變數名稱要看得懂

節點之間靠變數傳遞。流程一長,`text`、`result`、`output` 這種名字會讓你三天後看不懂自己寫了什麼。

變數:流程真正的骨架

節點之間靠變數傳遞資料,這是 Workflow 最容易出錯、也最少人講清楚的部分。

每個節點的輸出都要被接住

LLM 節點吐出的內容、知識檢索撈回的段落、HTTP 請求的回應,都會存成變數。下一個節點要用時再引用它。

常見的錯誤是在後面的節點裡引用了根本沒執行到的分支變數——流程走了 A 路,卻引用 B 路的輸出,結果是空值。有多個分支時要特別檢查這件事。

命名習慣會決定你三天後看不看得懂

`text`、`result`、`output` 這種預設名字在三個節點時還好,到十個節點就是災難。用途導向的命名(`classified_intent`、`order_status`)花不了多少時間,但省下的除錯時間差很多。

第二個案例:內容審核流程

不是所有 Workflow 都要對話。這條流程處理的是批次任務:

  1. 開始——接收一段使用者投稿的文字
  2. LLM——判斷有沒有違規內容,輸出「通過」或「需人工複審」
  3. 條件分支——依上一步的結果分流
  4. 通過 → HTTP 請求寫入資料庫
  5. 需複審 → HTTP 請求發通知給管理員
  6. 結束

這個案例說明兩件事:Workflow 不一定要有人在對話,它可以被系統呼叫;以及判斷交給模型、動作交給節點是比較穩的分工。

什麼時候不該用 Workflow

誠實講:如果你的需求就是「根據文件回答問題」,Chatbot 就夠了。用 Workflow 只是多一層維護成本。

另外,如果流程的重點是串接大量外部系統、需要排程、需要失敗重試——那核心應該放在自動化工具,Dify 只負責理解意圖的部分。分工方式在Dify 加 n8n

常見問題

Q:Workflow 和 Chatflow 差在哪?

簡單說 Chatflow 是帶對話記憶的 Workflow,適合多輪對話;Workflow 比較像一次性的任務處理。要做客服機器人多半用 Chatflow,要做批次處理用 Workflow。

Q:一條流程可以多長?

技術上沒什麼限制,但實務上節點超過十幾個就該考慮拆開。太長的流程除錯困難,而且每個節點的失敗機率會累積。

Q:流程跑很慢怎麼辦?

先看是哪一個節點慢。多半是 LLM 節點——那是模型的回應時間,加資源沒用。可以考慮換更快的模型,或減少不必要的 LLM 節點。

Q:可以讓流程定時執行嗎?

Dify 的流程主要由請求觸發。需要排程的話,用外部工具定時呼叫它的 API 是比較常見的做法。

資料來源與延伸連結

延伸閱讀

準備好開始使用 Dify 了嗎?

完成訂閱後 60 秒,系統自動幫你裝好 Dify——獨立容器、資源硬性上限不與他人共用、HTTPS 開箱即用。

立即訂閱 Dify

月付訂閱、不綁約、隨時取消

嗨,我是小浪!有任何問題都歡迎點我詢問,我來幫你解答。

小浪

小浪 - AI小助手

在線中
小浪

有任何問題都歡迎隨時詢問我,我會盡力為你解答!

Powered by RoamerHost AI