Geodi, il personaggio pixel ufficiale di GEODE
Torna alla sala

GEODE

Autonomous Agent Harness

Dall’osservazione all’azione successiva.

Un harness locale per agenti autonomi a cui affidare ricerca, lavoro sui file e attività pianificate.

2026.02.21 — present

Progettazione, giudizio, verifica: Author · implementazione: Claude · revisione: Codex

  • CLIPubblicato · PyPI
  • Server MCPImplementato

Decision Offloading w. Jev

Quali decisioni intermedie che un agente prende a metà di un task si possono affidare a Jev, un modello solo decisionale? Questa ricerca verifica se, una volta affidate, la qualità del task verificata in modo indipendente regge, contando preparazione, giudizi ripetuti, riparazione e consegna finale. I primi studi pilota non si spiegavano con la sola sostituzione della chiamata di giudizio, quindi il contratto di input, il contratto di decisione, la policy delle probabilità e l’uso da parte dell’agente esecutore sono stati separati in esperimenti propri.

Mappa di Jev · runtime dal commit fissato 9e2c041, ricerca dai registri del September 2026
Percorsi di giudizio di Jev: integrazione nel runtime e ricercaLa parte superiore è il percorso di giudizio opzionale nel runtime di GEODE di oggi. Solo quando judgment_engine è impostato su jev la verifica finale e reflection chiamano una volta Jev su TypeSafe SystemOne, e una risposta si usa solo dopo il controllo di ammissione su tipo, intervallo e somma delle probabilità. Solo supported supera la verifica finale, e il risultato va alla policy PostVerify e Stop del capitolo «Completamento». La parte inferiore è la ricerca Jev v3 fuori dal runtime: un pannello a stati fissi (U3) ha confrontato i giudizi di Astra e Jev, le esecuzioni E/I su Harbor 0.22 hanno cambiato solo il percorso di giudizio e controllato separatamente risultati e consegna con un oracle a regole indipendente, e il pacchetto pubblico tiene separati gli hash della fonte e quelli pubblici e offre un ricalcolo model-free.TypeSafe SystemOnejev-1.13.0 · solo giudizioGiudice Astra · modello actorgpt-6-astra/xhigh · abbonamentoRapporto di ricerca su Jevrapporto tecnico pubblicocore/config/judgment.pyjudgment_engine · llm | jevauto → typesafe · openrouterloop/_lifecycle.pyPostVerify · policy Stopcore/agent/verify.pyverdetto finale · una domanda Choicepassa solo supported · solo testoadapters/typesafe.pySystemOne · una chiamata · nessun fallbackammissione · tolleranza sulla somma 1e-5loop/_reflection.pyreflection · classificazione delle provememory · observabilitytimeline · righe di decisione del ledgerU3 · pannello a stati fissi120 coppie · 27 fonti · nessun actorAstra · Jev · stessa domandaE/I · Harbor 0.22actor Astra · strumenti · riparazionepercorso di giudizio · Astra · Jev · Jev-firstrule oraclecorrettezza · consegna separatejev-v3-20260927E2E-DATA · hash della fonte · pubbliciREPRODUCE · model-freeRuntime di GEODE · 9e2c041giudizio opzionale · predefinito llmRicerca Jev v3 · Sept 2026fuori dal runtime · harness separato1scegliere il percorso2 richiesta · candidato · osservazioni · verdetto finale · una domanda Choice → SystemOne · una chiamata · nessun fallback23 una chiamata SystemOne · SystemOne · una chiamata · nessun fallback → TypeSafe SystemOne34 Choice ammessa · ammissione · tolleranza sulla somma 1e-5 → passa solo supported · solo testo45passed · reflection6righe dei verdetti1stessa scelta2classificare le prove3 una chiamata SystemOne · SystemOne · una chiamata · nessun fallback → TypeSafe SystemOne34 classificazione · ammissione · tolleranza sulla somma 1e-5 → reflection · classificazione delle prove41Giudizio di Jev2Giudizio di Astra3risultati del pannello · rapporto1generare · strumenti · riparazione2percorso del giudizio di completamento3 controllo indipendente · E/I · Harbor 0.22 → correttezza · consegna separate34genealogia fallimento · riparazione5ricalcolo model-free

