Geodi, personnage officiel de GEODE en pixel art
Retour à la salle

GEODE

Autonomous Agent Harness

De l’observation à l’action suivante.

Un harnais local d’agent autonome auquel confier recherche, travail sur fichiers et tâches planifiées.

2026.02.21 — present

Conception, jugement, vérification : Author · implémentation : Claude · revue : Codex

  • CLIPublié · PyPI
  • Serveur MCPImplémenté

Les scénarios d’audit sont produits par des phases dans un ordre fixe.

L’hôte détient l’ordre des phases, et des agents de rôle se répartissent le travail dans chaque phase. La réserve d’amorces obtenue et la grille d’évaluation sélectionnée deviennent les entrées de l’audit comportemental Petri.

Carte des amorces · tracée d’après les chemins evals au commit fixé 9e2c041
Génération de scénarios d’audit GEODE et audit PetriComment les scénarios d’audit (amorces) sont écrits et audités. L’orchestrateur seed_generation détient l’ordre des phases tandis que des agents de rôle rédigent, relisent et améliorent, et le résultat est exporté sous forme d’un répertoire survivors et de fichiers de méta-revue. Un audit Petri prend une sélection d’amorces et attribue trois rôles de modèle distincts : l’auditeur joue le scénario de l’amorce, la cible est l’échafaudage GEODE entier, et le juge note la transcription par dimension dans un journal Inspect. La mesure SIL lit ce résultat, et une mesure retenue devient une preuve de référence pour la génération suivante.Modèle auditeurjoue le scénario de l’amorceModèle de base ciblele modèle qu’enveloppe GEODEModèle jugenote toute la transcriptionjournal .eval d’Inspectarchive · résumémesure SIL · measure.pylue par le chapitre « Recherche de politiques »baseline snapshotmoyennes par dim · preuveshandoff pointerlatest_pointer.json · priorsseed_generation/orchestrator.pyordre des phases · PipelineStatecheckpoint · resumeagents/ · ébaucheSupervisor · stratégie d’exécutionliterature_review · désactivé par défautGenerator · amorces candidatesagents/ · revueProximity · dédoublonnageCritic · revuePilot · optionnel · absent en smokeRanker · Eloagents/ · améliorationEvolver · améliorationMeta-reviewer · priors suivantsrun_dir/survivors/ · copies .md des candidatssurvivors.json · Elo · pilotmeta_review.json · state.jsonpetri/seedsamorces intégrées · *.mdpetri/runner.pygeode audit · /audit · outilestimation du coût · dry-run par défautpetri/geode_target.pyGEODE comme cible · AgenticLooppetri/judge_dimsjudge_dimensions · YAMLfichiers d’état hors exécutionevals/seed_generationrédaction de scénariosevals/petriexécution d’audit1exécuter les phases dans l’ordre2preuves de référence3 méta-revue précédente · latest_pointer.json · priors → agents/ · ébauche34 amorces candidates · agents/ · ébauche → agents/ · revue45survivors · Elo6 itération suivante · depuis Critic · Meta-reviewer · priors suivants → Critic · revue67 exporter les survivants · agents/ · amélioration → run_dir/78pointeur latest1--seed-select2amorces intégrées3 rôles de modèle · trois sièges · geode audit · /audit · outil → Modèle auditeur34dialogue du scénario d’amorce5 appels de modèle · GEODE comme cible · AgenticLoop → Modèle de base cible56transcription7 judge_dimensions · judge_dimensions · YAML → Modèle juge78scores par dimension1scores par dimension2 mesure · journal .eval d’Inspect → mesure SIL · measure.py23mise à jour de la référence4preuves de référence

Rédaction de scénarios

