GEODE
Autonomous Agent Harness
Od pozorovania k ďalšej akcii.
Lokálny harness autonómneho agenta, ktorému sa dá zveriť výskum, práca so súbormi a plánované úlohy.
Návrh modelu skončiť sa stane dokončením len po overení.
Pri zakončení s odovzdateľným výstupom prechádza žiadosť modelu o zastavenie aj tak overením dokončenia. Výsledkom je hotovo, pokračovanie v rámci rozpočtu alebo čakanie na revíziu; limity vykonávania, zrušenie a chyby končia v samostatnom stave zastavenia.
Overenie → dokončenie
Len zakončenie s odovzdateľným výstupom prechádza PreVerify → posúdenie → PostVerify → Stop. Ani návrh modelu skončiť, ani pokyn hooku samy osebe nie sú dokončením.
arun · ťah modelu
loop/agent_loop.pydáta: návrh zakončeniazakončenie s výstupom · natural atď.loop/_guards.py · models.pyKeď model odpovie textom bez volania nástroja, ťah sa stane kandidátom na zakončenie natural (forced_text v poslednom povolenom kole). Návrh modelu skončiť ešte nie je dokončenie.
zakončenie s výstupom · natural atď.
loop/_guards.py · models.pydáta: kandidát na dokončeniefinalize_and_return_asyncloop/_lifecycle.pyLen natural, forced_text a actionable_partial sú zakončenia s odovzdateľným výstupom a len tie pokračujú k verejnému overeniu.
finalize_and_return_async
loop/_lifecycle.pyspustenie · rozhodnutie: PreVerifyPreVerify · STRENGTHENcore/hooks/public.pySo STRENGTHEN môže hook PreVerify len pridávať požiadavky a kódy chýbajúcich položiek. Rozhodnutie môže sprísniť, nikdy ho nepustiť.
finalize_and_return_async
loop/_lifecycle.pyspustenie · rozhodnutie: verify_turn_asyncštrukturálna kontrola · empty_turncore/agent/verify.pyNajprv prebehne štrukturálna kontrola (prázdny ťah, model_action_required); neopraviteľné štrukturálne zlyhanie preskočí sémantické posúdenie. Staré nastavenia ako off alebo rule_based sa prevedú na llm_judge a rozhodnutie vypnúť nemôžu.
sémantické posúdenie · LLM alebo Jev
core/agent/verify.pydáta: žiadosť o posúdenieModel sudcuZvolený sudca (predvolene LLM judge, Jev Choice pri zvolení) sa volá raz, bez nástrojov, najviac 120 sekúnd a nikdy nad zostávajúci časový rozpočet. Kandidát, ktorý môže niesť osobné pozorovania, sa pomocnému sudcovi neposiela.
sémantické posúdenie · LLM alebo Jev
core/agent/verify.pydáta: passed · rubric_missespolicy_action · čítanie rozhodnutialoop/_lifecycle.pyRozhodnutie nesie úspech alebo neúspech, kódy chýbajúcich položiek, reflexiu pre ďalší pokus a informáciu, či má opakovanie zmysel. Sémantický úspech nikdy neprekryje neúspešnú štrukturálnu kontrolu.
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyspustenie · rozhodnutie: Rozhodnutie PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyHook PostVerify rozhoduje medzi ACCEPT, REVISE a ESCALATE. ACCEPT kandidáta, ktorý neprešiel overením, sa zmení na escalate. Bez rozhodnutia platí predvolené správanie behového prostredia (úspech → accept, opakovateľné → revise, inak escalate).
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyspustenie · rozhodnutie: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyLen keď nedochádza k eskalácii, môže pokyn CONTINUE hooku Stop požiadať o pokračovanie opravou. Pokyn hooku je vstupom ďalšieho pokusu, nie oprávnením.
policy_action · čítanie rozhodnutia
loop/_lifecycle.pydáta: completed · uloženécheckpoint · stav reláciememory · observabilityPri úspechu a accept sa nadväzujúce pokusy zlúčia, výsledok sa uloží a relácia sa zaznamená ako completed.
finalize_and_return_async
loop/_lifecycle.pydáta: odpoveďVolajúci IPC · CLIVracia konečnú odpoveď pri dokončení; prázdnu odpoveď s EXTERNAL_VERIFICATION_REQUIRED pri čakaní na revíziu; dôvod zastavenia pri zakončení bez overenia.
Oprava v rámci rozpočtu
Opraviteľné zlyhanie pokračuje v tej istej požiadavke. Predvolený rozpočet sú dva pokusy; po jeho vyčerpaní kandidát čaká na revíziu.
sémantické posúdenie · LLM alebo Jev
core/agent/verify.pydáta: passed · rubric_missespolicy_action · čítanie rozhodnutialoop/_lifecycle.pyRozhodnutie nesie úspech alebo neúspech, kódy chýbajúcich položiek, reflexiu pre ďalší pokus a informáciu, či má opakovanie zmysel. Sémantický úspech nikdy neprekryje neúspešnú štrukturálnu kontrolu.
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyspustenie · rozhodnutie: Rozhodnutie PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyHook PostVerify rozhoduje medzi ACCEPT, REVISE a ESCALATE. ACCEPT kandidáta, ktorý neprešiel overením, sa zmení na escalate. Bez rozhodnutia platí predvolené správanie behového prostredia (úspech → accept, opakovateľné → revise, inak escalate).
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyspustenie · rozhodnutie: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyLen keď nedochádza k eskalácii, môže pokyn CONTINUE hooku Stop požiadať o pokračovanie opravou. Pokyn hooku je vstupom ďalšieho pokusu, nie oprávnením.
rozpočet pokračovania · predvolene 2
loop/_lifecycle.pyspustenie · rozhodnutie: oprava · pokus +1_arun_once · pokračovanie opravouloop/agent_loop.pyS pokynom na opravu, a len kým je číslo pokusu nižšie ako rozpočet (predvolene dva), pokračuje tá istá požiadavka. Pri dosiahnutí rozpočtu sa stane escalate_budget_exhausted a čaká na revíziu.
Čakanie na revíziu
Nepoužiteľné rozhodnutie, pokus zmeniť zlyhanie na úspech alebo vyčerpaný rozpočet kandidáta zadržia a reláciu pozastavia.
verification_error · pri zlyhaní zatvára
core/agent/verify.pyzlyhanie · bez rozhodnutia: verification_errorpolicy_action · čítanie rozhodnutialoop/_lifecycle.pyChýbajúci sudca, vypršanie času alebo neplatná odpoveď sa stanú verification_error: ani úspech, ani signál na opravu. Nepoužiteľné rozhodnutie nikdy nezastupuje úspech.
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyspustenie · rozhodnutie: Rozhodnutie PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyHook PostVerify rozhoduje medzi ACCEPT, REVISE a ESCALATE. ACCEPT kandidáta, ktorý neprešiel overením, sa zmení na escalate. Bez rozhodnutia platí predvolené správanie behového prostredia (úspech → accept, opakovateľné → revise, inak escalate).
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyspustenie · rozhodnutie: ESCALATE · pendingExterný revízorKandidát sa ponechá ako pending_text a v bežných odpovediach sa zadrží, checkpoint sa uloží a relácia sa pozastaví. Žiadny externý revízor nie je kontaktovaný automaticky.
policy_action · čítanie rozhodnutia
loop/_lifecycle.pyzáznam · pozorovanie: rozhodnutie · riadky dokladovtimeline · riadky rozhodnutí v ledgerimemory · observabilityTimeline dostane riadky rozhodnutí, dokladov a pending a evidence ledger riadok verification_policy. Sú to záznamy typu best-effort, nie dôkaz vonkajšieho efektu.
Zakončenia bez overenia
Zakončenia zrušením, limitom a infraštruktúrou a behy control workflow sa ukladajú bez verejného overenia.
arun · ťah modelu
loop/agent_loop.pyspustenie · rozhodnutie: strážcovia · limityzakončenie zlyhaním · limitom · zrušenímloop/_guards.py · models.pyStrážcovia ako limity kôl, času, nákladov a kontextu, zrušenie a detekcia opakovaných zlyhaní ukončia ťah jedným prvkom uzavretej množiny TerminationReason. Limit vypnutý v konfigurácii sa nie vždy vynucuje.
zakončenie zlyhaním · limitom · zrušením
loop/_guards.py · models.pyzlyhanie · bez rozhodnutia: zakončenie zlyhaním · zrušenímfinalize_and_return_asyncloop/_lifecycle.pyZakončenia zrušením, infraštruktúrou a limitom nemajú kandidáta na overenie, preto sa ukladajú bez verejného overenia.
control workflow · preskočenie verejného overenia
ipc_server/poller.pyspustenie · rozhodnutie: preskočenie verejného overeniafinalize_and_return_asyncloop/_lifecycle.pyKeď volanie IPC požiada o preskočenie verejného overenia alebo je aktívny control workflow, verejné overenie je vypnuté len pre daný beh a potom sa obnoví predchádzajúca hodnota.
finalize_and_return_async
loop/_lifecycle.pydáta: len uloženie · bez overeniacheckpoint · stav reláciememory · observabilityZakončenie bez overenia aj tak uloží svoj výsledok a checkpoint a vyšle udalosti konca relácie.
finalize_and_return_async
loop/_lifecycle.pydáta: odpoveďVolajúci IPC · CLIVracia konečnú odpoveď pri dokončení; prázdnu odpoveď s EXTERNAL_VERIFICATION_REQUIRED pri čakaní na revíziu; dôvod zastavenia pri zakončení bez overenia.
Každé spojenie s rovnakou váhou. Výber toku zvýrazní len jeho cestu s očíslovanými krokmi.
- Plná čiara · smer toku požiadaviek, kandidátov a výsledkov
- Prerušovaná čiara · spustenie, rozhodnutie, autorizácia, konfigurácia
- Dlhá bodkočiarkovaná · záznamy a pozorovanie, oddelené od rozhodnutia
- Krátka čiarka · zlyhanie alebo nepoužiteľné rozhodnutie
- Hrubá čierna čiara · zvolený tok; čísla udávajú poradie
- Rámček · hranica kódu alebo záznamu, cesta v hlavičke
- Vnútorný štítok · komponent v tejto hranici
- Prerušovaný rámček · mimo tejto hranice
- slučka · finalizácia
- zakončenia · hooky · rozhodnutie
- ukladanie · záznamy
- vstup IPC
Nakreslené sú len cesty volaní z pripnutého commitu 9e2c041. Úspech u sudcu je niečo iné ako úspech u externého verifikátora benchmarku; dokončenie je tu rozhodnutím vnútri behového prostredia.
- Engine sudcu
- Predvolený je LLM judge; Jev Choice posudzuje len vtedy, keď je judgment_engine nastavený na jev. V oboch prípadoch nepoužiteľný sudca dáva verification_error, nikdy úspech.
- Čo smú hooky
- PreVerify môže rozhodnutie len sprísniť, PostVerify nemôže pustiť kandidáta, ktorý neuspel, a Stop môže požiadať o pokračovanie len vtedy, keď nedochádza k eskalácii.
- Čakanie na revíziu
- Čakanie na revíziu zaznamenáva, že je potrebné rozhodnutie zvonka. Nikoho neupozorňuje a neznamená, že výsledok bol schválený.