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.
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.
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.
judgment_engine · llm | jev
core/config/judgment.pyeseguire · decidere: scegliere il percorsoverdetto finale · una domanda Choicecore/agent/verify.pyIl 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.
verdetto finale · una domanda Choice
core/agent/verify.pydati: richiesta · candidato · osservazioniSystemOne · una chiamata · nessun fallbackadapters/typesafe.pyLa 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.
SystemOne · una chiamata · nessun fallback
adapters/typesafe.pydati: una chiamata SystemOneTypeSafe SystemOneUna chiamata, diretta a TypeSafe o tramite OpenRouter, senza passaggio a un altro provider. Jev non è mai usato come modello radice di generazione del testo.
ammissione · tolleranza sulla somma 1e-5
adapters/typesafe.pydati: Choice ammessapassa solo supported · solo testocore/agent/verify.pyUna 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.
passa solo supported · solo testo
core/agent/verify.pydati: passed · reflectionPostVerify · policy Stoploop/_lifecycle.pyIl 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.
PostVerify · policy Stop
loop/_lifecycle.pyregistrare · osservare: righe dei verdettitimeline · righe di decisione del ledgermemory · observabilityLe 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.
judgment_engine · llm | jev
core/config/judgment.pyeseguire · decidere: stessa sceltareflection · classificazione delle proveloop/_reflection.pyLa stessa scelta vale per reflection.
reflection · classificazione delle prove
loop/_reflection.pydati: classificare le proveSystemOne · una chiamata · nessun fallbackadapters/typesafe.pyReflection 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é.
SystemOne · una chiamata · nessun fallback
adapters/typesafe.pydati: una chiamata SystemOneTypeSafe SystemOneUna chiamata, diretta a TypeSafe o tramite OpenRouter, senza passaggio a un altro provider. Jev non è mai usato come modello radice di generazione del testo.
ammissione · tolleranza sulla somma 1e-5
adapters/typesafe.pydati: classificazionereflection · classificazione delle proveloop/_reflection.pySolo 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.
Astra · Jev · stessa domanda
U3 · pannello a stati fissidati: Giudizio di JevTypeSafe SystemOneU3 (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.
Astra · Jev · stessa domanda
U3 · pannello a stati fissidati: Giudizio di AstraGiudice Astra · modello actorCorretti 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.
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.
actor Astra · strumenti · riparazione
E/I · Harbor 0.22dati: generare · strumenti · riparazioneGiudice Astra · modello actorIn E/I su Harbor 0.22, l’actor Astra si occupa di generazione, chiamate a strumenti e riparazione; cambia solo il percorso di giudizio.
percorso di giudizio · Astra · Jev · Jev-first
E/I · Harbor 0.22dati: percorso del giudizio di completamentoTypeSafe SystemOneE7 (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.
E/I · Harbor 0.22registrare · osservare: controllo indipendentecorrettezza · consegna separate
rule oracleUn 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.
E/I · Harbor 0.22dati: genealogia fallimento · riparazioneE2E-DATA · hash della fonte · pubblici
jev-v3-20260927Il 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.
REPRODUCE · model-free
jev-v3-20260927dati: ricalcolo model-freeRapporto di ricerca su JevRicalcolare 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
- I5 → I6 · contratto di input
- 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
- I6 ha consegnato 6/6 in un’esecuzione separata con codice rivisto e un nuovo account
- U3 · le stesse 120 coppie di stati
- Mediana per chiamata Astra 10.446 s · Jev 0.253 s; corretti sullo stesso campione 90/120 · 84/120
- Per ogni decisione velocità e accuratezza si valutano insieme per fissare l’ambito della delega
- U2 · probabilità
- Le probabilità di Jev erano meglio calibrate in ampiezza, ma Astra metteva in testa i propri giudizi errati in modo più affidabile
- Calibrazione e selezione degli errori si misurano separatamente, e la soglia viene congelata sullo split di selection
- U6a · intento e obiettivo
- Su 40 famiglie redatte dal progettista, Jev 216/220 · Astra 220/220, entro il margine preregistrato di −5 pp
- Classificazione fissa di intento e obiettivo ristretta come prossimo candidato di applicazione
- U8n · consegna
- 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
- 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