Runtime · verdetto finale

Con Jev selezionato, la verifica finale chiama Jev una volta con un’unica domanda Choice, e passa solo un verdetto supported ammesso.

  1. judgment_engine · llm | jevcore/config/judgment.pyeseguire · decidere: scegliere il percorsoverdetto finale · una domanda Choicecore/agent/verify.py

    Il percorso Jev si usa solo quando judgment_engine è impostato su jev (predefinito llm). provider auto sceglie TypeSafe, poi OpenRouter, in base a quale ha una chiave; senza chiave resta il percorso LLM judge. Non è un fallback che ritenta altrove una richiesta fallita.

  2. verdetto finale · una domanda Choicecore/agent/verify.pydati: richiesta · candidato · osservazioniSystemOne · una chiamata · nessun fallbackadapters/typesafe.py

    La richiesta originale e il candidato vengono oscurati e limitati, poi inviati con le osservazioni degli strumenti come un’unica domanda Choice (supported, contradicted, insufficient_evidence). La chiamata di giudizio non riceve strumenti (allow_tools=False). Un giudizio che richiede immagini non viene inviato a Jev e diventa verification_error.

  3. SystemOne · una chiamata · nessun fallbackadapters/typesafe.pydati: una chiamata SystemOneTypeSafe SystemOne

    Una chiamata, diretta a TypeSafe o tramite OpenRouter, senza passaggio a un altro provider. Jev non è mai usato come modello radice di generazione del testo.

  4. ammissione · tolleranza sulla somma 1e-5adapters/typesafe.pydati: Choice ammessapassa solo supported · solo testocore/agent/verify.py

    Una risposta si usa solo dopo il controllo di ammissione su tipo, intervallo e somma delle probabilità (tolleranza 1e-5). Passa solo supported; contradicted e insufficient_evidence diventano un segnale di nuovo tentativo con un controllo successivo fisso. Una risposta che non è end_turn o non supera l’ammissione diventa verification_error, che non è un segnale di nuovo tentativo (should_retry=False). Il punteggio è una proiezione binaria, non una probabilità calibrata.

  5. passa solo supported · solo testocore/agent/verify.pydati: passed · reflectionPostVerify · policy Stoploop/_lifecycle.py

    Il verdetto va alla policy PostVerify e Stop del capitolo «Completamento». Un verdetto è un input di quella policy, non un’autorità; quando resta in attesa di revisione, il candidato rimane solo come pending_text e la risposta finale è vuota, quindi non viene consegnato nulla.

  6. PostVerify · policy Stoploop/_lifecycle.pyregistrare · osservare: righe dei verdettitimeline · righe di decisione del ledgermemory · observability

    Le decisioni di verdetto vengono registrate nella timeline e nell’evidence ledger: registri del runtime, separati dagli artefatti di ricerca.

Runtime · reflection

La stessa scelta guida la classificazione delle prove di reflection; la frase del controllo successivo è stabilita dal codice.

  1. judgment_engine · llm | jevcore/config/judgment.pyeseguire · decidere: stessa sceltareflection · classificazione delle proveloop/_reflection.py

    La stessa scelta vale per reflection.

  2. reflection · classificazione delle proveloop/_reflection.pydati: classificare le proveSystemOne · una chiamata · nessun fallbackadapters/typesafe.py

    Reflection usa Jev per classificare prove limitate e aggiunge un controllo successivo stabilito dal codice. Non cambia le ipotesi di credenza né la fiducia in sé.

  3. SystemOne · una chiamata · nessun fallbackadapters/typesafe.pydati: una chiamata SystemOneTypeSafe SystemOne

    Una chiamata, diretta a TypeSafe o tramite OpenRouter, senza passaggio a un altro provider. Jev non è mai usato come modello radice di generazione del testo.

  4. ammissione · tolleranza sulla somma 1e-5adapters/typesafe.pydati: classificazionereflection · classificazione delle proveloop/_reflection.py

    Solo una classificazione ammessa aggiorna lo stato di reflection; in caso di fallimento il round successivo riprova dallo stesso stato precedente.

