GEODE
Autonomous Agent Harness
Fra observation til næste handling.
En lokal harness til autonome agenter, som research, filarbejde og planlagte opgaver kan overdrages til.
Modellens forslag om at stoppe bliver kun til fuldførelse gennem verifikation.
Ved et leverbart stop gennemgår en model, der beder om at stoppe, stadig fuldførelsesverifikation. Udfaldet er færdig, fortsæt inden for budget eller afventer gennemgang; udførelsesgrænser, annullering og fejl ender i en særskilt stoppet tilstand.
Verificér → fuldfør
Kun et leverbart stop går gennem PreVerify → vurdering → PostVerify → Stop. Hverken modellens stopforslag eller en hook-instruks er i sig selv en fuldførelse.
arun · modeltur
loop/agent_loop.pydata: stopforslagleverbart stop · natural osv.loop/_guards.py · models.pyNår modellen svarer med tekst uden et værktøjskald, bliver turen en natural-stopkandidat (forced_text i den sidste tilladte runde). En models stopforslag er endnu ikke en fuldførelse.
leverbart stop · natural osv.
loop/_guards.py · models.pydata: fuldførelseskandidatfinalize_and_return_asyncloop/_lifecycle.pyKun natural, forced_text og actionable_partial er leverbare stop, og kun de går videre til offentlig verifikation.
finalize_and_return_async
loop/_lifecycle.pykøre · afgøre: PreVerifyPreVerify · STRENGTHENcore/hooks/public.pyMed STRENGTHEN kan PreVerify-hooken kun tilføje krav og mangelkoder. Den kan gøre dommen strengere, aldrig give bestået.
finalize_and_return_async
loop/_lifecycle.pykøre · afgøre: verify_turn_asyncstrukturel kontrol · empty_turncore/agent/verify.pyEn strukturel kontrol kommer først (tom tur, model_action_required); en strukturel fejl, der ikke kan repareres, springer den semantiske vurdering over. Gamle indstillinger som off eller rule_based tolkes som llm_judge og kan ikke slå dommen fra.
semantisk vurdering · LLM eller Jev
core/agent/verify.pydata: vurderingsanmodningBedømmermodelDen valgte bedømmer (som standard LLM judge, Jev Choice når den vælges) kaldes én gang, uden værktøjer, i højst 120 sekunder og aldrig ud over det resterende tidsbudget. En kandidat, der kan indeholde personlige observationer, sendes ikke til en hjælpebedømmer.
semantisk vurdering · LLM eller Jev
core/agent/verify.pydata: passed · rubric_missespolicy_action · tolkning af dommenloop/_lifecycle.pyDommen indeholder bestået eller ikke bestået, mangelkoder, en refleksion til næste forsøg, og om et nyt forsøg er nyttigt. Et semantisk bestået dækker aldrig over en mislykket strukturel kontrol.
policy_action · tolkning af dommen
loop/_lifecycle.pykøre · afgøre: PostVerify-beslutningPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyPostVerify-hooken afgør ACCEPT, REVISE eller ESCALATE. En ACCEPT af en kandidat, der ikke bestod verifikationen, bliver til escalate. Uden beslutning gælder runtimens standard (bestået → accept, kan prøves igen → revise, ellers escalate).
policy_action · tolkning af dommen
loop/_lifecycle.pykøre · afgøre: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyKun når der ikke eskaleres, kan Stop-hookens CONTINUE-instruks anmode om fortsat reparation. En hook-instruks er input til næste forsøg, ikke en autoritet.
policy_action · tolkning af dommen
loop/_lifecycle.pydata: completed · gemtcheckpoint · sessionstilstandmemory · observabilityVed bestået og accept flettes de fortsatte forsøg sammen, resultatet gemmes, og sessionen registreres som completed.
finalize_and_return_async
loop/_lifecycle.pydata: svarIPC · CLI-kalderReturnerer det endelige svar ved completed; et tomt svar med EXTERNAL_VERIFICATION_REQUIRED, når der afventes gennemgang; stopårsagen ved et stop uden verifikation.
Reparation inden for budget
En fejl, der kan repareres, fortsætter den samme forespørgsel. Standardbudgettet er to forsøg; når det er opbrugt, afventer kandidaten gennemgang.
semantisk vurdering · LLM eller Jev
core/agent/verify.pydata: passed · rubric_missespolicy_action · tolkning af dommenloop/_lifecycle.pyDommen indeholder bestået eller ikke bestået, mangelkoder, en refleksion til næste forsøg, og om et nyt forsøg er nyttigt. Et semantisk bestået dækker aldrig over en mislykket strukturel kontrol.
policy_action · tolkning af dommen
loop/_lifecycle.pykøre · afgøre: PostVerify-beslutningPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyPostVerify-hooken afgør ACCEPT, REVISE eller ESCALATE. En ACCEPT af en kandidat, der ikke bestod verifikationen, bliver til escalate. Uden beslutning gælder runtimens standard (bestået → accept, kan prøves igen → revise, ellers escalate).
policy_action · tolkning af dommen
loop/_lifecycle.pykøre · afgøre: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyKun når der ikke eskaleres, kan Stop-hookens CONTINUE-instruks anmode om fortsat reparation. En hook-instruks er input til næste forsøg, ikke en autoritet.
fortsættelsesbudget · standard 2
loop/_lifecycle.pykøre · afgøre: reparation · forsøg +1_arun_once · fortsat reparationloop/agent_loop.pyMed en reparationsinstruks, og kun mens forsøgsnummeret er under budgettet (som standard to), fortsætter den samme forespørgsel. Ved budgettet bliver det til escalate_budget_exhausted og afventer gennemgang.
Afventer gennemgang
En ubrugelig dom, et forsøg på at gøre en fejl til et bestået resultat eller et opbrugt budget tilbageholder kandidaten og sætter sessionen på pause.
verification_error · lukker ved fejl
core/agent/verify.pyfejl · ingen dom: verification_errorpolicy_action · tolkning af dommenloop/_lifecycle.pyEn manglende bedømmer, en timeout eller et ugyldigt svar bliver til verification_error: hverken bestået eller et reparationssignal. En ubrugelig dom træder aldrig i stedet for succes.
policy_action · tolkning af dommen
loop/_lifecycle.pykøre · afgøre: PostVerify-beslutningPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyPostVerify-hooken afgør ACCEPT, REVISE eller ESCALATE. En ACCEPT af en kandidat, der ikke bestod verifikationen, bliver til escalate. Uden beslutning gælder runtimens standard (bestået → accept, kan prøves igen → revise, ellers escalate).
policy_action · tolkning af dommen
loop/_lifecycle.pykøre · afgøre: ESCALATE · pendingEkstern reviewerKandidaten bevares som pending_text og tilbageholdes fra almindelige svar, checkpointet gemmes, og sessionen sættes på pause. Ingen ekstern reviewer kontaktes automatisk.
policy_action · tolkning af dommen
loop/_lifecycle.pylogge · observere: dom · belægsrækkertimeline · beslutningsrækker i ledgermemory · observabilityTidslinjen får beslutnings-, belægs- og pending-rækker, og evidence ledger en verification_policy-række. Det er best-effort-logs, ikke bevis for en ekstern effekt.
Stop uden verifikation
Stop ved annullering, grænser og infrastruktur samt kørsler i control workflow gemmes uden offentlig verifikation.
arun · modeltur
loop/agent_loop.pykøre · afgøre: guards · grænserstop ved fejl · grænse · annulleringloop/_guards.py · models.pyGuards som grænser for runder, tid, omkostninger og kontekst, annullering og registrering af gentagne fejl afslutter turen med ét medlem af den lukkede TerminationReason-mængde. En grænse, der er slået fra i konfigurationen, håndhæves ikke altid.
stop ved fejl · grænse · annullering
loop/_guards.py · models.pyfejl · ingen dom: stop ved fejl · annulleringfinalize_and_return_asyncloop/_lifecycle.pyStop ved annullering, infrastruktur og grænser har ingen kandidat at verificere og gemmes derfor uden offentlig verifikation.
control workflow · spring offentlig verifikation over
ipc_server/poller.pykøre · afgøre: spring offentlig verifikation overfinalize_and_return_asyncloop/_lifecycle.pyNår et IPC-kald beder om at springe offentlig verifikation over, eller et control workflow er aktivt, er offentlig verifikation slået fra for netop den kørsel, og den tidligere værdi gendannes bagefter.
finalize_and_return_async
loop/_lifecycle.pydata: kun gem · ingen verifikationcheckpoint · sessionstilstandmemory · observabilityEt stop uden verifikation gemmer stadig sit resultat og checkpoint og udsender hændelserne for sessionsafslutning.
finalize_and_return_async
loop/_lifecycle.pydata: svarIPC · CLI-kalderReturnerer det endelige svar ved completed; et tomt svar med EXTERNAL_VERIFICATION_REQUIRED, når der afventes gennemgang; stopårsagen ved et stop uden verifikation.
Alle forbindelser med samme tykkelse. Vælg et flow for kun at fremhæve dets vej med nummererede trin.
- Fuldt optrukket · den retning, forespørgsler, kandidater og resultater flyder
- Stiplet · køre, afgøre, autorisere, konfigurere
- Lang streg-prik · logs og observation, adskilt fra dommen
- Kort streg · en fejl eller en ubrugelig dom
- Kraftig sort linje · det valgte flow; tal angiver rækkefølgen
- Boks · en kode- eller loggrænse med stien i overskriften
- Indre chip · en komponent inden for grænsen
- Stiplet boks · uden for grænsen
- løkke · finalisering
- stop · hooks · dom
- lagring · logs
- IPC-indgang
Kun kaldstier i fastlåst commit 9e2c041 er tegnet. En bedømmers bestået er adskilt fra en ekstern benchmark-verifikators succes; fuldførelse er her en beslutning inde i runtimen.
- Vurderingsmotor
- Standarden er LLM judge; Jev Choice bedømmer kun, når judgment_engine er sat til jev. Under alle omstændigheder giver en ubrugelig bedømmer verification_error, aldrig succes.
- Hvad hooks må
- PreVerify kan kun gøre dommen strengere, PostVerify kan ikke lade en mislykket kandidat bestå, og Stop kan kun anmode om fortsættelse, når der ikke eskaleres.
- Afventer gennemgang
- Afventer gennemgang registrerer, at der kræves en ekstern beslutning. Det giver ingen besked til nogen og betyder ikke, at resultatet er godkendt.