製造工廠:生產日報產生器
走進工廠現場。每班結束,領班要把當班的產量、稼動、不良、停機寫成一份日報交給主管。資料就在他手上,但整理成「格式一致、主管一眼看懂」的報告很花時間,而且每個人寫法都不一樣。這一章我們用一條最基本的三節點工作流,把零散數據自動長成標準日報。
製造現場每天產生大量非結構化的班別紀錄——手寫在白板、記在便條、報在群組。要彙整成主管能追蹤的日報,得靠人重新謄寫、換算達成率與不良率、統一格式。結果是:領班下班前多花半小時做文書、各班報告格式不一難以橫向比較、關鍵異常淹沒在流水帳裡。這種「輸入雜亂、輸出要定型」的整理工,最適合交給工作流。
本章目標
- 解決什麼
- 把當班零散數據,一鍵整理成格式固定的生產日報,並自動算好達成率、不良率
- 用到的技術
- 第 5 章的工作流(Workflow)最基本的「開始 → LLM → 結束」三節點;多輸入欄位
- 難度
- ★★☆☆☆ 跨出對話、進入「輸入 → 處理 → 輸出」的自動化生產線
先看做完長什麼樣——這樣你就知道自己在往哪裡前進。跟著本章做,你也能生出下面這個結果:
班別:早班(08:00–17:00)
當班原始數據:計畫產量1000,實際完成920。不良15件:刮傷8、尺寸超差5、毛邊2。上午11:05模具卡料停機40分鐘…
生產日報 — 早班(08:00–17:00)
一、產出與稼動
| 項目 | 數值 |
|---|---|
| 計畫產量 | 1,000 件 |
| 實際產量 | 920 件 |
| 達成率 | 92.0% |
| 稼動率 | 92.6%(以停機40分鐘/班別工時540分鐘估算) |
二、品質
- 不良總數:15 件
- 不良率:1.63%(15/920)
主要不良原因 Top3:
| 排名 | 原因 | 件數 |
|---|---|---|
| 1 | 刮傷 | 8 |
| 2 | 尺寸超差 | 5 |
| 3 | 毛邊 | 2 |
三、異常與停機
| 時間 | 事件 | 時長 | 原因 | 對策 |
|---|---|---|---|---|
| 11:05 | 設備停機 | 40 分鐘 | 模具卡料 | 已排除,恢復生產 |
四、明日交班重點
- 明日換料號 A-207,首件務必依規定進行檢驗確認。
- 刮傷不良占比最高(8件),請留意來料防護與作業手法,追蹤根本原因。
- 模具卡料事件雖已排除,建議安排點檢/保養,避免再次發生停機。
👇 在 Dify 裡實際執行、長這樣

