09 · 怎麼驗收一個自己跑完的東西
Workflow 的驗收是每一步都驗。Agent 你沒有固定的步,那驗什麼?答案是三樣:結果(對不對)、過程(有沒有走歪路)、代價(花了多少)。三樣都要看,只看第一樣會被騙。
為什麼只看結果會被騙
Agent 交上來一份格式完美、內容通順的報告。你掃一眼,看著挺對,就用了。
問題是:它到底是查出來的,還是編出來的,從結果上看不出來。
"C 家起步價 $49/月,按席位計費。"這句話,可能來自官網,可能來自一篇 2024 年的部落格,也可能純粹是它根據 A、B 兩家推出來的。三種情況長得一模一樣。
所以 Agent 的驗收必須多看一層:不只看它說了什麼,還要看它憑什麼這麼說。
三樣各看什麼
一、結果:對照完成標準的清單
這是你在目標裡寫好的那份清單,現在拿來當驗收表:
□ A 家:套餐名 ✓ / 價格 ✓ / 計費單位 ✓ / 包含內容 ✓
□ B 家:套餐名 ✓ / 價格 ✓ / 計費單位「未公開」/ 包含內容 ✓
□ C 家:套餐名 ✓ / 價格 ✓ / 計費單位 ✓ / 包含內容 ✗ ← 既沒給,也沒標"未獲得"最後那一行就是問題:既沒結果也沒標註,說明它跳過了這一項而沒告訴你。
驗收時最該找的不是"哪一條錯了",是"哪一條既沒給也沒說沒給"。
前者你能看出來,後者需要你拿著清單逐條點。這也是為什麼完成標準必須寫成可勾選的清單——不然你根本沒法做這個動作。
二、過程:抽查依據
不用逐條查,抽兩三條,尤其抽這幾類:
| 優先抽查 | 為什麼 |
|---|---|
| 精確的數字、日期、金額 | 最容易被編的東西 |
| 標著"高置信"但你覺得意外的結論 | 意外通常有原因,可能是它想多了 |
| 執行報告裡那個"轉折點"附近的結論 | 它換路的地方,最容易將就 |
| 最後幾圈才拿到的東西 | 快撞上限時,它容易湊合 |
怎麼抽:順著它給的依據(URL、原文引用、檔案路徑)自己看一眼。
依據對不上、或者壓根沒給依據,這一條就不能用。
三、代價:圈數、花費、有沒有撞閘
圈數:14 / 15 ← 接近上限,可疑
花費:正常的 3 倍 ← 有繞圈
降級:2 項標了"未公開",1 項撞了重複檢測代價不合格不等於結果不能用,但它是下次要改什麼的訊號(08 章的歸因)。
給 Agent 建測試集:跟前面幾篇一樣,但要多存一樣
提示詞篇、Skill 篇、Workflow 篇都建了測試集。Agent 也要,但有兩點不同:
不同一:結果不是唯一標準,要連"合理路徑"一起記。
用例 2:C 家官網需要登入
期望結果:C 家價格標注為「未公開」
期望行為:不轉向第三方來源;執行報告裡說明是因為需要登入
← 第二條同樣重要。它蒙對一個價格,也算不合格。不同二:同一個用例要跑不止一次。
Agent 每次路徑不同,跑一次通過說明不了問題。同一個用例跑三次,看三次是不是都合格——尤其是"不該做的事有沒有做"。
Agent 測試集裡,"不該做什麼"的用例比"該做什麼"的用例更值錢。
用例 A(能力):正常三家都能查到 → 看它交得全不全
用例 B(誠實):有一家查不到 → 看它標"未獲得"還是編一個
用例 C(邊界):有一家需要登入 → 看它會不會去註冊、去找第三方
用例 D(停止):給一個太大的目標 → 看它撞上限時交不交部分結果B、C、D 是三條防線。A 通過很容易,BCD 都通過才叫能用。
一個務實的驗收流程
① 掃圈數和執行報告最後三行 10 秒
—— 它是完成了、放棄了、還是撞上限了?
② 對照完成標準清單逐條點 1 分鐘
—— 重點找"既沒給也沒標註"的項
③ 抽查 2~3 條依據 2 分鐘
—— 數字、意外的結論、轉折點附近
④ 看代價,記下異常 10 秒
—— 圈數、花費、撞了哪些閘
⑤ 有對外動作的,人工過一遍 必須四分鐘。如果一次 Agent 執行值得跑,就值得花這四分鐘驗。
不驗收的 Agent 等於沒有 Agent
省掉驗收,你得到的是一個"看起來省了時間"的東西——直到某天一個編出來的數字進了對外材料。
那一次的代價,遠大於你省下的所有四分鐘。
那什麼時候可以放鬆驗收
三個條件同時滿足時,可以從"每次驗"降到"抽樣驗":
- 跑過幾十次,測試集一直全綠;
- 結果的錯誤是可承受的(內部參考材料,不是對外交付、不是決策依據);
- 對外動作那一道人工閘還在。
第 3 條永遠不能省。 前兩條滿足了,你可以不再逐條點清單,但"發出去之前有人看一眼"這道閘,跟 Agent 成不成熟沒關係——它跟責任有關係。