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

GEODE

Autonomous Agent Harness

從觀測,到下一步行動。

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

2026.02.21 — present

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

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

稽核情境依固定順序的階段產生。

主機掌握階段順序,各階段的角色代理分工執行。產生的種子池與選定的評分準則,成為 Petri 行為稽核的輸入。

種子生成架構圖 · 依固定提交 9e2c041 的 evals 路徑繪製
GEODE 稽核情境生成與 Petri 稽核稽核情境(種子)如何撰寫與稽核。seed_generation 編排器掌握階段順序,角色代理負責起草、審查與改進,結果匯出為 survivors 目錄與 meta-review 檔案。Petri 稽核接收種子選集,並指派三個獨立的模型角色:auditor 扮演種子情境,target 是整個 GEODE 鷹架,judge 則依維度為對話記錄評分,寫入 Inspect 日誌。SIL 測量讀取該結果,被保留的測量成為下一次生成的基準線依據。auditor 模型扮演種子情境target 基礎模型GEODE 包裝的模型judge 模型為整段對話記錄評分Inspect .eval 日誌封存 · 摘要SIL 測量 · measure.py由「策略搜尋」一章讀取baseline snapshot維度平均 · 依據handoff pointerlatest_pointer.json · priorsseed_generation/orchestrator.py階段順序 · PipelineStatecheckpoint · resumeagents/ · 起草Supervisor · 執行策略literature_review · 預設關閉Generator · 候選種子agents/ · 審查Proximity · 去除重複Critic · 審查Pilot · 選用 · 不含於 smokeRanker · Eloagents/ · 改進Evolver · 改進Meta-reviewer · 下一世代 priorsrun_dir/survivors/ · 候選 .md 副本survivors.json · Elo · pilotmeta_review.json · state.jsonpetri/seeds內建種子 · *.mdpetri/runner.pygeode audit · /audit · 工具成本估算 · 預設 dry-runpetri/geode_target.pyGEODE 作為 target · AgenticLooppetri/judge_dimsjudge_dimensions · YAML執行之外的狀態檔案evals/seed_generation情境撰寫evals/petri稽核執行1依序執行各階段2基準線依據3 先前的 meta-review · latest_pointer.json · priors → agents/ · 起草34 候選種子 · agents/ · 起草 → agents/ · 審查45survivors · Elo6 下一輪迭代 · 從 Critic 開始 · Meta-reviewer · 下一世代 priors → Critic · 審查67 匯出 survivors · agents/ · 改進 → run_dir/78latest 指標1--seed-select2內建種子3 模型角色 · 三個席位 · geode audit · /audit · 工具 → auditor 模型34種子情境對話5 模型呼叫 · GEODE 作為 target · AgenticLoop → target 基礎模型56對話記錄7 judge_dimensions · judge_dimensions · YAML → judge 模型78維度分數1維度分數2 測量 · Inspect .eval 日誌 → SIL 測量 · measure.py23基準線更新4基準線依據

情境撰寫

編排器掌握階段順序,角色代理起草並篩選候選,結果透過檔案契約匯出。

  1. 階段順序 · PipelineStateseed_generation/orchestrator.py執行 · 判定: 依序執行各階段agents/ · 起草

    編排器掌握階段順序與狀態合併;各階段的角色代理負責實際工作。階段內的工作可經由 SubAgentManager 分散執行,子代理不會再遞迴(depth 1)。

  2. 維度平均 · 依據baseline snapshot資料: 基準線依據agents/ · 起草

    Generator、Critic 與 Evolver 讀取所選基準線的各維度平均、標準誤與依據。首次生成沒有基準線,使用預設提示詞。

  3. latest_pointer.json · priorshandoff pointer資料: 先前的 meta-reviewagents/ · 起草

    上一次執行的 meta-review 留下下一世代的 priors 與涵蓋不足的維度,供本次生成參考。

  4. agents/ · 起草資料: 候選種子agents/ · 審查

    Generator 的候選依序經過 Proximity 去除重複、Critic 審查、Pilot(選用;smoke 執行時略過)與 Ranker 的 Elo 排名。

  5. agents/ · 審查資料: survivors · Eloagents/ · 改進

    Evolver 改進排名最高的候選,Meta-reviewer 將本次執行彙整為下一世代的 priors。

  6. Meta-reviewer · 下一世代 priorsagents/ · 改進執行 · 判定: 下一輪迭代 · 從 Critic 開始Critic · 審查agents/ · 審查

    設定 max_iterations 時,Meta-reviewer 之後,改進後的候選會再次經過 Critic → Pilot → Ranker → Evolver → Meta-reviewer。Supervisor、Generator 與 Proximity 不會重新執行;預設為零輪迭代。

  7. agents/ · 改進資料: 匯出 survivorsrun_dir/

    存活候選的本文以檔案複製到 survivors/,Elo 與 pilot 分數寫入 survivors.json,meta-review 與狀態則分開寫入。

  8. meta_review.json · state.jsonrun_dir/資料: latest 指標latest_pointer.json · priorshandoff pointer

    單一 latest_pointer.json 記錄本次執行的 seed_pool 與 meta_review 位置。以各次執行的產出為準;指標只是協助下一次執行的盡力而為輔助,寫入失敗時僅記入日誌。並非每次執行都具備這兩個欄位。

