GEODE 的官方像素角色 Geodi
返回展廳

GEODE

Autonomous Agent Harness

從觀測,到下一步行動。

一個可以委託研究、檔案處理與排程工作的本機自主代理執行框架。

2026.02.21 — present

設計、判斷、驗證:Author · 實作:Claude · 審查:Codex

  • CLI公開發布 · PyPI
  • MCP 伺服器已實作

一次只改一項策略;測量保持固定。

在執行框架之外運作的獨立迴圈。它從基準線套用一項具型別的策略變更,再由相同的 Petri 稽核與判定閘門決定 KEEP 或還原。

SIL 架構圖 · 依固定提交 9e2c041 的 evolve 路徑與 2026年6月的執行記錄繪製
GEODE 策略搜尋(SIL)架構圖在執行環境之外運作的策略搜尋迴圈。經核准的執行契約固定預算、種子、評分準則與模型,mutator 在七個允許修改的策略面中只變更一項策略。measure.py 以相同的測量裝置透過 Petri 稽核 GEODE;fitness.py 與 gate.py 依 critical 退化與晉級規則決定 KEEP 或還原;ledger.py 寫入基準線與結果列。2026年6月的執行,以不作變更的 never arm、K=5 基準線與重複測量,將稽核雜訊與變更效果分開。維運人員核准實際呼叫 · 預算Petri 稽核auditor · GEODE target · judgeprogram.md執行契約 · 模型 · 預算停止規則 · 核准後執行train.py固定預算迴圈--replicate K · 重新測量loop/mutatemutator · 一個候選7 個面 · 拒絕超參數state/policies檔案型策略prepare.py種子池 · 評分準則固定measure.py稽核子行程 · 固定逾時逐策略 OVERRIDE · STRICTfitness.pycritical 退化 · 扣分ledger.pybaseline · provenanceresults · mutation 列gate.py_should_promote · KEEP_reject_and_revertcore · 策略載入器提示詞分支 · system_prompt.py6 個策略載入器 · tool、skill…run-2606-broken-tool-usegen-0 基準線 · 5 次稽核平均never arm · 不變更的對照random · gate armreplicate · 重新測量單一 KEEPevolve/scaffold_search外部搜尋迴圈 · 執行環境之外候選變更每次執行一項測量裝置比較期間固定run-2606 · 2026年6月3–4日broken_tool_use受稽核的 GEODE只變更允許的策略1核准2 執行契約 · 執行契約 · 模型 · 預算 → 固定預算迴圈23 請求一個候選 · 固定預算迴圈 → mutator · 一個候選34策略變更 · mutation ID5 種子 · 評分準則固定 · 種子池 · 評分準則固定 → 稽核子行程 · 固定逾時56選定的策略7逐策略 override 路徑8audit subprocess9稽核對話1維度分數2 baseline · provenance · baseline · provenance → critical 退化 · 扣分23 fitness · 退化原因 · critical 退化 · 扣分 → _should_promote · KEEP34KEEP · 下一個基準線5REJECT · 還原先前值6結果 · 判定列1三個 arm2K=5 平均基準線3不作變更的測量4--replicate K5重新測量 → 還原

一項變更 → 稽核

在執行契約固定的情況下,變更一項允許的策略,並以相同裝置稽核 GEODE。這不是運作中的產品在改寫自己。

  1. 維運人員核准執行 · 判定: 核准執行契約 · 模型 · 預算program.md

    只有在實際呼叫與固定預算獲得核准後才會執行。未經核准時,只準備契約並進行離線檢查。

  2. 執行契約 · 模型 · 預算program.md執行 · 判定: 執行契約固定預算迴圈train.py

    種子與評分準則的版本、角色模型與認證資訊來源、測量設定、迭代次數、時間與成本預算、晉級策略與停止條件,都在執行前固定。

  3. 固定預算迴圈train.py執行 · 判定: 請求一個候選mutator · 一個候選loop/mutate

    一個有依據的假說,變更一個允許修改的策略面。

  4. 7 個面 · 拒絕超參數loop/mutate資料: 策略變更 · mutation ID檔案型策略state/policies

    只有七個面可以變更:包裝提示詞、工具策略、分解建議、reflection、技能目錄中繼資料、代理契約(role、system_prompt、tools),以及工具說明與提示。超參數變更在解析與套用階段都會被拒絕。套用策略、重新測量與選用的提交是不同的步驟,因此套用本身並不等於稽核。

  5. 種子池 · 評分準則固定prepare.py執行 · 判定: 種子 · 評分準則固定稽核子行程 · 固定逾時measure.py

    prepare.py 是種子池與評分準則的固定參照,候選不會更動它。變更測量模組改變的是測量,而非受測系統。

  6. 檔案型策略state/policies資料: 選定的策略逐策略 OVERRIDE · STRICTmeasure.py

    measure.py 讀取目前選定的策略檔案,並傳入稽核環境。

  7. 逐策略 OVERRIDE · STRICTmeasure.py執行 · 判定: 逐策略 override 路徑core · 策略載入器

    measure.py 將 wrapper 及各策略的 override 與 strict 路徑傳給稽核子行程,由執行環境中對應的策略載入器分別讀取。wrapper(GEODE_WRAPPER_OVERRIDE → system_prompt)是其中一個分支;額外的環境變數鍵不會擴大七個可變更的面。僅憑修改過的檔案,不足以證明候選已抵達 target;須由稽核證據中的診斷確認。

  8. 稽核子行程 · 固定逾時measure.py執行 · 判定: audit subprocessPetri 稽核

    稽核以固定的逾時與預算執行,比較途中絕不更動。沒有輸出是診斷上的缺口,不是零分。

  9. Petri 稽核資料: 稽核對話core · 策略載入器

    auditor 透過種子情境與 GEODE 對話,judge 為對話記錄評分。