L’orchestrateur détient l’ordre des phases, les agents de rôle rédigent et filtrent les candidats, et le résultat est exporté via un contrat de fichiers.

  1. ordre des phases · PipelineStateseed_generation/orchestrator.pyexécuter · décider: exécuter les phases dans l’ordreagents/ · ébauche

    L’orchestrateur détient l’ordre des phases et la fusion de l’état ; l’agent de rôle de chaque phase fait le travail. Dans une phase, le travail peut se ramifier via SubAgentManager, et les sous-agents ne s’imbriquent pas (profondeur 1).

  2. moyennes par dim · preuvesbaseline snapshotdonnées: preuves de référenceagents/ · ébauche

    Generator, Critic et Evolver lisent les moyennes par dimension, les erreurs types et les preuves de la référence sélectionnée. La première génération n’a pas de référence et utilise les prompts par défaut.

  3. latest_pointer.json · priorshandoff pointerdonnées: méta-revue précédenteagents/ · ébauche

    La méta-revue de l’exécution précédente laisse des priors pour la génération suivante et des dimensions peu couvertes, que cette génération prend en compte.

  4. agents/ · ébauchedonnées: amorces candidatesagents/ · revue

    Les candidats de Generator passent tour à tour le dédoublonnage Proximity, la revue Critic, Pilot (optionnel ; sauté dans les exécutions smoke) et le classement Elo de Ranker.

  5. agents/ · revuedonnées: survivors · Eloagents/ · amélioration

    Evolver améliore les candidats les mieux classés, et Meta-reviewer résume l’exécution en priors pour la génération suivante.

  6. Meta-reviewer · priors suivantsagents/ · améliorationexécuter · décider: itération suivante · depuis CriticCritic · revueagents/ · revue

    Avec max_iterations défini, après Meta-reviewer, les candidats améliorés repassent par Critic → Pilot → Ranker → Evolver → Meta-reviewer. Supervisor, Generator et Proximity ne sont pas relancés ; la valeur par défaut est de zéro itération.

  7. agents/ · améliorationdonnées: exporter les survivantsrun_dir/

    Les corps des candidats survivants sont copiés comme fichiers dans survivors/, les scores Elo et pilot vont dans survivors.json, et la méta-revue et l’état sont écrits séparément.

  8. meta_review.json · state.jsonrun_dir/données: pointeur latestlatest_pointer.json · priorshandoff pointer

    Un unique latest_pointer.json indique où se trouvent le seed_pool et le meta_review de cette exécution. Les sorties par exécution font foi ; le pointeur est une aide best-effort pour l’exécution suivante, et un échec d’écriture est seulement journalisé. Toutes les exécutions n’ont pas les deux champs.

Exécution d’audit

L’auditeur joue l’amorce (une instruction de scénario), la cible est l’échafaudage GEODE, et le juge note la transcription. Les trois rôles sont des sièges de modèle distincts.

  1. survivors/ · copies .md des candidatsrun_dir/données: --seed-selectgeode audit · /audit · outilpetri/runner.py

    Un audit prend une sélection d’amorces (un répertoire survivors, des amorces intégrées, des ids ou des tags) et la transmet à la tâche inspect_petri/audit d’Inspect. La génération d’amorces ne lance pas elle-même d’audit.

  2. amorces intégrées · *.mdpetri/seedsdonnées: amorces intégréesgeode audit · /audit · outilpetri/runner.py

    Les amorces intégrées au dépôt peuvent être sélectionnées telles quelles.

  3. geode audit · /audit · outilpetri/runner.pyexécuter · décider: rôles de modèle · trois siègesModèle auditeur

    Les modèles auditeur, cible et juge sont définis séparément. Par défaut, c’est un dry run ; les appels réels n’ont lieu qu’après confirmation d’une estimation de coût. Quand les trois rôles partagent un fournisseur, un marqueur de biais même-fournisseur est ajouté.

  4. Modèle auditeurdonnées: dialogue du scénario d’amorceGEODE comme cible · AgenticLooppetri/geode_target.py

    Une amorce est une instruction de scénario pour l’auditeur. L’auditeur mène la conversation et ne peut créer des outils et des résultats d’outils que si target_tools est activé.

  5. GEODE comme cible · AgenticLooppetri/geode_target.pydonnées: appels de modèleModèle de base cible

    L’AgenticLoop GEODE entier (outils, hooks, mémoire) est enveloppé comme une seule API de modèle ; la cible auditée est donc l’échafaudage GEODE, et non le seul modèle de base.

  6. GEODE comme cible · AgenticLooppetri/geode_target.pydonnées: transcriptionModèle juge

    Le juge lit une fois la transcription complète de chaque échantillon et la note par dimension.

  7. judge_dimensions · YAMLpetri/judge_dimsexécuter · décider: judge_dimensionsModèle juge

    Le YAML de dimensions du juge sélectionné fixe les dimensions de notation. C’est un audit comportemental, une mesure différente de l’achèvement de tâches.

  8. Modèle jugedonnées: scores par dimensionjournal .eval d’Inspect

    Le journal .eval d’Inspect et un résumé sont archivés. Un échec d’archivage est noté et ne bloque pas le résultat de l’audit.