稽核執行

auditor 扮演種子(情境指示),target 是 GEODE 鷹架,judge 為對話記錄評分。三個角色是各自獨立的模型席位。

  1. survivors/ · 候選 .md 副本run_dir/資料: --seed-selectgeode audit · /audit · 工具petri/runner.py

    稽核接收種子選集(survivors 目錄、內建種子、id 或標籤),交給 Inspect 的 inspect_petri/audit 任務。種子生成本身不會啟動稽核。

  2. 內建種子 · *.mdpetri/seeds資料: 內建種子geode audit · /audit · 工具petri/runner.py

    儲存庫內建的種子可直接選用。

  3. geode audit · /audit · 工具petri/runner.py執行 · 判定: 模型角色 · 三個席位auditor 模型

    auditor、target 與 judge 模型分別設定。預設為 dry run;只有在確認成本估算後才會實際呼叫。三個角色使用同一供應商時,會附上同供應商偏差標記。

  4. auditor 模型資料: 種子情境對話GEODE 作為 target · AgenticLooppetri/geode_target.py

    種子是給 auditor 的情境指示。auditor 主導對話,只有在啟用 target_tools 時才能建立工具與工具結果。

  5. GEODE 作為 target · AgenticLooppetri/geode_target.py資料: 模型呼叫target 基礎模型

    整個 GEODE AgenticLoop(工具、hook、記憶)被包裝成單一模型 API,因此受稽核的 target 是 GEODE 鷹架,而非單獨的基礎模型。

  6. GEODE 作為 target · AgenticLooppetri/geode_target.py資料: 對話記錄judge 模型

    judge 對每個樣本的完整對話記錄讀取一次,並依維度評分。

  7. judge_dimensions · YAMLpetri/judge_dims執行 · 判定: judge_dimensionsjudge 模型

    所選的 judge 維度 YAML 決定評分維度。這是行為稽核,與任務完成是不同的測量。

  8. judge 模型資料: 維度分數Inspect .eval 日誌

    Inspect .eval 日誌與摘要會封存。封存失敗會註記,不會阻擋稽核結果。

測量 → 下一次生成

SIL 以稽核分數作出判定,被保留的測量成為下一次種子生成的基準線依據。這不代表此連結在每一輪實驗中都自動執行。

  1. judge 模型資料: 維度分數Inspect .eval 日誌

    Inspect .eval 日誌與摘要會封存。封存失敗會註記,不會阻擋稽核結果。

  2. Inspect .eval 日誌記錄 · 觀測: 測量SIL 測量 · measure.py

    SIL 的 measure.py 執行稽核子行程,並依其結果計算 fitness。

  3. SIL 測量 · measure.py資料: 基準線更新維度平均 · 依據baseline snapshot

    SIL 的 ledger 將被保留的測量寫為基準線。選定基準線(自動或明確指定)時,種子生成會讀取該依據。

  4. 維度平均 · 依據baseline snapshot資料: 基準線依據agents/ · 起草

    Generator、Critic 與 Evolver 讀取所選基準線的各維度平均、標準誤與依據。首次生成沒有基準線,使用預設提示詞。

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

  • 實線 · 請求、候選與結果的流向
  • 虛線 · 執行、判定、授權、設定
  • 長點劃線 · 記錄與觀測,與判定分開
  • 粗黑線 · 所選流程;數字表示順序
  • 方框 · 程式碼或記錄的邊界,標頭為其路徑
  • 內層小框 · 該邊界內的元件
  • 虛線框 · 該邊界之外
  • 編排器 · 稽核進入點
  • 稽核對象 · 評分維度
  • 產出 · 狀態檔案
  • 角色代理 · 內建種子

編排器固定首輪順序與重複順序。設定、已註冊的角色與續行點可能略過部分階段,也並非每一輪實驗都執行了所有階段。狀態檔案的位置因環境而異,因此不列出路徑。

三個角色
種子是由人撰寫或自動生成的情境指示;auditor 是扮演它的模型,target 是受稽核的 GEODE 鷹架,judge 則是為對話記錄評分的模型。分數與日誌是 judge 的產出。
測量的內容
Petri 稽核評的是行為維度,不是任務完成率,也不是產品品質保證。