Geodi, oficiálna pixelová postava GEODE
Späť do sály

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.

2026.02.21 — present

Návrh, posúdenie, overenie: autor · implementácia: Claude · revízia: Codex

  • CLIZverejnené · PyPI
  • Server MCPImplementované

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.

Mapa dokončenia · nakreslené podľa ciest kódu v pripnutom commite 9e2c041
Mapa dokončenia GEODEAko sa návrh modelu skončiť stane dokončením. Len zakončenia s odovzdateľným výstupom (natural, forced_text, actionable_partial) prechádzajú hookom PreVerify, štrukturálnou kontrolou a zvoleným sudcom (predvolene LLM judge, Jev pri zvolení) a hookmi PostVerify a Stop. Úspech sa uloží ako completed; opraviteľné zlyhanie pokračuje v tej istej požiadavke v rámci predvoleného rozpočtu dvoch pokusov. Nepoužiteľné rozhodnutie, pokus zmeniť zlyhanie na úspech alebo vyčerpaný rozpočet kandidáta zadržia a reláciu pozastavia. Zakončenia zrušením, limitom a infraštruktúrou a behy control workflow sa ukladajú bez overenia.Volajúci IPC · CLIodpoveď · stav relácieExterný revízorpending · bez kontaktuModel sudcuLLM judge · Jev Choiceipc_server/poller.pycontrol workflow · preskočenie verejného overenialoop/agent_loop.pyarun · ťah modelu_arun_once · pokračovanie opravouloop/_guards.py · models.pyzakončenie s výstupom · natural atď.zakončenie zlyhaním · limitom · zrušenímloop/_lifecycle.pyfinalize_and_return_asyncpolicy_action · čítanie rozhodnutiarozpočet pokračovania · predvolene 2core/hooks/public.pyPreVerify · STRENGTHENPostVerify · ACCEPT · REVISE · ESCALATEStop · CONTINUEmemory · observabilitycheckpoint · stav relácietimeline · riadky rozhodnutí v ledgericore/agent/verify.pyštrukturálna kontrola · empty_turnsémantické posúdenie · LLM alebo Jevverification_error · pri zlyhaní zatváraProces behového prostredia GEODEkoniec jedného ťahu AgenticLoopslučka · kandidáti na zakončeniefinalizácia · rozhodnutie1 návrh zakončenia · arun · ťah modelu → zakončenie s výstupom · natural atď.12kandidát na dokončenie3 PreVerify · finalize_and_return_async → PreVerify · STRENGTHEN34verify_turn_async5žiadosť o posúdenie6passed · rubric_misses7 Rozhodnutie PostVerify · policy_action · čítanie rozhodnutia → PostVerify · ACCEPT · REVISE · ESCALATE78Stop · CONTINUE9completed · uložené10odpoveď1passed · rubric_misses2 Rozhodnutie PostVerify · policy_action · čítanie rozhodnutia → PostVerify · ACCEPT · REVISE · ESCALATE23Stop · CONTINUE4oprava · pokus +11verification_error2 Rozhodnutie PostVerify · policy_action · čítanie rozhodnutia → PostVerify · ACCEPT · REVISE · ESCALATE23ESCALATE · pending4rozhodnutie · riadky dokladov1 strážcovia · limity · arun · ťah modelu → zakončenie zlyhaním · limitom · zrušením12zakončenie zlyhaním · zrušením3preskočenie verejného overenia4len uloženie · bez overenia5odpoveď

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.

  1. arun · ťah modeluloop/agent_loop.pydáta: návrh zakončeniazakončenie s výstupom · natural atď.loop/_guards.py · models.py

    Keď 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.

  2. zakončenie s výstupom · natural atď.loop/_guards.py · models.pydáta: kandidát na dokončeniefinalize_and_return_asyncloop/_lifecycle.py

    Len natural, forced_text a actionable_partial sú zakončenia s odovzdateľným výstupom a len tie pokračujú k verejnému overeniu.

  3. finalize_and_return_asyncloop/_lifecycle.pyspustenie · rozhodnutie: PreVerifyPreVerify · STRENGTHENcore/hooks/public.py

    So 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ť.

  4. finalize_and_return_asyncloop/_lifecycle.pyspustenie · rozhodnutie: verify_turn_asyncštrukturálna kontrola · empty_turncore/agent/verify.py

    Najprv 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.

  5. sémantické posúdenie · LLM alebo Jevcore/agent/verify.pydáta: žiadosť o posúdenieModel sudcu

    Zvolený 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.

  6. sémantické posúdenie · LLM alebo Jevcore/agent/verify.pydáta: passed · rubric_missespolicy_action · čítanie rozhodnutialoop/_lifecycle.py

    Rozhodnutie 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.

  7. policy_action · čítanie rozhodnutialoop/_lifecycle.pyspustenie · rozhodnutie: Rozhodnutie PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    Hook 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).

  8. policy_action · čítanie rozhodnutialoop/_lifecycle.pyspustenie · rozhodnutie: Stop · CONTINUEStop · CONTINUEcore/hooks/public.py

    Len 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.

  9. policy_action · čítanie rozhodnutialoop/_lifecycle.pydáta: completed · uloženécheckpoint · stav reláciememory · observability

    Pri úspechu a accept sa nadväzujúce pokusy zlúčia, výsledok sa uloží a relácia sa zaznamená ako completed.

  10. finalize_and_return_asyncloop/_lifecycle.pydáta: odpoveďVolajúci IPC · CLI

    Vracia 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.

  1. sémantické posúdenie · LLM alebo Jevcore/agent/verify.pydáta: passed · rubric_missespolicy_action · čítanie rozhodnutialoop/_lifecycle.py

    Rozhodnutie 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.

  2. policy_action · čítanie rozhodnutialoop/_lifecycle.pyspustenie · rozhodnutie: Rozhodnutie PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    Hook 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).

  3. policy_action · čítanie rozhodnutialoop/_lifecycle.pyspustenie · rozhodnutie: Stop · CONTINUEStop · CONTINUEcore/hooks/public.py

    Len 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.

  4. rozpočet pokračovania · predvolene 2loop/_lifecycle.pyspustenie · rozhodnutie: oprava · pokus +1_arun_once · pokračovanie opravouloop/agent_loop.py

    S 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.

  1. verification_error · pri zlyhaní zatváracore/agent/verify.pyzlyhanie · bez rozhodnutia: verification_errorpolicy_action · čítanie rozhodnutialoop/_lifecycle.py

    Chý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.

  2. policy_action · čítanie rozhodnutialoop/_lifecycle.pyspustenie · rozhodnutie: Rozhodnutie PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    Hook 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).

  3. policy_action · čítanie rozhodnutialoop/_lifecycle.pyspustenie · rozhodnutie: ESCALATE · pendingExterný revízor

    Kandidá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.

  4. policy_action · čítanie rozhodnutialoop/_lifecycle.pyzáznam · pozorovanie: rozhodnutie · riadky dokladovtimeline · riadky rozhodnutí v ledgerimemory · observability

    Timeline 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.

  1. arun · ťah modeluloop/agent_loop.pyspustenie · rozhodnutie: strážcovia · limityzakončenie zlyhaním · limitom · zrušenímloop/_guards.py · models.py

    Stráž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.

  2. zakončenie zlyhaním · limitom · zrušenímloop/_guards.py · models.pyzlyhanie · bez rozhodnutia: zakončenie zlyhaním · zrušenímfinalize_and_return_asyncloop/_lifecycle.py

    Zakončenia zrušením, infraštruktúrou a limitom nemajú kandidáta na overenie, preto sa ukladajú bez verejného overenia.

  3. control workflow · preskočenie verejného overeniaipc_server/poller.pyspustenie · rozhodnutie: preskočenie verejného overeniafinalize_and_return_asyncloop/_lifecycle.py

    Keď 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.

  4. finalize_and_return_asyncloop/_lifecycle.pydáta: len uloženie · bez overeniacheckpoint · stav reláciememory · observability

    Zakončenie bez overenia aj tak uloží svoj výsledok a checkpoint a vyšle udalosti konca relácie.

  5. finalize_and_return_asyncloop/_lifecycle.pydáta: odpoveďVolajúci IPC · CLI

    Vracia 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ý.