Ricerca · pannello fisso U3

Senza actor, i giudizi di Jev e Astra sullo stesso stato e sulla stessa domanda sono stati confrontati a coppie.

  1. Astra · Jev · stessa domandaU3 · pannello a stati fissidati: Giudizio di JevTypeSafe SystemOne

    U3 (commit dell’esperimento originale 2f2b494): 120 stati fissi · 27 cluster di fonti · 240 chiamate. Ogni stato e domanda è andato a Jev e ad Astra come una coppia; niente actor, strumenti né Harbor.

  2. Astra · Jev · stessa domandaU3 · pannello a stati fissidati: Giudizio di AstraGiudice Astra · modello actor

    Corretti sullo stesso campione: Astra 90/120, Jev 84/120; mediana per chiamata 10.446 s contro 0.253 s. È solo la latenza della chiamata di giudizio, non un risparmio di tempo dei task o di costi.

  3. U3 · pannello a stati fissidati: risultati del pannello · rapportoRapporto di ricerca su Jev

    I risultati di accuratezza e latenza di U3 compaiono nel rapporto tecnico pubblico. Qui non si afferma se questo pannello faccia parte del pacchetto pubblico E2E.

Ricerca · esecuzioni E/I

Con Astra come actor è cambiato solo il percorso di giudizio, e un oracle a regole indipendente ha controllato separatamente risultati e consegna.

  1. actor Astra · strumenti · riparazioneE/I · Harbor 0.22dati: generare · strumenti · riparazioneGiudice Astra · modello actor

    In E/I su Harbor 0.22, l’actor Astra si occupa di generazione, chiamate a strumenti e riparazione; cambia solo il percorso di giudizio.

  2. percorso di giudizio · Astra · Jev · Jev-firstE/I · Harbor 0.22dati: percorso del giudizio di completamentoTypeSafe SystemOne

    E7 (commit dell’esperimento originale 1f65534): 12 task sintetici scritti a mano × 3 configurazioni × 2 esecuzioni = 72 esecuzioni, 24/24 per configurazione. La configurazione Jev-first ha avuto 0/24 fallback effettivi, quindi il suo effetto non è stato misurato.

  3. E/I · Harbor 0.22registrare · osservare: controllo indipendentecorrettezza · consegna separaterule oracle

    Un oracle a regole indipendente controlla il risultato finale, e la consegna finale effettiva viene contata a parte. Nelle 11 coppie post hoc dell’U8n interrotto ogni candidato ha superato l’oracle, eppure la consegna è stata Astra 11/11 e Jev Noul 0/11.

  4. E/I · Harbor 0.22dati: genealogia fallimento · riparazioneE2E-DATA · hash della fonte · pubblicijev-v3-20260927

    Il pacchetto pubblico E2E conserva le genealogie di preparazione, fallimento e riparazione, tenendo separati gli hash della fonte e della copia pubblica. Una copia pubblica oscurata non sostituisce la validazione della fonte invariata.

  5. REPRODUCE · model-freejev-v3-20260927dati: ricalcolo model-freeRapporto di ricerca su Jev

    Ricalcolare i valori dalle risposte salvate ed eseguire di nuovo sono operazioni diverse. Il rapporto è un rapporto tecnico pubblico, non un articolo sottoposto a peer review.

