Skip to content

05 · 每一步都要能驗收 ​

流水線最大的風險不是某一步會錯,是錯了沒人發現,一路流到最後。等你在成品上看出不對,前面三步的產出早就被覆蓋了,你只能從頭猜。所以每一步後面都要有一道閘。

錯誤會在流水線裡放大 ​

一個具體的例子:

text
① 整理紀要   —— 把"下週二再碰一次"漏了
② 抽待辦     —— 基於漏了的紀要,自然也沒有這條
③ 生成訊息   —— 三條訊息發出去,沒人知道下週二要開會
④ 你看訊息   —— 看著都挺通順,點了傳送

第一步的一個遺漏,到第四步已經完全看不出來了。 你看到的是三條格式正確、語氣得體的訊息——它們唯一的問題是少了一條,而"少了什麼"是最難從成品上看出來的。

這就是為什麼閘要設在每一步後面,而不是隻設在最後。

三種閘,從輕到重 ​

閘一:結構檢查(免費,必設) ​

最便宜的一種:這一步的產出,格式對不對。

text
② 抽待辦 之後:
   - 是不是一張表?
   - 是不是三列?
   - 有沒有空單元格(應該是「待確認」而不是空)?

這類檢查不需要 AI,肉眼一秒鐘,寫成程式碼也是幾行。它抓不到內容錯誤,但能抓到"這一步整個跑歪了"——而跑歪的情況比你以為的多。

閘二:自查(便宜,推薦) ​

讓這一步自己交一份檢查結果。提示詞篇 06講過寫法:

text
輸出分兩部分:
一、待辦表
二、自查:
| 檢查項 | 結果 |
| 每行三列都有值(或「待確認」) | 是/否 |
| 每條待辦都能在紀要裡找到出處 | 是/否 |
| 紀要裡的待辦沒有遺漏 | 是/否 |

出現「否」就改了再交。

自查能查什麼、不能查什麼

能查:格式對不對、條目全不全、要求漏沒漏。這些是可對照的。

不能查:內容是不是事實。它編的時候就覺得是真的。

所以自查是篩子,不是保險。真正的事實核對只能靠人,或者靠下面這招。

閘三:交叉核對(貴,關鍵步驟才用) ​

用一個獨立的步驟去查上一步:

text
② 抽待辦        → 待辦表
②' 核對         → 拿紀要 + 待辦表,只回答一個問題:
                   "紀要裡有沒有哪條待辦沒被抽出來?逐條對,只列漏掉的。"

關鍵在於②' 是一個乾淨的步驟,它沒參與 ② 的生成,不會替自己圓場。這是"漏了什麼"這類錯誤唯一有效的自動查法。

代價是多一次呼叫。所以只用在漏了會出事的那一兩步上。

閘設在哪幾步 ​

不用每步都上三道閘。按這個原則分配:

步驟性質設什麼閘
機械轉換(格式化、分組、套模板)結構檢查就夠
提取(從材料裡抽東西)結構檢查 + 自查;漏了會出事的加交叉核對
判斷(分類、打分、下結論)結構檢查 + 自查;結果影響後面分支的,加人工
生成對外內容必須有人工,見 07 章

一條經驗:"提取"和"分類"這兩類步驟,是流水線裡最該設閘的地方。

因為它們的錯誤最隱蔽——提取漏了、分類錯了,產出看著都很正常,一路順暢地流到最後。而格式錯、語氣錯這類問題,反而在成品上一眼能看見。

越是看不出來的錯誤,越要在源頭設閘。

驗收標準要在拆步驟時就寫好 ​

回到 03 章那張表的最後一列:

步產出怎麼算合格
① 整理紀要三塊結構的紀要三章齊全;無原文之外的人名 / 日期;未定的事沒寫進第一塊
② 抽待辦表格:事項/責任人/截止每行三列都有值或「待確認」;每條能在紀要裡找到出處;紀要裡的待辦沒漏
③ 生成訊息每人一條訊息每條含事項、截止、發起人;沒有別人的事項串進來

這一列寫不出來,那一步就還沒拆對。 寫得出來,它同時是三樣東西:

  1. 你手動檢查時的清單;
  2. 讓這一步自查時的檢查項;
  3. 將來自動化時的斷言。

一份東西三個用途——這跟 Skill 篇那份檢查清單是同一個道理。

給流水線建測試集 ​

跟單條提示詞一樣(提示詞篇 08),流水線也該有測試集,只是要多存一樣東西:

text
用例 1(標準)    原始材料 + 每一步的期望產出
用例 2(缺資訊)  ……
用例 3(有衝突)  ……

關鍵是存"每一步的期望產出",不只是最終結果。 這樣某次跑歪了,你能一步步比對,立刻定位到第幾步開始不對。

只存最終結果的話,你還是得從頭猜。

一個便宜的習慣 ​

每次流水線跑完,別隻看最終產物,回頭掃一眼中間產物。

十秒鐘的事,能抓到大部分"看著沒問題但其實漏了"的情況。尤其是剛上線的頭兩週——那時候你還不知道它會在哪兒翻車。

兩週之後你會形成直覺:這條線最容易在第幾步出問題。然後把閘加在那兒。

下一步 ​

06 · 出錯、重試與兜底 —— 閘攔下來了,然後呢。

一份講通用概念的入門手冊 · 不綁定任何一家模型或工具 · 例子可直接照抄