判定 → 保留 · 還原

與相同契約的基準線比較,由 critical 退化與晉級規則決定 KEEP;被拒絕的變更還原為記錄的先前值。

  1. Petri 稽核資料: 維度分數critical 退化 · 扣分fitness.py

    分數會附帶缺漏的維度與樣本數。未測量的維度不會被當作觀測值。

  2. baseline · provenanceledger.py資料: baseline · provenancecritical 退化 · 扣分fitness.py

    只與記錄的契約及 epoch 相同的基準線比較。新的 Git 分支不會隔離基準線狀態。

  3. critical 退化 · 扣分fitness.py資料: fitness · 退化原因_should_promote · KEEPgate.py

    先檢查 critical 維度的退化與輔助扣分,再進行 margin 或目標維度檢定。單一正的純量值絕不會促成晉級。

  4. _should_promote · KEEPgate.py資料: KEEP · 下一個基準線baseline · provenanceledger.py

    保留的候選成為下一個基準線。在本機保留的候選,並非儲存庫合併或發布。

  5. _reject_and_revertgate.py執行 · 判定: REJECT · 還原先前值檔案型策略state/policies

    對 runner 產生的候選,會還原其 mutation ID 下記錄的策略區段,還原失敗會另行標記。手動變更不會自動還原;還原結果不確定時,會停止下一個候選。

  6. _should_promote · KEEPgate.py記錄 · 觀測: 結果 · 判定列results · mutation 列ledger.py

    測量、判定與來源以結果列寫入一次;歷史列絕不改寫。

對照 · 重複測量

2026年6月的執行:以不變更的 never arm 與 K=5 基準線另外測量稽核雜訊,單次稽核的 KEEP 則以重複測量再次確認。

  1. run-2606-broken-tool-use執行 · 判定: 三個 arm固定預算迴圈train.py

    2026年6月3–4日的執行以三個 arm 將漂移與變更效果分開:never(不變更)、random(隨機採納)與 gate(依判定採納)。target 為 GPT-5.5;auditor 與 judge 為 Claude Opus 4.8。

  2. gen-0 基準線 · 5 次稽核平均run-2606-broken-tool-use資料: K=5 平均基準線baseline · provenanceledger.py

    gen-0 基準線取五次稽核的平均(Petri broken_tool_use,越低越好,平均 2.667)。

  3. never arm · 不變更的對照run-2606-broken-tool-use執行 · 判定: 不作變更的測量稽核子行程 · 固定逾時measure.py

    never arm 在未變更任何策略的情況下漂移至平均 3.38(10 次稽核,越低越好):這是稽核雜訊大於變更效果的直接依據。

  4. --replicate K · 重新測量train.py執行 · 判定: --replicate K稽核子行程 · 固定逾時measure.py

    在相同條件下對同一候選再測量 K 次,以濾除單次稽核的僥倖結果。

  5. replicate · 重新測量單一 KEEPrun-2606-broken-tool-use執行 · 判定: 重新測量 → 還原_reject_and_revertgate.py

    單次 gate 稽核中被保留的候選(1.6),重複測量得到 3.0–3.8,比基準線更差,因此還原為 champion 2.667。此次執行的結論是沒有明確改善。

所有連線以相同粗細顯示。選擇一個流程,即只突顯其路徑,並標出步驟編號。

  • 實線 · 請求、候選與結果的流向
  • 虛線 · 執行、判定、授權、設定
  • 長點劃線 · 記錄與觀測,與判定分開
  • 粗黑線 · 所選流程;數字表示順序
  • 方框 · 程式碼或記錄的邊界,標頭為其路徑
  • 內層小框 · 該邊界內的元件
  • 虛線框 · 該邊界之外
  • 迴圈 · 測量執行
  • 契約 · 判定
  • 策略 · 記錄
  • 變更 · 受稽核對象 · 執行記錄

GEODE 的 SIL 驅動程式名為 autoresearch;其 prepare/train/program 結構與固定預算,借鑑自 Karpathy 的 autoresearch。模型權重不會改變,測量裝置與預算在比較期間保持固定。

可變更的部分
七個面:包裝提示詞、工具策略、分解建議、reflection、技能目錄中繼資料、代理契約,以及工具說明與提示。評測器、預算、種子與評分準則在比較期間保持固定。
執行記錄的範圍
run-2606 的數值是該次執行的 Petri broken_tool_use 平均(越低越好),並非 SIL 累積改善或泛化的依據。