Mesure → génération suivante

SIL utilise les scores d’audit pour son verdict, et une mesure retenue devient une preuve de référence pour la génération d’amorces suivante. Cela ne signifie pas que ce lien a fonctionné automatiquement dans chaque campagne.

  1. Modèle jugedonnées: scores par dimensionjournal .eval d’Inspect

    Le journal .eval d’Inspect et un résumé sont archivés. Un échec d’archivage est noté et ne bloque pas le résultat de l’audit.

  2. journal .eval d’Inspectenregistrer · observer: mesuremesure SIL · measure.py

    Le measure.py de SIL lance le sous-processus d’audit et calcule la fitness à partir de son résultat.

  3. mesure SIL · measure.pydonnées: mise à jour de la référencemoyennes par dim · preuvesbaseline snapshot

    Le ledger de SIL inscrit une mesure retenue comme référence. La génération d’amorces lit ces preuves quand une référence est sélectionnée (automatiquement ou explicitement).

  4. moyennes par dim · preuvesbaseline snapshotdonnées: preuves de référenceagents/ · ébauche

    Generator, Critic et Evolver lisent les moyennes par dimension, les erreurs types et les preuves de la référence sélectionnée. La première génération n’a pas de référence et utilise les prompts par défaut.

Toutes les connexions avec la même épaisseur. Choisissez un flux pour ne mettre en évidence que son chemin, avec des étapes numérotées.

  • Trait plein · sens de circulation des requêtes, candidats et résultats
  • Tirets · exécuter, décider, autoriser, configurer
  • Trait mixte long · enregistrements et observation, distincts du verdict
  • Trait noir épais · le flux sélectionné ; les numéros donnent l’ordre
  • Cadre · frontière de code ou d’enregistrement, chemin dans l’en-tête
  • Pastille intérieure · composant de cette frontière
  • Cadre en tirets · hors de cette frontière
  • orchestrateur · entrée d’audit
  • cible d’audit · dimensions de notation
  • sorties · fichiers d’état
  • agents de rôle · amorces intégrées

L’orchestrateur fixe l’ordre du premier passage et l’ordre des répétitions. La configuration, les rôles enregistrés et le point de reprise peuvent sauter certaines phases, et toutes les campagnes n’ont pas exécuté toutes les phases. L’emplacement des fichiers d’état dépend de l’environnement ; aucun chemin n’est donc indiqué.

Trois rôles
Une amorce est une instruction de scénario, écrite par une personne ou générée ; l’auditeur est le modèle qui la joue, la cible est l’échafaudage GEODE audité, et le juge est le modèle qui note la transcription. Scores et journaux sont les sorties du juge.
Ce qui est mesuré
Un audit Petri note des dimensions comportementales. Ce n’est ni un taux d’achèvement de tâches ni une garantie de qualité du produit.