Tutte le connessioni con lo stesso peso. Scegliendo un flusso se ne evidenzia solo il percorso, con passi numerati.

  • Continua · la direzione in cui scorrono richieste, candidati e risultati
  • Tratteggiata · eseguire, decidere, autorizzare, configurare
  • Tratto lungo e punto · registri e osservazione, separati dal verdetto
  • Linea nera spessa · il flusso scelto; i numeri danno l’ordine
  • Riquadro · un confine di codice o di registro, con il percorso nell’intestazione
  • Chip interno · un componente in quel confine
  • Riquadro tratteggiato · fuori da quel confine
  • ciclo · harness di esecuzione
  • scelta del percorso · verdetto · oracle
  • registri · pacchetto pubblico
  • trasporto · pannello di giudizio

La parte superiore e quella inferiore sono sistemi diversi. Le configurazioni e i risultati della ricerca non sono tutti attivi nel percorso del runtime di oggi; l’unico legame condiviso è che entrambe chiamano lo stesso modello Jev (jev-1.13.0).

Ammissione nel runtime
Il runtime mantiene rigorosa la tolleranza sulla somma delle probabilità a 1e-5. I chiamanti della valutazione passano la propria tolleranza registrata invece di allentare il parser del runtime.
Ambito della ricerca
U3 misura solo le chiamate di giudizio; E/I include l’actor e la riparazione. I loro denominatori non vengono mai mescolati, e le 11 coppie di U8n sono un’analisi post hoc di uno studio interrotto.

Tre contratti di decisione

Choice

Restituisce
Probabilità per categoria o opzione
Decide
Completamento; intento e obiettivo di una richiesta

Noul

Restituisce
P(true) per ogni condizione
Decide
Contraddizione; prove mancanti

Score

Restituisce
Valore atteso e distribuzione su una scala ordinale fissa
Decide
Classifica dei candidati generati

Il valore atteso colloca un candidato sulla scala; non è usato come confidenza.

Valutazione e collegamento

Ogni contratto è stato valutato sul proprio pannello di input fisso, e alcuni sono stati collegati al percorso di esecuzione dell’harness sperimentale per vedere come l’agente esecutore usa il giudizio. Nella mappa qui sopra la parte di ricerca mostra quelle esecuzioni; la parte runtime è il percorso opzionale nel GEODE di oggi.

Osservazioni che hanno cambiato il progetto

  1. I5 → I6 · contratto di input
    1. Tracciare un fallimento di consegna comune ha mostrato che l’input del giudizio non conteneva il contratto del task e descriveva le osservazioni degli strumenti della stessa richiesta come contesto passato
    2. I6 ha consegnato 6/6 in un’esecuzione separata con codice rivisto e un nuovo account
  2. U3 · le stesse 120 coppie di stati
    1. Mediana per chiamata Astra 10.446 s · Jev 0.253 s; corretti sullo stesso campione 90/120 · 84/120
    2. Per ogni decisione velocità e accuratezza si valutano insieme per fissare l’ambito della delega
  3. U2 · probabilità
    1. Le probabilità di Jev erano meglio calibrate in ampiezza, ma Astra metteva in testa i propri giudizi errati in modo più affidabile
    2. Calibrazione e selezione degli errori si misurano separatamente, e la soglia viene congelata sullo split di selection
  4. U6a · intento e obiettivo
    1. Su 40 famiglie redatte dal progettista, Jev 216/220 · Astra 220/220, entro il margine preregistrato di −5 pp
    2. Classificazione fissa di intento e obiettivo ristretta come prossimo candidato di applicazione
  5. U8n · consegna
    1. 11 coppie post hoc da un’esecuzione interrotta: i candidati riparati hanno superato l’oracle in entrambi i bracci; consegna Astra 11/11 · Jev Noul 0/11
    2. I giudizi per mancanza di prove hanno bloccato la consegna corretta; l’attuale configurazione di Noul non ha basi sufficienti per fare da unico giudice della consegna