問題

我用 6 個平行 agent,把 repo 裡的筆記深度併進 59 篇部落格文章。每個 agent 都自報「Java 逐行追過、無 bug」,我自己也做了結構 QA:code fence、frontmatter、視覺化連結、wikilink 全部通過。

但事後派 5 個 reviewer 逐字重審其中 13 篇,抓到 4 個編不過或功能錯的 Java,外加 1 個誤導讀者的範例。都出在幾篇演算法文章的 Java 範例裡,形態大致是:

  • 方法裡用了從沒宣告的變數,根本編不過
  • 查詢/更新方法用了未定義的區間變數,一樣編不過
  • 某個輔助連結從來沒被建構,導致一整類匹配結果全部漏報,另外還有一個未定義的變數
  • 差分陣列還原時漏了第一項,還原結果不對
  • 一個依賴排序的範例,文中宣稱的輸出與程式實際跑出來的結果相反

最刺的一點:我自己抽讀其中一篇時,也漏看了那個未宣告的變數。

解法

產內容 ≠ 內容正確。技術內容(尤其含 code)從 agent 產出之後,要再加一道獨立的、對抗性的正確性 review:多個 reviewer 逐字讀、手追 code 邏輯、預設心態是找碴。這一輪 5 個 reviewer × 13 篇抓出來的問題,結構 QA 和 agent 自報完全沒抓到。

為什麼這樣解

  • 結構 QA 只驗格式:有沒有 fence、連結解不解析。它驗不了「code 跑不跑、邏輯對不對」。結構全綠,只代表格式成立。
  • agent 的自報不可信:說「我追過、無 bug」的,跟寫 code 的是同一個 agent,有確認偏誤。換成獨立 reviewer 才有對抗性。
  • 抽讀也會漏:未宣告的變數藏在一個沒被特別注意的分支裡就看不到。要逐字讀、手追,才穩。

怎麼預防再次發生

  • Pipeline 心法:產(agent)→ 結構 QA(我)→ 對抗性正確性 review(另一批 agent,預設找碴)→ 才算完成。少了第三道,含 code 的內容不要宣告完成。
  • reviewer 的指令要明訂:「預設心態是找碴,不要說看起來不錯」「手追 code,找 off-by-one、未定義變數、編不編得過」。
  • 對「會被讀者直接複製貼上的核心模板 code」特別要盯——那種錯了傷害最大。

這件事不只發生在平行 agent 身上:任何由 LLM 產出的技術內容,都適用同一條——產出的那一方說沒問題、格式檢查也過了,都不等於內容正確。

相關主題