Geodi, GEODE:s officiella pixelfigur
Tillbaka till salen

GEODE

Autonomous Agent Harness

Från observation till nästa handling.

En lokal harness för autonoma agenter som kan anförtros research, filarbete och schemalagda uppgifter.

2026.02.21 — present

Design, bedömning, verifiering: Author · implementation: Claude · granskning: Codex

  • CLIPublicerad · PyPI
  • MCP-serverImplementerad

Auditscenarier tas fram genom faser i fast ordning.

Värden äger fasordningen, och rollagenter i varje fas delar på arbetet. Den resulterande seed-poolen och den valda bedömningsmatrisen blir indata till Petris beteendeaudit.

Seed-karta · ritad utifrån evals-vägarna vid fastlåst commit 9e2c041
Generering av auditscenarier i GEODE och Petri-auditHur auditscenarier (seeds) skrivs och auditeras. Orkestreraren seed_generation äger fasordningen medan rollagenter skriver utkast, granskar och förbättrar, och resultatet exporteras som en survivors-katalog och meta-review-filer. En Petri-audit tar ett urval av seeds och tilldelar tre separata modellroller: auditor spelar seed-scenariot, target är hela GEODE-scaffolden och judge poängsätter transkriptet per dimension i en Inspect-logg. SIL-mätningen läser det resultatet, och en behållen mätning blir baseline-belägg för nästa generering.Auditor-modellspelar seed-scenariotTarget-basmodellmodellen som GEODE kapslar inJudge-modellpoängsätter hela transkriptetInspect .eval-loggarkiv · sammanfattningSIL-mätning · measure.pyläses av kapitlet Policysökningbaseline snapshotdimensionsmedelvärden · belägghandoff pointerlatest_pointer.json · priorsseed_generation/orchestrator.pyfasordning · PipelineStatecheckpoint · resumeagents/ · utkastSupervisor · körstrategiliterature_review · av som standardGenerator · kandidat-seedsagents/ · granskningProximity · dedupliceringCritic · granskningPilot · valfri · inte i smokeRanker · Eloagents/ · förbättringEvolver · förbättringMeta-reviewer · nästa priorsrun_dir/survivors/ · .md-kopior av kandidatersurvivors.json · Elo · pilotmeta_review.json · state.jsonpetri/seedsmedföljande seeds · *.mdpetri/runner.pygeode audit · /audit · verktygkostnadsuppskattning · dry-run som standardpetri/geode_target.pyGEODE som target · AgenticLooppetri/judge_dimsjudge_dimensions · YAMLtillståndsfiler utanför en körningevals/seed_generationscenarioskrivandeevals/petriauditkörning1kör faserna i ordning2baseline-belägg3 föregående meta-review · latest_pointer.json · priors → agents/ · utkast34 kandidat-seeds · agents/ · utkast → agents/ · granskning45survivors · Elo6 nästa iteration · från Critic · Meta-reviewer · nästa priors → Critic · granskning67 exportera survivors · agents/ · förbättring → run_dir/78latest-pekare1--seed-select2medföljande seeds3 modellroller · tre platser · geode audit · /audit · verktyg → Auditor-modell34seed-scenariots dialog5 modellanrop · GEODE som target · AgenticLoop → Target-basmodell56transkript7 judge_dimensions · judge_dimensions · YAML → Judge-modell78dimensionspoäng1dimensionspoäng2 mätning · Inspect .eval-logg → SIL-mätning · measure.py23baseline-uppdatering4baseline-belägg

Scenarioskrivande

Orkestreraren äger fasordningen, rollagenter skriver och filtrerar kandidater, och resultatet exporteras genom ett filkontrakt.

  1. fasordning · PipelineStateseed_generation/orchestrator.pyköra · avgöra: kör faserna i ordningagents/ · utkast

    Orkestreraren äger fasordningen och sammanslagningen av tillstånd; rollagenten i varje fas utför arbetet. Inom en fas kan arbetet fördelas via SubAgentManager, och underagenter går inte vidare rekursivt (djup 1).

  2. dimensionsmedelvärden · beläggbaseline snapshotdata: baseline-beläggagents/ · utkast

    Generator, Critic och Evolver läser den valda baselinens medelvärden, standardfel och belägg per dimension. Den första genereringen har ingen baseline och använder standardpromptarna.

  3. latest_pointer.json · priorshandoff pointerdata: föregående meta-reviewagents/ · utkast

    Föregående körnings meta-review lämnar priors för nästa generation och underbelysta dimensioner som denna generering beaktar.

  4. agents/ · utkastdata: kandidat-seedsagents/ · granskning

    Generators kandidater går i tur och ordning genom Proximity-deduplicering, Critic-granskning, Pilot (valfri; hoppas över i smoke-körningar) och Rankers Elo-rankning.

  5. agents/ · granskningdata: survivors · Eloagents/ · förbättring

    Evolver förbättrar de högst rankade kandidaterna, och Meta-reviewer sammanfattar körningen till priors för nästa generation.

  6. Meta-reviewer · nästa priorsagents/ · förbättringköra · avgöra: nästa iteration · från CriticCritic · granskningagents/ · granskning

    Med max_iterations satt går de förbättrade kandidaterna efter Meta-reviewer igen genom Critic → Pilot → Ranker → Evolver → Meta-reviewer. Supervisor, Generator och Proximity körs inte om; standard är noll iterationer.

  7. agents/ · förbättringdata: exportera survivorsrun_dir/

    De överlevande kandidaternas text kopieras som filer till survivors/, Elo- och pilotpoäng går till survivors.json, och meta-review och tillstånd skrivs separat.

  8. meta_review.json · state.jsonrun_dir/data: latest-pekarelatest_pointer.json · priorshandoff pointer

    En enda latest_pointer.json registrerar var körningens seed_pool och meta_review finns. Utdata per körning är kanoniska; pekaren är ett best-effort-stöd för nästa körning, och en misslyckad skrivning loggas bara. Inte alla körningar har båda fälten.

