GEODE
Autonomous Agent Harness
Od opažanja do sljedeće radnje.
Lokalni okvir za autonomnog agenta kojemu se mogu prepustiti istraživanje, rad s datotekama i zakazani zadaci.
GEODE runtime vocabulary
- reasoning
- action
- observation
- plan
- memory
- tools
- hook
- reflexion
- rollouts
- data curation
- data governance
- evaluation
- scaffold search
- promotion
Reasoning: SYSTEM PROMPT · CONVERSATION · RUNTIME HINTS · MODEL · ADAPTER CALL · NEXT ACTION · TOOL SCHEMA · TEXT-ONLY TURN · CURRENT STEP · PROJECT MEMORY · RUNTIME RULES · EFFORT · thinking_budget · reasoning_effort · adaptive_thinking · effort_values · default_effort · binds_thinking · none · minimal · low · medium · high · xhigh · max · MODEL ROUTEAction: ACT · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · RESEARCH · BASH · COMPUTER USE · FILE · GIT · PROCESS · EFFECT RECEIPT · TOOLEXECUTORObservation: NEXT ACTION · RESEARCH · OBSERVE · TOOL_RESULT · RESULT · ERROR · CODE · DOCUMENT · SOURCE · EVIDENCE · EXCERPTPlan: CURRENT STEP · OBJECTIVE · PLANSTEP · EXPECTED OUTCOME · REMAINING STEPS · COMPLETED · ABANDONED · REVISION · UPDATE_PLAN · /PLAN · REPLAN · VERIFY FAILED · LOW CONFIDENCEMemory: SYSTEM PROMPT · CONVERSATION · PROJECT MEMORY · RUNTIME RULES · TOOL_RESULT · CONVERSATIONCONTEXT · MESSAGES · CONTEXT WINDOW · COMPACTION · CHECKPOINT · SESSION · RECOVERY · SQLITE · STATE.JSON · PreCompact · PostCompact · SessionStart · SessionEndTools: TOOL SCHEMA · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · BASH · COMPUTER USE · EFFECT RECEIPT · TOOL_RESULT · BOUNDTOOLPLAN · GENERATION · HASH · TOOLEXECUTOR · SCOPE · POLICY · HOOK · APPROVAL · HITL · PreToolUse · PostToolUse · MCP CLIENT · PermissionRequestHook: DISPATCH · HOOK · PreToolUse · PostToolUse · UserPromptSubmit · PermissionRequest · PreCompact · PostCompact · SessionStart · SessionEnd · SubagentStart · SubagentStop · PreVerify · tool_request · tool_execution · llm_request · llm_execution · REQUEST TRANSFORM · next_call · WRAPPER · REGISTRY · PostVerify · StopReflexion: NEXT ACTION · EVIDENCE · REPLAN · VERIFY FAILED · LOW CONFIDENCE · HOOK · PreVerify · HYPOTHESES · CONFIDENCE · NEXT_ACTION_HINT · RECORD_REFLECTION · CONTRADICTION · REPAIR · VERIFY · PostVerify · Stop · COMPLETION · CONTINUE · TIME · TOKEN BUDGET · CANCELLATIONRollouts: SESSION · ROLLOUT · EXAMPLE · SEED · REPETITION · ATTEMPT · TRAJECTORY · REWARD · OUTCOME · TRACE · RUN IDData Curation: TASK SYNTHESIS · SEED GENERATION · PROXIMITY · RANKING · META-REVIEW · ELO TOURNAMENT · PILOT · DEDUPLICATION · SURVIVOR SELECTION · FROZEN POOLData Governance: PROVENANCE · LINEAGE · SCHEMA VERSION · SOURCE DIGEST · PRIVACY REVIEW · ALLOWLIST · IMMUTABLE RELEASE · SPLIT ISOLATION · SEALED HOLDOUTEvaluation: TRAJECTORY · OUTCOME · TRACE · EVALUATION HARNESS · TASK · RUBRIC · GRADER · VERIFIER · VALIDITY · FITNESS · REPLICATION · TASK COVERAGEScaffold Search: RECOVERY · FITNESS · CANDIDATE · HYPOTHESIS · MUTATION POLICY · BASELINE · FROZEN EVALUATOR · POLICY INJECTION · SEARCH SPACE · PROMOTION GATEPromotion: SEALED HOLDOUT · PROMOTION GATE · CRUCIBLE · PAIRED TRIALS · BOOTSTRAP BOUND · FROZEN CONTRACT · TASK-PACK HASH · TRAIN · SEALED TEST · SAFETY VETO · KEEP · REJECT · INVALID
Recorded evaluation · MCPMark PostgreSQL · 2026-07-04
Prije nego što je išta promijenio, pronašao je ono što je već postojalo.
Zadatak: sigurnost na razini redaka za društvenu uslugu s pet tablica.
- IstraživanjePročitao je pet tablica, četiri već postojeće pomoćne funkcije, RLS isključen na svih pet te politike, ovlasti i uloge.
- RadnjaJedna transakcija: 20 politika i uključen RLS, uz ponovnu upotrebu 3 postojeće pomoćne funkcije i dodavanje 3 nove funkcije.
- Verifikacija18 prošlo, 0 palo. Svih 13 odgovora alata u 9 poteza vratilo se bez pogreške.
Izlaz verifikatora, 18 redaka (doslovno)
- RLS enabled on users
- RLS enabled on channels
- RLS enabled on channel_moderators
- RLS enabled on posts
- RLS enabled on comments
- Users can update their own profile
- Users blocked from updating other users' profiles
- Channel owners can update their channels
- Non-owners blocked from updating channels
- Post authors can update their posts
- Channel moderators can update posts in their channels
- Unauthorized users blocked from updating posts
- Comment authors can update their comments
- Post authors can moderate comments on their posts
- Channel owners can add moderators
- Non-owners blocked from adding moderators
- Content visibility varies correctly based on user context
- Anonymous users can see 3 public user profiles (correct)
Prošlo izvođenje u konfiguriranom sandboxu za evaluaciju, a ne živa baza podataka ni stvarni sigurnosni incident. Broj redaka prije politika nije u zapisu, pa nije prikazan. Javni zapis izvođenja (meta.json, commit 23e3428)
Pregled rezultata i njegov popravak (nadahnut Reflexionom, unutar istog zadatka) mogućnost je trenutačnog izvršnog okruženja GEODE. U ovom zapisu takav se popravak ne pojavljuje: svaki se odgovor alata vratio bez pogreške. Dokumentacija izvršnog okruženja (hook-system.md)
Sljedeću radnju bira model; granicu izvođenja čuva domaćin.
Izvršno okruženje od zahtjeva koji ulazi u sesiju, preko poziva modela i provjera ovlasti za svaki predloženi poziv alata, do izvođenja, rezultata i zapisa. Odaberite tijek kako biste istaknuli samo njegov put s numeriranim koracima.
Sljedeću radnju bira model; izvršno okruženje provjerava dopuštenja alata i odlučuje kada je posao završen.
Vanjski eksperimenti Scaffold Search / SIL započeli su May 15, 2026
Paket geode-agent instalira se s PyPI-ja ili iz javnog repozitorija i pokreće u vlastitom terminalu. Dostupan je i kao MCP poslužitelj.
Zahtjev → poziv modela
Zahtjev iz terminala stiže preko IPC-a, sastavlja se sesija, a petlja poziva model sa sistemskim promptom, razgovorom i shemama alata.
Korisnik terminalatok podataka: prompt · cli.sockCLIPoller · IPC utičnica
core/serverTanki CLI šalje zahtjev na IPC utičnicu daemona serve (~/.geode/cli.sock). REPL isti sastav sesije izvodi unutar procesa.
CLIPoller · IPC utičnica
core/serverovlast · sastav: create_session(IPC)SharedServices.create_sessionsupervised/services.pySvaka veza sastavlja sesiju. Način rada određuje razinu HITL-a, vremenski proračun i zabranjene alate te projicira BoundToolPlan na odabranog pružatelja.
CLIPoller · IPC utičnica
core/serverovlast · sastav: lane po zahtjevuLaneQueue · session · globalsupervised/services.pyPrije izvođenja zahtjeva drže se i lane sesije i globalni lane, što ograničava istodobna izvođenja.
SharedServices.create_session
supervised/services.pyovlast · sastav: ToolExecutor · AgenticLoopAgenticLoop · šest fazacore/agent/loopIzgrađuje izvršitelja i petlju kao jedan par koji dijeli hookove, MCP, vještine i zaključavanja resursa.
LaneQueue · session · global
supervised/services.pytok podataka: arun(prompt)AgenticLoop · šest fazacore/agent/loopIzvodi jedan korisnički potez u šest faza: priprema ulaza, priprema poziva, poziv pružatelja, obrada alata, opažanje i sažimanje, završetak.
sistemski prompt · deklarirani izvori
core/agent/looptok podataka: sistemski promptadapter.acomplete · klase pogrešakacore/llm/adaptersGradi se u svakom potezu iz deklariranih izvora kao što su odabrani odjeljci GEODE.md i pravila. Petorazinska fasada ContextAssemblera koristi se samo kad je izričito pozvana; nije ulaz zadane petlje.
poruke · ConversationContext
core/agent/looptok podataka: porukeadapter.acomplete · klase pogrešakacore/llm/adaptersRazgovor i raniji rezultati alata putuju odvojeno od sistemskog prompta.
BoundToolPlan · nepromjenjiv
core/tools/plan.pyovlast · sastav: sheme alataadapter.acomplete · klase pogrešakacore/llm/adaptersModel vidi samo alate BoundToolPlana vezanog za ovaj korak. To je nepromjenjiva snimka s generacijom i hashom sadržaja.
AgenticLoop · šest faza
core/agent/looptok podataka: StepSnapshot · zahtjevadapter.acomplete · klase pogrešakacore/llm/adaptersStepSnapshot fiksira model, alate i korelacijske ID-ove ovog poziva. LLM međuprogram ne može zamijeniti vezani adapter.
adapter.acomplete · klase pogrešaka
core/llm/adapterstok podataka: HTTPSPružatelji LLM-aPoziv izvodi adapter pojedinog pružatelja. Neuspjesi se razvrstavaju i ponavljaju samo unutar zadane granice ili završavaju potez razlogom završetka.
adapter.acomplete · klase pogrešaka
core/llm/adapterstok podataka: odgovor · tool_useAgenticLoop · šest fazacore/agent/loopSam tekst vodi u završetak; tool_use vodi u obradu alata.
Ovlast alata → učinak → rezultat
Prijedlog tool_use izvodi se tek nakon što prođu sve provjere; odbijanja, rezultati i pogreške vraćaju se iz izvršitelja i postaju sljedeći ulaz modela.
AgenticLoop · šest faza
core/agent/looptok podataka: paket na čekanju · spremanje rundeSQLite messages · state.jsonmemory/session_checkpoint.pyU sesiji s konfiguriranim kontrolnim točkama (postoje kontrolna točka i session id) predloženi se paket sprema prije pokretanja ijednog alata, a ako se ne može spremiti, paket se ne izvodi. Dovršeni se paket ponovno sprema. Pozivatelji bez kontrolne točke nemaju to jamstvo.
AgenticLoop · šest faza
core/agent/looptok podataka: blokovi tool_useToolCallProcessortool_executor/processor.pyPrijedlog modela nije dopuštenje. Svaki poziv dobiva ToolContext s identitetom modela i adaptera petlje.
ToolCallProcessor
tool_executor/processor.pytok podataka: aexecuteopseg · politika · shematool_executor/executor.pyRedom provjerava opseg sesije, prepisivanja međuprograma zahtjeva, politiku i shemu. Prepisivanje koje snižava razinu sigurnosti ili klasu osobnih podataka odbija se.
BoundToolPlan · nepromjenjiv
core/tools/plan.pyovlast · sastav: dopušteno · razina sigurnostiopseg · politika · shematool_executor/executor.pyIzvršni rukovatelji i razine sigurnosti dolaze iz BoundToolPlana projiciranog za sesiju.
PreToolUse · PostToolUse
tool_executor/executor.pyovlast · sastav: PreToolUse · PostToolUseHookRegistry · odlukecore/hooksJavni hookovi odlučuju o blokadi, prepisivanju argumenata ili zahtjevu za dopuštenje, a nakon prepisivanja ponovno slijede provjere opsega, politike i sheme. Nakon izvođenja hook može dodati kontekst ili zadržati rezultat.
odobrenje · HITL
tool_executor/executor.pyovlast · sastav: zahtjev za odobrenjeKorisnik terminalaU IPC sesiji zahtjev za odobrenje prosljeđuje se tankom CLI-ju. Načini rada bez čovjeka prema zadanim postavkama primjenjuju politiku odbijanja; jedina je iznimka computer use u DAEMON-u kad ga operater zasebno uključi (inače je blokiran).
tool_executor/executor.pyodbijanje prije izvođenja: odbijeno prije izvođenjaToolCallProcessor
tool_executor/processor.pyOdbijanje zbog opsega, politike ili sheme, blokada PreToolUse ili uskraćeno odobrenje vraćaju se kao rezultat pogreške bez prosljeđivanja. U tom slučaju nijedan učinak ovog poziva nije započeo.
effect receipt
tool_executor/executor.pytok podataka: prijam učinka · potvrdaEffectReceiptStorememory/effect_receipts.pyUčinci poput promjena datoteka, odlaznih poruka ili administrativnih radnji primaju se prije izvođenja. Neizvjestan ishod ne izvodi se ponovno; traži usklađivanje.
zaključavanje resursa · prosljeđivanje
tool_executor/executor.pytok podataka: poziv rukovateljarukovatelji alata · bash · computercore/toolsProsljeđuje vezanom rukovatelju nakon zaključavanja njegovih ključeva resursa. Poziv prekinut na roku možda se i dalje izvodi izvana.
zaključavanje resursa · prosljeđivanje
tool_executor/executor.pytok podataka: MCP pozivMCPServerManagercore/mcp/manager.pyPozivaju se samo MCP alati s deklariranom politikom resursa.
MCPServerManager
core/mcp/manager.pytok podataka: tools/callMCP poslužiteljiKatalog poslužitelja dolazi iz globalnih postavki i postavki projekta koje su prošle provjeru povjerenja; ta se provjera odnosi samo na unose projekta. Upravitelj MCP-a primjenjuje svoju politiku proširenja i resursa.
rukovatelji alata · bash · computer
core/toolstok podataka: promjene datoteka · gita · procesaDatoteke · git · procesiIzvedene promjene ostaju kao vanjsko stanje. Kontrolna točka oporavlja samo razgovor i ne poništava ih.
tool_executor/executor.pytok podataka: rezultat · pogreška nakon prosljeđivanjaToolCallProcessor
tool_executor/processor.pyNakon prosljeđivanja uobičajeni rezultati i pogreške (uključujući istek vremena i neizvjesne ishode) vraćaju se kroz PostToolUse. Pogreška ili istek vremena ne znači da je vanjski rad stao ili da je poništen.
ToolCallProcessor
tool_executor/processor.pytok podataka: tool_resultporuke · ConversationContextcore/agent/loopRezultati, odbijanja i pogreške jednako se serijaliziraju kao tool_result i postaju poruke u sljedećem ulazu modela.
ToolCallProcessor
tool_executor/processor.pyzapis · opažanje: poziv · opažanje rezultataSessionTimeline · append-onlyobservability/session_timeline.pyUpisuje poziv i njegov rezultat (ok ili pogreška) u timeline, uključujući pozive odbijene prije izvođenja. Zapis je opažanje; ne dokazuje da je vanjski učinak započeo ili uspio.
Zapisi · oporavak · završetak
Kontrolna točka, timeline i retci dokaza zapisuju se odvojeno. Zajedničke transakcije nema, a kontrolna točka oporavlja samo razgovor.
AgenticLoop · šest faza
core/agent/looptok podataka: paket na čekanju · spremanje rundeSQLite messages · state.jsonmemory/session_checkpoint.pyU sesiji s konfiguriranim kontrolnim točkama (postoje kontrolna točka i session id) predloženi se paket sprema prije pokretanja ijednog alata, a ako se ne može spremiti, paket se ne izvodi. Dovršeni se paket ponovno sprema. Pozivatelji bez kontrolne točke nemaju to jamstvo.
SQLite messages · state.json
memory/session_checkpoint.pytok podataka: obnova pri nastavkuAgenticLoop · šest fazacore/agent/loopJedan put obnove vraća poruke, kognitivno stanje i brojače zaštita. TaskGraph lokalan za proces ne oporavlja se.
AgenticLoop · šest faza
core/agent/loopzapis · opažanje: zapis potezaSessionTimeline · append-onlyobservability/session_timeline.pyPovijest izvođenja u koju se samo dodaje, a koja se nikad ne reproducira kao stanje.
AgenticLoop · šest faza
core/agent/loopovlast · sastav: provjera završetkaverify_turn_asynccore/agent/verify.pyPrijedlog modela da stane postaje završetak samo kroz Verify.
verify_turn_async
core/agent/verify.pyovlast · sastav: PostVerify · StopHookRegistry · odlukecore/hooksOdluke javnih hookova određuju hoće li se nastaviti s popravkom, a popravci se odvijaju samo unutar zadanog proračuna (zadano dva).
AgenticLoop · šest faza
core/agent/loopzapis · opažanje: retci dokaza · best-effortEvidenceLedger · JSONLagent/evidence_ledger.pyDijagnostički retci s uklonjenim osjetljivim podacima. Hashevi služe korelaciji; redak ne dokazuje da se učinak dogodio i ne zapisuje se u istoj transakciji s timelineom ili kontrolnom točkom.
AgenticLoop · šest faza
core/agent/loopzapis · opažanje: kognitivni događaji · događaji životnog ciklusaHookSystem · opažanjecore/hooksHookovi opažanja primaju i bilježe događaje; ne odlučuju o izvođenju.
Drugi ulazni putovi
Glasnici ulaze kao DAEMON sesije daemona serve; run_agent vanjskog MCP domaćina ulazi u zasebno izgrađenu bezglavu jednokratnu petlju.
Kanal glasnikatok podataka: poruka kanalapolleri glasnika
core/serverPolleri daemona serve obrađuju poruke samo iz vezanih kanala.
polleri glasnika
core/serverovlast · sastav: create_session(DAEMON)SharedServices.create_sessionsupervised/services.pyNačin rada bez čovjeka koji odobrava: vrijede zadana politika odbijanja i vremenski proračun. Samo computer use operater može zasebno uključiti; bez toga ostaje blokiran.
polleri glasnika
core/servertok podataka: arun(message)AgenticLoop · šest fazacore/agent/loopNit zadržava jedan fiksni session id i nastavlja jedan lanac kontrolnih točaka.
Vanjski MCP domaćintok podataka: run_agent(prompt)run_agent · jednokratno izvođenje
core/mcp_server.pyVanjski MCP domaćin poziva GEODE kao alat.
run_agent · jednokratno izvođenje
core/mcp_server.pytok podataka: bezglava jednokratna petljaAgenticLoop · šest fazacore/agent/loopZasebno izgrađeni bezglavi izvršitelj i petlja koji zaobilaze SharedServices. Zadani popis zabrana vrijedi nepromijenjen, pa su alati kao run_bash, delegate_task i computer uklonjeni; iznimka za computer use u DAEMON-u ovdje ne postoji.
Sve veze iste debljine. Odaberite tijek kako biste istaknuli samo njegov put s numeriranim koracima.
- Puna crta · smjer kojim teku zahtjevi, poruke i rezultati alata
- Isprekidana crta · sastav sesije, ovlast ili presuda; nije put podataka
- Duga crta-točka · zapisi i opažanje; nikad se ne reproducira kao stanje
- Kratka crtica · odbijanje prije izvođenja, bez učinka
- Debela crna crta · odabrani tijek; brojevi daju redoslijed
- Okvir · granica koja posjeduje kod, putanja izvora u zaglavlju
- Unutarnja pločica · komponenta unutar te granice
- Isprekidani okvir · izvan procesa izvršnog okruženja
- Narančasti obrub · mjesto gdje model odlučuje
- Petlja izvođenja
- Ovlasti · presude
- Pohrane zapisa
- Ulaz · veza · izvođenje
Nacrtane su samo veze čiji su pozivi potvrđeni. Petorazinska fasada ContextAssemblera, TaskGraph i istraživački eksperimenti kao što su Jev, SIL i Crucible nisu na ovom putu izvođenja. Asinkrono otkazivanje ne zaustavlja već započeti sinkroni rad niti poništava učinke koji su se dogodili.
Podržani modeli · po pružatelju
Izbori iz kataloga u kodu i isporučene zadane postavke, a ne popis u kojem je svaki model prošao živi API poziv. Konfigurirani zamjenski lanci prema zadanim su postavkama prazni, a točni ID-ovi nikad se automatski ne nadograđuju na novije verzije.
Anthropic
API
- GlavniClaude Opus 5.5
claude-opus-5-5Zadano - PomoćniClaude Sonnet 5
claude-sonnet-5Zadano - EkonomičniClaude Haiku 4.5
claude-haiku-4-5-20251001Zadano
Prikaži sve ID-ove kataloga (12)
API
claude-fable-5-1claude-opus-5-5zadanoclaude-opus-5claude-sonnet-5zadanoclaude-haiku-4-5-20251001zadanoclaude-fable-5claude-opus-4-8claude-opus-4-7claude-opus-4-6claude-opus-4-5claude-sonnet-4-6claude-sonnet-4-5-20250929
Kod odbija put preko OAuth pretplate.
- GlavniClaude Opus 5.5
OpenAI
API · pretplata na Codex
- Zadani za API i CodexGPT-6 Sol
gpt-6-solZadano
Prikaži sve ID-ove kataloga (11)
API · pretplata na Codex
gpt-6-astragpt-6-solzadanogpt-6-lunagpt-5.6-solgpt-5.6-terragpt-5.6-luna
Samo API
gpt-5.5gpt-5.3-codexgpt-5.4gpt-5.4-minigpt-5.4-nano
Dva pristupna puta do jednog pružatelja; katalog određuje koje putove svaki model dopušta.
- Zadani za API i CodexGPT-6 Sol
Z.ai / GLM
PAYG
- ZadaniGLM-5.3
glm-5.3Zadano
Prikaži sve ID-ove kataloga (9)
PAYG
glm-5.3zadanoglm-5.3-flashglm-5.3-flashxglm-5.2glm-5.1glm-5glm-4.7glm-4.7-flashxglm-4.7-flash
Kod ne dopušta put GLM Coding Plan.
- ZadaniGLM-5.3
OpenRouter
Usluga usmjeravanja
- BiračFree (smoke)
openrouter/openrouter/freeUsmjerivač - BiračAuto (variable)
openrouter/openrouter/autoUsmjerivač
Izbori usmjerivača, a ne jedan fiksni model. Izričito konfigurirani ID-ovi također se mogu zadržati.
- BiračFree (smoke)
TypeSafe / Jev
Samo za odluke · odvojeno od generiranja teksta
- Izravno
jev-1.13.0Samo za odluke - Preko OpenRoutera
typesafe/jev-1.13Samo za odluke
Neobavezni adapter koji samo donosi prosudbe; nije korijenski model za generiranje teksta. Zadani mehanizam prosudbe je llm, a Jev treba izričito odabrati. Vlastite konfiguracije istraživanja Jev slijede zapise poglavlja Jev.
- Izravno
IzvorGEODE main 373d420Javni commit October 7, 2026 · provjereno October 8, 2026
Eksperimenti
Modeli i putovi kako su zabilježeni u ono vrijeme, a ne trenutačne zadane postavke ni potpuni popis kompatibilnosti.
Izvješće o benchmarku GEODE
July 31, 2026
- GEODEGPT-5.6 Sol
gpt-5.6-solPretplata na OpenAI · high
- GEODEGPT-5.6 Sol
Terminal-Bench 2.1 · uparena specifikacija Harbor 0.22.0
August 27, 2026
- GEODE · native CodexGPT-5.6 Sol
gpt-5.6-solpretplata · max
Zamrznuta specifikacija; nije svaki planirani pokušaj dao valjan rezultat.
- GEODE · native CodexGPT-5.6 Sol
Arhivirano izvođenje SIL-a run-2606-broken-tool-use
- Ciljna skelaGPT-5.5
gpt-5.5openai-codex - Revizor · sudacClaude Opus 4.8
claude-opus-4-8PAYG
Zapis zasebnih uloga, a ne dviju međusobno zamjenjivih zadanih vrijednosti.
- Ciljna skelaGPT-5.5