AI AgentLLM-as-Judge評估監控BuildInPublic一人公司

用 LLM 當評審的坑:它自己也會把對的判成錯

· 8 分鐘閱讀
龍蝦艦隊 · 逐章稽核 · 第 20 / 22 篇
目錄
  1. 評審自己幻覺的那一天
  2. 先花幾分鐘查你自己的評審
  3. 我們實際怎麼修的
  4. 評審體檢清單
  5. 這一章的四句話

幾個月前我在《自動內容不等於垃圾:品質閘門實戰》裡,把跨 agent 的 Peer Review 稱作我最喜歡的機制,讓一個 AI 去審另一個 AI 的產出。這篇要拆穿它的盲點:當評審自己也會幻覺,它會很有自信地把一個答對的系統判成錯,還推一個 CRITICAL 去罵它。評審自己也需要被評估。

《Agentic Design Patterns》第 19 章講評估與監控。核心一句話:agent 還活著,不代表它答對了。systemctl is-active 只驗「有沒有在跑」,驗不到「跑出來的東西對不對」。書裡的招牌手法是 LLM-as-Judge:用一個 LLM 對輸出打分,專門抓那類 is-active 騙得過的失敗,服務還活著,但答錯、幻覺、產出 0 有用內容。

我們讀完,做了一支「語意心跳」。每天對關鍵服務丟一題已知答案的問題,用便宜的 Gemini Flash 當評審打 1 到 5 分,分數掉到 3 以下才推 TG,平常安靜。實作完成,我們很滿意。然後這個評審自己幻覺了。這一章的諷刺,是評估系統本身變成了它要抓的那種病。

評審自己幻覺的那一天

拿來當回歸測試的題目是「AVS 是什麼」,標準答案是 AVS = AI Visibility Score(SEO + AEO + AAO 的綜合分數)。這題有前科:我們的問答系統以前曾把 AVS 幻覺成 Agent Verification System,後來加了知識錨點修好,所以拿它當每天的體檢題再合理不過。

這天龍蝦答對了。回答裡明明白白寫著 AI Visibility Score。但評審給了低分,判它幻覺,還推了一個 CRITICAL 等級的告警到 TG,大意是「龍蝦品質掉了,AVS 答錯」。

問題出在評審自己。便宜的 flash 模型有它自己的世界知識:在 IT 和金流圈,AVS 最常見的意思是 Address Verification System(信用卡的地址驗證)。評審拿它腦裡那個定義去比對龍蝦的答案,發現對不上,於是判龍蝦幻覺。真相是評審自己幻覺了,把一個答對的系統判成答錯,還升級成 CRITICAL 去罵它。

我們做這套系統,就是要抓「active 但答錯」。結果第一個踩坑的是評審本身:它 active,它答錯,它還很有自信地推告警。評估系統自己也需要被評估。

先花幾分鐘查你自己的評審

01 給評審一批已知正解,先回歸測試它自己 在讓評審上線監控別人之前,先拿一批你已經知道標準答案的題目餵給評審本身,看它判得對不對。把一個明顯正確的答案丟進去,如果評審判它錯,你抓到的不是被測系統的病,是評審的病。

# 拿一題你確定正確的答案,故意送進評審,看它會不會誤判
echo 'Q=AVS 是什麼 | A=AVS 是 AI Visibility Score' | your-judge --score
# 期望拿 5 分;判低分 = 評審有問題,不是答案有問題

紅旗:評審把一個你確定正確的答案判成錯,代表你的判準太依賴 LLM 自己的世界知識。

02 有標準答案的題目,用確定性關鍵詞比對,不要交給 LLM 憑感覺 如果一題有「一定要出現的權威關鍵詞」,就用字串比對來判,別問 LLM。關鍵詞在就是對,這是確定性的,不會因為評審今天的世界知識而翻盤。只有關鍵詞不在時,才退回去動用 LLM 評審,那時才真的可能是答錯。順帶把 LLM 的 prompt 綁死在你給的正解上,明講「不要用你對這個縮寫在別領域的認知」,這句正是它拿 Address Verification 來套 AVS 的漏洞。

# 有權威關鍵詞就直接 PASS,繞過 flaky judge
if printf '%s' "$ANS" | grep -qiE 'AI Visibility Score|可見度'; then
  SCORE=5                       # 確定性判準
else
  SCORE=$(llm_judge "$ANS")     # 沒關鍵詞才問 LLM
fi

紅旗:你的評分完全由一次 LLM 呼叫決定,中間沒有任何確定性關卡。

03 評審的判決也要記 log 抽查 評審每次打的分數和理由,寫進一個 jsonl,隔一陣子抽幾筆回看。你要驗的不是被測系統的分數,是評審自己判得準不準。那幾筆異常的分數,多半不是系統壞,是評審壞。

# 每次判決落地,之後才抽得出來看
echo "{\"probe\":\"AVS\",\"score\":$SCORE}" >> semantic-quality.jsonl

紅旗:評審只在「判失敗」時才留痕跡,你永遠不知道它平常判得準不準。

我們實際怎麼修的

2026-07-05 那一刀砍在判準的順序上:答案只要含權威關鍵詞「AI Visibility Score」或「可見度」,一律 PASS 給 5 分,根本不動用 flash 評審。評審只保留給「連關鍵詞都沒出現」的情況,那時候才真的有可能是答錯。確定性的判準擋在前面,LLM 的感覺退到後面當備援。同一天推的那個 CRITICAL,是假的。

評審體檢清單

對你自己的評估系統跑一遍:

  • 評審上線前,有拿一批已知正解回歸測試過它自己嗎
  • 有標準答案的題目,是用確定性關鍵詞比對,還是全交給 LLM 憑感覺
  • LLM 評審的 prompt 有沒有綁死在你給的正解、禁止它動用自己的世界知識
  • 評審每次判決(分數加理由)有記 log 抽查嗎
  • CRITICAL 等級的告警,是不是一次 LLM 判斷就能觸發,中間有沒有確定性關卡

這一章的四句話

  • LLM 當評審,它自己也會錯、也會幻覺。評估系統本身也需要被評估。
  • 已知正確答案的檢查,用確定性關鍵詞比對,不要全交給另一個 LLM 憑感覺打分。
  • 越便宜的評審,世界知識越容易蓋過你給的正解,越要用確定性判準把它綁死。
  • 評審把明顯對的判成錯,比它漏抓錯的更危險。它會很有自信地推一個 CRITICAL,去罵一個沒做錯的系統。

原始碼位置:~/.openclaw/scripts/semantic-heartbeat.sh(語意心跳,含 2026-07-05 的關鍵詞短路修法);評審的每次判決落在 ~/.openclaw/logs/semantic-quality.jsonl

這是《Agentic Design Patterns》× 龍蝦艦隊系列。我們照書把一人公司的 AI agent 艦隊系統化,然後對自己做對抗式稽核。宣稱做到的每一章,都被重新驗證過一次,也把查法和改法整理成你能照著跑的步驟。這個系列的可信度,來自我們願意公開自己打臉自己。

龍蝦艦隊 · 逐章稽核 · 第 20 / 22 篇

每週 AI 自動化實戰筆記

不廢話,只有能直接用的東西。Prompt 模板、自動化 SOP、技術拆解。

加入一人公司實驗室

免費資源包、每日建造日誌、可以對話的 AI Agent。一群用 AI 武裝自己的獨立開發者社群。

需要技術協助?

免費諮詢,24 小時內回覆。