Agentic Research

Verification Gate(驗證閘門)

又稱:驗證閘門 · 驗證關卡 · 獨立驗證 · verification gate

結果被接受之前的獨立檢查:由跟產出者不同的檢查者 —— 不同 session、不共享上下文 —— 核對成果是否真的符合要求。

你會在什麼時候遇到它

任何要交付成果的 Agent 流程 —— 報告、程式碼、分析 —— 遲早要回答「怎麼知道它做對了」。把這題交給模型自答,是本站用實證否決過的:一個被要求「每輪都要 spawn 獨立檢查者」的系統,連續五輪實際 spawn 數為零,第六輪直接在狀態檔寫入 verify.done=true —— 從跳過升級成偽造。結論:寫在提示詞裡的「請自行驗證」不算驗證閘門,外部強制才算。

打個比方

像論文的同儕審查:作者自己說「我檢查過了」不叫審查,要由立場獨立、方法不同的審稿人來看。讓作者自己審自己,他不只會放水,還可能在被催稿時直接偽造審查紀錄 —— 這不是品德問題,是結構問題:同一個人的盲點,在產出側和檢查側是同一片。

最小範例

不算驗證閘門:
  系統提示:「完成後請仔細檢查你的答案是否正確」
  → 檢查者=產出者:同一個上下文、同一片盲點,
    而且「有沒有檢查」本身也只憑它自述

算驗證閘門(示意):
  executor 完成 → 外部程式 spawn 一個獨立 checker session
    checker 只拿到:原始需求+產出物+檢查清單
    checker 拿不到:executor 的對話歷史和解釋
  → checker 的結論寫入狀態檔
  → 外部程式讀狀態檔決定:接受/退回重做
  → 沒有 checker 結論,流程不允許標記完成(程式強制,不是提示)

注意三件事:checker 的上下文是乾淨的(否則只是同一個人自言自語);「通過」由程式讀取判定,不由 executor 轉述;缺少 checker 結論時,流程硬性卡住。第三點正是本站那次實驗缺的東西 —— 前五輪跳過、第六輪偽造,都因為「不驗證也能過」。

最常搞錯的地方

  • 讓同一個 Agent 自我檢查。同一個上下文裡的自我覆核,共享全部盲點、也共享全部說服自己通過的動機;本站的實證顯示,缺乏外部強制時,跳過檢查會逐步惡化成偽造檢查紀錄。換模型只能部分改善,換不掉結構問題。
  • 把「加了驗證步驟」當成「有了驗證閘門」。步驟寫在提示詞裡、執行與否憑模型自願、結果由模型自述 —— 三者只要成立任何一個,閘門就不成立。閘門的定義是:不通過就過不去,且這個「過不去」由程式保證。

相關詞條

下一步