GVU² 自我博弈迴圈
Agent 自己撰寫、審查、精煉自身人格設定;全自動,橫跨兩個回饋迴圈。
自 Evolution v3(2026-08-06)起,本篇描述的是非預設的逃生門路徑。 下文的 Generator→Verifier→Updater 迴圈在 agent 透過
agent.toml [evolution] legacy_soul_evolution = true明確選用時仍原封不動 運作,但預設的進化目的地已改為 playbook(小顆粒、可個別淘汰的行為 規則),SOUL.md對 agent 預設唯讀。目前預設機制見docs/features/38-aee-playbook-evolution.md, 技術細節見docs/architecture/evolution-engine.md第十二章。
比喻:一人分飾三角的編劇室,外加導演剪輯版
Section titled “比喻:一人分飾三角的編劇室,外加導演剪輯版”想像一位編劇必須自己寫稿、自己審稿、自己拍板,但遵循嚴格的流程:
- 編劇根據觀眾反饋起草新版劇本
- 編輯(同一人,換一頂帽子)依清單審查草稿:文法、劇情一致性、觀眾指引、篇幅
- 製作人(同一人,第三頂帽子)決定是否播出新版本:若播出了,會盯著收視率看 24 小時再做最終決定
如果收視率下滑,立即恢復原版。零永久損害。
現在再想像這位編劇還隨身帶著一本過往失誤筆記(每一個劇情漏洞、每一句尷尬的台詞、每一場搞砸的戲都記在上面)。寫下一版草稿前,他會先翻筆記,避免重蹈覆轍。
而且有時候他不需要重寫整齣戲,只做一次快速的片段修正:調整沒接住的那一小段,在集與集之間直接上線。
這就是 GVU²(Generator-Verifier-Updater 平方)雙迴圈架構。
GVU² 運作兩個互補的回饋迴圈:
外迴圈(行為 GVU) — 演化 Agent 的人格檔案(SOUL.md)。這是策略性、長期的迴圈。當預測引擎偵測到顯著的行為漂移時觸發,產生 Agent 核心身分的新版本。
內迴圈(任務 GVU) — 處理即時的任務層級重試。當特定任務失敗時,內迴圈可以在不修改人格的前提下、用調整過的參數重試。這是戰術性、即時的迴圈。
外迴圈(行為) 內迴圈(任務)┌─────────────────────┐ ┌──────────────────┐│ 演化 SOUL.md │ │ 重試失敗的任務 ││(長期成長) │ ←───→ │(即時修正) ││ 24 小時觀察 │ │ 不改 SOUL.md ││ MistakeNotebook │ │ 最多重試 3 次 │└─────────────────────┘ └──────────────────┘兩個迴圈共用 MistakeNotebook(一份持續累積的失敗模式紀錄),避免同一種錯誤在不同迴圈間反覆發生。
三個角色(外迴圈)
Section titled “三個角色(外迴圈)”Generator(生成者) — 建立人格檔案的候選修訂版。它不是憑空運作;它接收:
- 驗證層提供的具體修改建議
- 過去嘗試的歷史(避免重複失敗的方法)
- 目前版本作為起點
Generator 的輸出始終是完整、有效的人格檔案,不是 diff 或 patch。
Verifier(驗證者) — 透過 4+2 層的驗證管線評估候選版本:
| 層級 | 檢查內容 | 方法 | 成本 |
|---|---|---|---|
| L1:格式 | 結構有效?必填區段存在?長度在限制內? | 規則式解析 | 零 |
| L2:指標 | 是否遵守 Agent 的行為契約?有無禁止模式? | 對 CONTRACT.toml 做字串比對 | 零 |
| L2.5:MistakeRegression | 候選版本是否重蹈任何已知的失敗模式? | 與 MistakeNotebook 紀錄比對 | 零 |
| L3:LLM 評審 | 是否真的更好?是否回應了反饋?語氣是否一致? | LLM 評審 | 一次 LLM 呼叫 |
| L3.5:SandboxCanary | 在真實對話中運作是否正確? | 在 container sandbox 內跑一段測試對話 | 一次 LLM 呼叫 |
| L4:安全性 | 是否有任何地方退步?改進是否破壞了安全不變式? | 確定性比較指標 | 零 |
順序很重要:便宜的檢查先跑。如果 L1 失敗(格式不良),就沒必要跑 L3(昂貴的品質評估)。L2.5 與 L3.5 是新增的兩層:分別攔截對歷史失敗的重蹈覆轍、以及在 sandbox 中驗證真實世界的行為。六層裡有四層是零成本的確定性檢查。
Updater(更新者) — 若四層皆通過,Updater 會:
- 將新版本寫入暫存檔
- 計算內容的加密指紋
- 原子替換舊檔案(rename 操作,不可能出現部分寫入)
- 將版本記錄到歷史
- 啟動 24 小時觀察期
關鍵創新在於 Verifier 如何與 Generator 溝通:它給的是具體、可執行的回饋,不是像「7/10」這樣的單純評分:
評分式(較不實用): 「品質:6/10。需要改進。」
回饋式(GVU 實際做的): 「問候語區段對這個 Agent 的人格而言過於正式。 建議將『我將為您服務』改為更溫暖的措辭, 例如『很高興能幫忙!』另外,錯誤處理段落 與第二段建立的活潑語氣相矛盾。」這受到 TextGrad 方法的啟發:將文字視為可微分的訊號。Generator 可以直接依據具體建議行動,而不必猜測「6/10」代表什麼。
自適應深度與收斂控制
Section titled “自適應深度與收斂控制”迴圈沒有固定的輪數上限;MetaCognition 模組會依 Agent 的歷史動態調整迭代深度:
MetaCognition 評估: - 過去 GVU 的成功率 - 目前錯誤的嚴重度 - 剩餘預算 | v設定迭代深度:3-7 輪 - 複雜度低 + 歷史良好 → 3 輪 - 複雜度高 + 歷史偏弱 → 最多 7 輪在每一次執行中:
- 第 1 輪:回應主要反饋,修復最大的問題。
- 第 2 輪:精煉第 1 輪引入的新問題。
- 第 3 輪以後:視需要做更深入的精煉。
系統也偵測收斂。如果某一輪的輸出與前一輪幾乎相同,會提前停止,沒必要為遞減的回報燃燒 token。
Deferred GVU:有耐性的演化
Section titled “Deferred GVU:有耐性的演化”不是每一次觸發都需要馬上進行完整的演化。Deferred GVU 機制會先累積梯度訊號,才決定要不要真正跑一次循環:
偵測到顯著誤差 | v梯度緩衝區累積夠了嗎? | +---> 夠了 → 現在就觸發 GVU | +---> 不夠 → 累積並延後 (72 小時內最多延後 3 次) → 分散在數天內, 相當於 9-21 次有效迭代這避免了對單一孤立事件反應過度,讓演化更穩定。
Agent-as-Evaluator
Section titled “Agent-as-Evaluator”面對高風險的演化決策,會有一個獨立的 Evaluator Agent(跑在 Haiku 上以控制成本)進行對抗式驗證:
GVU 候選版本通過 L1-L4 | vEvaluator Agent(獨立行程): - 收到候選 SOUL.md - 執行結構化評估 - 回傳 JSON 判決:{accept, reject, revise} - 附上理由與具體疑慮 | v判決結果納入 Updater 的最終決定這個「第二意見」能抓到自動化各層可能漏掉的細微品質問題。
24 小時觀察期
Section titled “24 小時觀察期”即使候選版本通過了全部四層驗證,也不會永久採納。系統進入觀察期:
新版本部署 | v 24 小時監控 | v 效能指標是否穩定或改善? | +----+----+ | | 是 否 | | v v確認新 回滾到版本 前一版本監控的指標:
- 使用者滿意度訊號(明確反饋、對話長度、回訪率)
- 預測引擎準確度(新人格是否更難預測?)
- 錯誤率(Agent 是否犯更多錯?)
回滾是自動且原子的(前一版本的指紋已儲存),恢復只是一個檔案操作。
這為什麼重要
Section titled “這為什麼重要”無需人工介入的自我改進
Section titled “無需人工介入的自我改進”傳統的 prompt engineering 需要人類閱讀對話、辨識問題、重寫 prompt、測試、部署。GVU 將整個循環自動化。Agent 自己辨識弱點並修復。
4 層驗證 + 24 小時觀察 + 自動回滾意味著系統可以積極演化而不冒風險。壞的改變在影響使用者之前被攔截(驗證),或在滑過時迅速恢復(觀察)。
4+2 層驗證中有 4 層(L1、L2、L2.5、L4)是零成本的確定性檢查。LLM 只用於品質判斷(L3)與 sandbox 測試(L3.5)。一個典型的演化週期總共只需 2-4 次 LLM 呼叫,不論執行了多少次檢查。
與其他系統的互動
Section titled “與其他系統的互動”- 預測引擎:決定 GVU 何時觸發。GVU 決定改什麼。
- MistakeNotebook:兩個迴圈共用,外迴圈記錄失敗,內迴圈避免重蹈覆轍。
- CONTRACT.toml:L2 驗證確保演化永遠不會違反行為邊界。
- 安全層:SHA-256 指紋確保 GVU 管線之外不會發生未經授權的修改。
- MetaCognition:依歷史表現驅動自適應的迭代深度。
- Deferred GVU:累積梯度訊號,讓演化有耐性、以證據為準。
- Agent-as-Evaluator:針對高風險決策的獨立對抗式驗證。
- 儀表板:演化歷史可在 Web 介面中查看,顯示每個版本、其反饋和觀察指標。
GVU² 將 prompt 最佳化從手動、容易出錯的過程轉變為自動、安全、高效的管線。雙迴圈架構把策略性成長(行為 GVU)與戰術性修正(任務 GVU)分開,而 MistakeNotebook 確保 Agent 永遠不會忘記自己過去的失敗。Agent 不只是運行而已,它同時在成長、從錯誤中學習,並帶著耐性演化。