Decision Offloading w. Jev
代理在任務途中做出的中間決策,哪些可以交給只做判斷的模型 Jev?本研究檢驗交出之後,經獨立驗證的任務品質是否仍能維持,並將準備、重複判斷、修復與最終交付都計算在內。早期前導實驗的結果無法只靠替換判斷呼叫來解釋,因此將輸入契約、判斷契約、機率策略與執行代理的使用方式,分別拆成各自的實驗。
執行環境 · 最終判定
選用 Jev 時,最終驗證以一個 Choice 問題呼叫 Jev 一次,只有通過受理檢查的 supported 判定能通過。
judgment_engine · llm | jev
core/config/judgment.py執行 · 判定: 選擇路徑最終判定 · 一個 Choice 問題core/agent/verify.py只有在 judgment_engine 設為 jev 時才使用 Jev 路徑(預設 llm)。provider auto 依 TypeSafe、OpenRouter 的順序,選擇有金鑰的一方;沒有金鑰時維持 LLM judge 路徑。這不是將失敗請求改送他處重試的備援。
最終判定 · 一個 Choice 問題
core/agent/verify.py資料: 請求 · 候選 · 觀測SystemOne · 呼叫一次 · 無備援adapters/typesafe.py原始請求與候選經遮蔽並限制長度後,連同工具觀測,以一個 Choice 問題(supported、contradicted、insufficient_evidence)送出。判斷呼叫不提供任何工具(allow_tools=False)。需要圖片的判斷不會送往 Jev,而是成為 verification_error。
SystemOne · 呼叫一次 · 無備援
adapters/typesafe.py資料: 一次 SystemOne 呼叫TypeSafe SystemOne呼叫一次,直接連往 TypeSafe 或經由 OpenRouter,不會轉往其他供應商。Jev 絕不作為根文字生成模型。
受理檢查 · 總和容許誤差 1e-5
adapters/typesafe.py資料: 已受理的 Choice只有 supported 通過 · 僅文字core/agent/verify.py回應須通過型別、範圍與機率總和(容許誤差 1e-5)的受理檢查後才會使用。只有 supported 通過;contradicted 與 insufficient_evidence 會成為重試訊號,並附上固定的下一項檢查。不是 end_turn 或未通過受理檢查的回應,會成為 verification_error,這不是重試訊號(should_retry=False)。分數是二元投射,並非經校準的機率。
只有 supported 通過 · 僅文字
core/agent/verify.py資料: passed · reflectionPostVerify · Stop 策略loop/_lifecycle.py判定交給「完成判定」一章的 PostVerify 與 Stop 策略。判定是該策略的輸入,而非權限;等待審查時,候選只以 pending_text 保留,最終回應為空,因此不會交付任何內容。
PostVerify · Stop 策略
loop/_lifecycle.py記錄 · 觀測: 判定列timeline · ledger 判定列memory · observability判定決策記錄在 timeline 與 evidence ledger 中:這些是執行環境的記錄,與研究產出物分開。
執行環境 · reflection
相同的選擇也驅動 reflection 的證據分類;下一項檢查的句子由程式碼設定。
judgment_engine · llm | jev
core/config/judgment.py執行 · 判定: 相同的選擇reflection · 證據分類loop/_reflection.py相同的選擇也適用於 reflection。
reflection · 證據分類
loop/_reflection.py資料: 為證據分類SystemOne · 呼叫一次 · 無備援adapters/typesafe.pyreflection 使用 Jev 為有限範圍的證據分類,並附加由程式碼決定的下一項檢查。它不會改變信念假說或自信程度。
SystemOne · 呼叫一次 · 無備援
adapters/typesafe.py資料: 一次 SystemOne 呼叫TypeSafe SystemOne呼叫一次,直接連往 TypeSafe 或經由 OpenRouter,不會轉往其他供應商。Jev 絕不作為根文字生成模型。
受理檢查 · 總和容許誤差 1e-5
adapters/typesafe.py資料: 分類結果reflection · 證據分類loop/_reflection.py只有已受理的分類會更新 reflection 狀態;失敗時,下一輪從相同的先前狀態重試。
研究 · 固定面板 U3
在沒有 actor 的情況下,成對比較 Jev 與 Astra 對相同狀態與問題的判斷。
Astra · Jev · 相同問題
U3 · 固定狀態面板資料: Jev 判斷TypeSafe SystemOneU3(原始實驗提交 2f2b494):120 個固定狀態 · 27 個來源群集 · 240 次呼叫。每個狀態與問題都以一對的形式送給 Jev 與 Astra;沒有 actor、工具或 Harbor。
Astra · Jev · 相同問題
U3 · 固定狀態面板資料: Astra 判斷Astra 判定 · actor 模型同一樣本的正確數:Astra 90/120,Jev 84/120;每次呼叫的中位數 10.446 s 對 0.253 s。這只是判斷呼叫的延遲,並非任務時間或成本的節省。
U3 · 固定狀態面板資料: 面板結果 · 報告Jev 研究報告
U3 的準確率與延遲結果收錄於公開技術報告。此處不主張此面板是否屬於 E2E 公開資料包。
研究 · E/I 執行
以 Astra 作為 actor,只更換判斷路徑,並以獨立的規則 oracle 分別檢查結果與交付。
Astra actor · 工具 · 修復
E/I · Harbor 0.22資料: 生成 · 工具 · 修復Astra 判定 · actor 模型在 Harbor 0.22 上的 E/I 中,actor Astra 負責生成、工具呼叫與修復;只有判斷路徑改變。
判定路徑 · Astra · Jev · Jev-first
E/I · Harbor 0.22資料: 完成判定路徑TypeSafe SystemOneE7(原始實驗提交 1f65534):12 個自行撰寫的合成任務 × 3 種組態 × 2 次 = 72 次執行,每種組態 24/24。Jev-first 組態實際發生的備援為 0/24,因此其效果未被測量。
E/I · Harbor 0.22記錄 · 觀測: 獨立檢查正確性 · 交付分開計算
rule oracle獨立的規則 oracle 檢查最終結果,實際的最終交付則另行計算。在中斷的 U8n 的 11 個事後配對中,所有候選都通過 oracle,但交付為 Astra 11/11、Jev Noul 0/11。
E/I · Harbor 0.22資料: 失敗 · 修復譜系E2E-DATA · 原始來源 · 公開雜湊
jev-v3-20260927E2E 公開資料包保留準備、失敗與修復的譜系,原始與公開副本的雜湊分開保存。經遮蔽的公開副本,不能代替對未更動原始資料的驗證。
REPRODUCE · model-free
jev-v3-20260927資料: 不需模型的重算Jev 研究報告從儲存的回應重新計算數值,與重新執行是不同的操作。此報告是公開技術報告,不是經同儕審查的論文。
所有連線以相同粗細顯示。選擇一個流程,即只突顯其路徑,並標出步驟編號。
- 實線 · 請求、候選與結果的流向
- 虛線 · 執行、判定、授權、設定
- 長點劃線 · 記錄與觀測,與判定分開
- 粗黑線 · 所選流程;數字表示順序
- 方框 · 程式碼或記錄的邊界,標頭為其路徑
- 內層小框 · 該邊界內的元件
- 虛線框 · 該邊界之外
- 迴圈 · 執行框架
- 路徑選擇 · 判定 · oracle
- 記錄 · 公開資料包
- 傳輸 · 判斷面板
上下兩部分是不同的系統。研究的組態與結果並未全部在現今的執行環境路徑中啟用;兩者唯一的共同連結,是都呼叫同一個 Jev 模型(jev-1.13.0)。
- 執行環境受理檢查
- 執行環境將機率總和容許誤差嚴格維持在 1e-5。評測端的呼叫者會傳入各自記錄的容許誤差,而不是放寬執行環境的解析器。
- 研究範圍
- U3 只測量判斷呼叫;E/I 包含 actor 與修復。兩者的分母絕不混用,U8n 的 11 對則是對中斷研究的事後分析。
三種判斷契約
Choice
- 傳回
- 各類別或選項的機率
- 判斷
- 完成與否;請求的意圖與對象
Noul
- 傳回
- 每個條件的 P(true)
- 判斷
- 矛盾;證據不足
Score
- 傳回
- 固定序位尺度上的期望值與分布
- 判斷
- 生成候選的排名
期望值代表候選在尺度上的位置,不作為信心度使用。
評測與串接
每個契約都在各自固定的輸入面板上評測,其中部分契約接入實驗執行框架的執行路徑,以觀察執行代理如何使用判斷。在上方架構圖中,研究部分呈現這些執行;執行環境部分則是現今 GEODE 中的選用路徑。
改變設計的觀測
- I5 → I6 · 輸入契約
- 追蹤一個共同的交付失敗後發現,判斷輸入缺少任務契約,並將同一請求中的工具觀測描述為過去的上下文
- 在使用修訂程式碼與新帳號的另一次執行中,I6 交付 6/6
- U3 · 相同的 120 對狀態
- 每次呼叫的中位數 Astra 10.446 s · Jev 0.253 s;同一樣本的正確數 90/120 · 84/120
- 針對每項決策,同時權衡速度與準確率,以決定委派範圍
- U2 · 機率
- Jev 的機率在大小上校準得較好,但 Astra 更能穩定地把自己錯誤的判斷排在前面
- 校準與錯誤篩選分開測量,門檻值在 selection 分割上凍結
- U6a · 意圖與對象
- 在設計者撰寫的 40 個 family 上,Jev 216/220 · Astra 220/220,符合預先登錄的 −5 pp margin
- 固定的意圖與對象分類,被縮小為下一個應用候選
- U8n · 交付
- 中斷執行的事後 11 對:修復後的候選在兩個 arm 中都通過 oracle;交付為 Astra 11/11 · Jev Noul 0/11
- 證據不足的判斷阻擋了正確的交付;目前的 Noul 設定缺乏作為唯一交付評判的依據