不想從頭做?下載本章的 DSL 檔,到你的 Dify「工作室 → 匯入 DSL 檔案」上傳,就能一鍵複製這個範例、改成自己的。
12.1為什麼用工作流,而不是聊天機器人?
日報這件事有兩個特徵:每次都以相同步驟處理、輸出要格式一致。這正是工作流的主場——不像聊天要你來我往,工作流是「填一張表 → 按執行 → 拿一份成品」,每次跑出來的結構都一樣,才能拿來橫向比較、歸檔。
| 聊天機器人(第 11 章) | 工作流(本章) | |
|---|---|---|
| 互動 | 多輪對話 | 單次執行:填表 → 產出 |
| 輸出 | 依對話自由發揮 | 格式固定、可歸檔比較 |
| 適合 | 問答、諮詢 | 日報、摘要、分類等定型業務 |
12.2動手做:三節點工作流
- 建立應用工作室 →「建立空白應用」→ 選「工作流」,命名「生產日報產生器」。
- 設定開始節點的輸入欄位點「開始」節點,新增兩個欄位:
shift(班別,短文字)與raw(當班原始數據,選「段落」多行長文字)。這就是領班要填的表單。 - 新增 LLM 節點在開始後接一個 LLM 節點,這是把雜亂數據整理成日報的引擎。
- 接上結束節點把 LLM 的輸出接到「結束」節點,命名輸出變數為
report。
12.2.1節點①「開始」:設計使用者要填的表單
點畫布上的「開始」節點,右側面板的「輸入字段」就是這個應用的表單設計區。按右上角的「+」新增欄位,每個欄位要設三件事:變數名稱(流程內部引用用,如 shift)、顯示標籤(使用者看到的中文,如「班別」)、欄位型別。本例加兩欄:
shift「班別」——型別選「短文字」(單行),並勾「必填」。raw「當班原始數據」——型別選「段落」(多行長文字,貼流水帳用),勾「必填」。
shift、raw),下游節點才能用 {{#開始.shift#}} 引用。面板下方的「下一步」顯示它接到 LLM 節點。12.3關鍵:把「格式規範」寫進 LLM 提示詞
工作流會不會好用,全看 LLM 節點的提示詞。訣竅是把你要的日報版型直接寫進系統提示詞——標題、四個固定段落(產出與稼動/品質/異常與停機/明日交班重點),並用 {{#開始.raw#}} 這種變數把使用者填的資料嵌進去。還要加一條鐵律:缺漏的欄位用「—」表示,不要捏造數字——這在工廠場景至關重要。
開始/shift、開始/raw 兩個輸入變數——這是工作流「變數在節點間傳遞」的核心。提示詞是這一章的核心,直接貼給你(在 LLM 節點的 SYSTEM 欄位輸入;{{#開始.shift#}}、{{#開始.raw#}} 用「/」插入變數選單帶入,不要手打):
你是製造現場的生產管理幕僚。使用者會提供某一班別的零散原始數據,
請你彙整成一份格式固定、主管一眼就能看懂的『生產日報』,一律使用繁體中文與 Markdown。
輸出格式:
## 生產日報 — {{#開始.shift#}}
### 一、產出與稼動
(用表格列出:計畫產量、實際產量、達成率、稼動率)
### 二、品質
(不良數、不良率、主要不良原因 Top3)
### 三、異常與停機
(停機事件、時長、原因、對策;若無則寫「無」)
### 四、明日交班重點
(3 條以內的具體提醒)
原始數據如下:
{{#開始.raw#}}
缺漏的欄位以「—」表示,不要捏造數字。
💡 為什麼把版型寫死 把「四段結構」直接寫進提示詞,是工作流穩定產出的關鍵——每天、每班、每個人跑出來的日報都長一樣,才能橫向比較、才能自動化。這招在 ch16 出題、ch17 履歷、ch18 合約都會再用到。
12.4測試運行:貼一段真實流水帳
點右上角「測試運行」,填入一段模擬領班隨手記的原始數據:
班別:2026/07/03 早班 A 線
計畫產量 5000 pcs;實際 4720;上線 8 人其中 1 人請假;
不良 88 pcs(尺寸超差 50、刮傷 26、其他 12);
14:10-14:35 換模停機 25 分;下午空壓機壓力偏低。
工廠數據錯一位小數就可能誤導決策。一定要在提示詞裡明令「不要捏造數字、缺漏用—表示」,並保留原始輸入供查核。LLM 擅長整理與換算,但你要用規則把它框在「只根據給定資料」的範圍內。
12.5發布模式:單次執行 vs. 批次處理
工作流發布後有兩種用法(第 5 章詳述):領班每班手動填表跑「單次執行」;或把整月各班數據整理成 CSV,用「批次執行」一次跑出整月日報。後者再串第 9 章的 API,就能讓 MES/ERP 系統在交班時自動呼叫、把日報寫回資料庫,完全無人操作。
領班下班前少花半小時做文書;所有班別日報格式統一,主管能直接橫向比較各線稼動與不良;關鍵異常(停機、壓力偏低)不再淹沒在流水帳,而是被獨立標示、可追蹤。
輸出、發布與使用:把成果交付出去
做好的應用要能發布、分享給別人用才有價值。以下是這個應用的輸出設定與發布/使用畫面:
text)對應成整條流程的最終結果——決定使用者最後拿到什麼。12.6本章回顧
- 「輸入雜亂、輸出定型」的整理工,是工作流最經典的用途。
- 三節點(開始 → LLM → 結束)+把版型寫進提示詞,就能穩定產出格式一致的報告。
- 工廠場景的鐵律:明令不得捏造數字、缺漏誠實標記,並保留原始輸入供查核。
- 批次執行+API,可讓日報生成完全自動化、寫回基幹系統。