Auditkörning

Auditor spelar seeden (en scenarioinstruktion), target är GEODE-scaffolden och judge poängsätter transkriptet. De tre rollerna är separata modellplatser.

  1. survivors/ · .md-kopior av kandidaterrun_dir/data: --seed-selectgeode audit · /audit · verktygpetri/runner.py

    En audit tar ett urval av seeds (en survivors-katalog, medföljande seeds, id:n eller taggar) och skickar det till Inspects uppgift inspect_petri/audit. Seed-genereringen startar inte själv någon audit.

  2. medföljande seeds · *.mdpetri/seedsdata: medföljande seedsgeode audit · /audit · verktygpetri/runner.py

    Repositoryts medföljande seeds kan väljas som de är.

  3. geode audit · /audit · verktygpetri/runner.pyköra · avgöra: modellroller · tre platserAuditor-modell

    Auditor-, target- och judge-modeller anges var för sig. Standard är en dry run; skarpa anrop görs först när en kostnadsuppskattning har bekräftats. När alla tre roller delar leverantör läggs en markering för bias från samma leverantör till.

  4. Auditor-modelldata: seed-scenariots dialogGEODE som target · AgenticLooppetri/geode_target.py

    En seed är en scenarioinstruktion till auditor. Auditor leder samtalet och kan skapa verktyg och verktygsresultat bara när target_tools är aktiverat.

  5. GEODE som target · AgenticLooppetri/geode_target.pydata: modellanropTarget-basmodell

    Hela GEODE:s AgenticLoop (verktyg, hooks, minne) kapslas in som ett modell-API, så det auditerade target är GEODE-scaffolden, inte basmodellen ensam.

  6. GEODE som target · AgenticLooppetri/geode_target.pydata: transkriptJudge-modell

    Judge läser varje provs fullständiga transkript en gång och poängsätter det per dimension.

  7. judge_dimensions · YAMLpetri/judge_dimsköra · avgöra: judge_dimensionsJudge-modell

    Den valda YAML-filen med judge-dimensioner anger poängsättningens dimensioner. Det är en beteendeaudit, en annan mätning än uppgiftsslutförande.

  8. Judge-modelldata: dimensionspoängInspect .eval-logg

    Inspect .eval-loggen och en sammanfattning arkiveras. Ett arkiveringsfel noteras och blockerar inte auditresultatet.

Mätning → nästa generering

SIL använder auditpoäng för sin dom, och en behållen mätning blir baseline-belägg för nästa seed-generering. Det betyder inte att kopplingen kördes automatiskt i varje kampanj.

  1. Judge-modelldata: dimensionspoängInspect .eval-logg

    Inspect .eval-loggen och en sammanfattning arkiveras. Ett arkiveringsfel noteras och blockerar inte auditresultatet.

  2. Inspect .eval-logglogga · observera: mätningSIL-mätning · measure.py

    SIL:s measure.py kör auditens underprocess och beräknar fitness utifrån resultatet.

  3. SIL-mätning · measure.pydata: baseline-uppdateringdimensionsmedelvärden · beläggbaseline snapshot

    SIL:s ledger skriver en behållen mätning som baseline. Seed-genereringen läser det belägget när en baseline väljs (automatiskt eller explicit).

  4. dimensionsmedelvärden · beläggbaseline snapshotdata: baseline-beläggagents/ · utkast

    Generator, Critic och Evolver läser den valda baselinens medelvärden, standardfel och belägg per dimension. Den första genereringen har ingen baseline och använder standardpromptarna.

Alla kopplingar med samma tjocklek. Välj ett flöde för att bara markera dess väg, med numrerade steg.

  • Heldragen · riktningen som förfrågningar, kandidater och resultat flödar i
  • Streckad · köra, avgöra, auktorisera, konfigurera
  • Lång streck-punkt · loggar och observation, skilda från domen
  • Kraftig svart linje · det valda flödet; siffrorna anger ordningen
  • Ruta · en kod- eller logggräns, sökvägen i rubriken
  • Inre chip · en komponent inom gränsen
  • Streckad ruta · utanför gränsen
  • orkestrerare · auditingång
  • audit-target · poängdimensioner
  • utdata · tillståndsfiler
  • rollagenter · medföljande seeds

Orkestreraren fastställer ordningen för första genomgången och för upprepningar. Konfiguration, registrerade roller och återupptagningspunkten kan hoppa över vissa faser, och inte alla kampanjer körde alla faser. Tillståndsfilernas placering beror på miljön, så inga sökvägar visas.

Tre roller
En seed är en scenarioinstruktion, skriven av en människa eller genererad; auditor är modellen som spelar den, target är den auditerade GEODE-scaffolden och judge är modellen som poängsätter transkriptet. Poäng och loggar är judges utdata.
Vad som mäts
En Petri-audit poängsätter beteendedimensioner. Den är ingen slutförandegrad för uppgifter eller garanti för produktkvalitet.