Geodi, die offizielle Pixelfigur von GEODE
Zurück zum Saal

GEODE

Autonomous Agent Harness

Von der Beobachtung zur nächsten Handlung.

Ein lokales Harness für autonome Agenten, dem sich Recherche, Dateiarbeit und geplante Aufgaben übergeben lassen.

2026.02.21 — present

Entwurf, Urteil, Verifikation: Author · Implementierung: Claude · Review: Codex

  • CLIVeröffentlicht · PyPI
  • MCP-ServerImplementiert

Jeweils nur eine Policy ändern; die Messung bleibt fest.

Eine separate Schleife, die außerhalb des Harness läuft. Ausgehend von der Baseline wendet sie eine typisierte Policy-Änderung an, und dasselbe Petri-Audit und dasselbe Gate entscheiden zwischen KEEP und Wiederherstellung.

SIL-Karte · gezeichnet nach den evolve-Pfaden im fixierten Commit 9e2c041 und dem Laufprotokoll vom June 2026
Karte der GEODE-Policy-Suche (SIL)Eine Schleife zur Policy-Suche, die außerhalb der Runtime läuft. Ein freigegebener Laufvertrag fixiert Budget, Seeds, Rubrik und Modelle, und der mutator ändert eine Policy unter sieben erlaubten Flächen. measure.py auditiert GEODE über Petri mit derselben Apparatur; fitness.py und gate.py entscheiden mit Regeln zu critical-Regressionen und Hochstufung über KEEP oder Wiederherstellung; ledger.py schreibt die Baseline und die Ergebniszeilen. Der Lauf vom June 2026 trennte Audit-Rauschen vom Mutationseffekt durch einen never-Arm ohne Änderung, eine K=5-Baseline und replicate-Messung.Freigabe durch OperatorLive-Aufrufe · BudgetPetri-Auditauditor · GEODE target · judgeprogram.mdLaufvertrag · Modelle · BudgetStoppregeln · Lauf nach Freigabetrain.pySchleife mit festem Budget--replicate K · Nachmessungloop/mutatemutator · ein Kandidat7 Flächen · keine Hyperparameterstate/policiesdateibasierte Policyprepare.pySeed-Pool · Rubrik festmeasure.pyAudit-Subprozess · fester TimeoutOVERRIDE pro Policy · STRICTfitness.pycritical-Regression · Abzügeledger.pybaseline · provenanceresults · Mutationszeilengate.py_should_promote · KEEP_reject_and_revertcore · Policy-LoaderPrompt-Zweig · system_prompt.py6 Policy-Loader · tool, skill…run-2606-broken-tool-usegen-0-Baseline · Mittel aus 5 Auditsnever-Arm · Kontrolle ohne ÄnderungArme random · gatereplicate · einzelnes KEEP nachmessenevolve/scaffold_searchexterne Suchschleife · außerhalb der RuntimeÄnderungskandidateiner pro LaufMessapparaturfest während eines Vergleichsrun-2606 · June 3–4, 2026broken_tool_useGEODE im Auditnur erlaubte Policys ändern sich1 Freigabe · Freigabe durch Operator → Laufvertrag · Modelle · Budget12 Laufvertrag · Laufvertrag · Modelle · Budget → Schleife mit festem Budget23 einen Kandidaten anfordern · Schleife mit festem Budget → mutator · ein Kandidat34Policy-Änderung · mutation ID5 Seeds · Rubrik fest · Seed-Pool · Rubrik fest → Audit-Subprozess · fester Timeout56gewählte Policy7Override-Pfade pro Policy8audit subprocess9Audit-Dialog1Dimensionsscores2 baseline · provenance · baseline · provenance → critical-Regression · Abzüge23 Fitness · Regressionsgründe · critical-Regression · Abzüge → _should_promote · KEEP34KEEP · nächste Baseline5REJECT · Vorheriges wiederherstellen6Ergebnis · Urteilszeile1drei Arme2K=5-Mittel als Baseline3Messen ohne Änderung4--replicate K5Nachmessung → Rücknahme

Eine Änderung → Audit

Bei fixiertem Laufvertrag ändert sich eine erlaubte Policy, und GEODE wird mit derselben Apparatur auditiert. Das ist nicht das laufende Produkt, das sich selbst umschreibt.

  1. Freigabe durch OperatorAusführen · Entscheiden: FreigabeLaufvertrag · Modelle · Budgetprogram.md

    Ein Lauf startet erst, nachdem Live-Aufrufe und das feste Budget freigegeben sind. Ohne Freigabe wird nur der Vertrag vorbereitet und offline geprüft.

  2. Laufvertrag · Modelle · Budgetprogram.mdAusführen · Entscheiden: LaufvertragSchleife mit festem Budgettrain.py

    Seed- und Rubrik-Revisionen, Rollenmodelle und Herkunft der Zugangsdaten, Messeinstellungen, Iterations-, Zeit- und Kostenbudgets, die Hochstufungs-Policy und Stoppbedingungen werden vor dem Lauf fixiert.

  3. Schleife mit festem Budgettrain.pyAusführen · Entscheiden: einen Kandidaten anfordernmutator · ein Kandidatloop/mutate

    Eine belegte Hypothese ändert eine erlaubte Policy-Fläche.

  4. 7 Flächen · keine Hyperparameterloop/mutateDaten: Policy-Änderung · mutation IDdateibasierte Policystate/policies

    Nur sieben Flächen dürfen sich ändern: Wrapper-Prompt, Tool-Policy, Zerlegungshinweise, reflection, Metadaten des Skill-Katalogs, Agentenvertrag (role, system_prompt, tools) sowie Tool-Beschreibungen und -Hinweise. Änderungen an Hyperparametern werden sowohl beim Parsen als auch beim Anwenden abgelehnt. Anwenden einer Policy, Nachmessen und ein optionaler Commit sind getrennte Schritte; eine Anwendung ist also selbst kein Audit.

  5. Seed-Pool · Rubrik festprepare.pyAusführen · Entscheiden: Seeds · Rubrik festAudit-Subprozess · fester Timeoutmeasure.py

    prepare.py ist die feste Referenz für Seed-Pool und Rubrik; Kandidaten ändern sie nicht. Eine Änderung an einem Messmodul ändert die Messung, nicht das getestete System.

  6. dateibasierte Policystate/policiesDaten: gewählte PolicyOVERRIDE pro Policy · STRICTmeasure.py

    measure.py liest die aktuell gewählte Policy-Datei und gibt sie in die Audit-Umgebung weiter.

  7. OVERRIDE pro Policy · STRICTmeasure.pyAusführen · Entscheiden: Override-Pfade pro Policycore · Policy-Loader

    measure.py übergibt den Wrapper-Pfad sowie Override- und Strict-Pfade pro Policy an den Audit-Subprozess, und der passende Policy-Loader der Runtime liest jeden davon. Der Wrapper (GEODE_WRAPPER_OVERRIDE → system_prompt) ist ein Zweig; zusätzliche Umgebungsschlüssel erweitern die sieben änderbaren Flächen nicht. Eine bearbeitete Datei allein beweist nicht, dass der Kandidat das Target erreicht hat; das bestätigt die Diagnose in den Audit-Belegen.

  8. Audit-Subprozess · fester Timeoutmeasure.pyAusführen · Entscheiden: audit subprocessPetri-Audit

    Das Audit läuft mit festem Timeout und Budget, die während eines Vergleichs nie geändert werden. Fehlende Ausgabe ist eine Diagnoselücke, kein Score von null.

  9. Petri-AuditDaten: Audit-Dialogcore · Policy-Loader

    Der Auditor spricht über das Seed-Szenario mit GEODE, und der Judge bewertet das Transkript.

Urteil → behalten · wiederherstellen

Im Vergleich mit der Baseline desselben Vertrags entscheiden critical-Regressionen und die Hochstufungsregel über KEEP; eine abgelehnte Änderung wird auf ihren aufgezeichneten vorherigen Wert zurückgesetzt.

  1. Petri-AuditDaten: Dimensionsscorescritical-Regression · Abzügefitness.py

    Scores kommen zusammen mit fehlenden Dimensionen und der Zahl der Samples. Eine nicht gemessene Dimension wird nicht als Beobachtung gelesen.

  2. baseline · provenanceledger.pyDaten: baseline · provenancecritical-Regression · Abzügefitness.py

    Verglichen wird nur mit einer Baseline mit demselben aufgezeichneten Vertrag und derselben epoch. Ein neuer Git-Branch isoliert den Baseline-Zustand nicht.

  3. critical-Regression · Abzügefitness.pyDaten: Fitness · Regressionsgründe_should_promote · KEEPgate.py

    Zuerst werden Regressionen in critical-Dimensionen und Hilfsabzüge geprüft, dann der margin-Test oder der Test der Zieldimension. Ein positiver Skalar allein führt nie zur Hochstufung.

  4. _should_promote · KEEPgate.pyDaten: KEEP · nächste Baselinebaseline · provenanceledger.py

    Ein beibehaltener Kandidat wird zur nächsten Baseline. Ein lokal beibehaltener Kandidat ist weder ein Repository-Merge noch ein Release.

  5. _reject_and_revertgate.pyAusführen · Entscheiden: REJECT · Vorheriges wiederherstellendateibasierte Policystate/policies

    Bei einem vom runner erzeugten Kandidaten wird der unter seiner mutation ID aufgezeichnete Policy-Abschnitt wiederhergestellt, und eine fehlgeschlagene Wiederherstellung wird markiert. Manuelle Änderungen werden nicht automatisch wiederhergestellt, und eine unsichere Wiederherstellung stoppt den nächsten Kandidaten.

  6. _should_promote · KEEPgate.pyAufzeichnen · Beobachten: Ergebnis · Urteilszeileresults · Mutationszeilenledger.py

    Messung, Urteil und Herkunft werden einmal als Ergebniszeilen geschrieben; frühere Zeilen werden nie umgeschrieben.

Kontrollen · Nachmessung

Lauf vom June 2026: Ein never-Arm ohne Änderung und eine K=5-Baseline maßen das Audit-Rauschen separat, und ein KEEP aus einem einzelnen Audit wurde mit Nachmessungen erneut geprüft.

  1. run-2606-broken-tool-useAusführen · Entscheiden: drei ArmeSchleife mit festem Budgettrain.py

    Der Lauf vom June 3–4, 2026 trennte Drift vom Mutationseffekt mit drei Armen: never (keine Änderung), random (zufällige Annahme) und gate (Annahme durch das Urteil). Das Target war GPT-5.5; Auditor und Judge waren Claude Opus 4.8.

  2. gen-0-Baseline · Mittel aus 5 Auditsrun-2606-broken-tool-useDaten: K=5-Mittel als Baselinebaseline · provenanceledger.py

    Die gen-0-Baseline war das Mittel aus fünf Audits (Petri broken_tool_use, niedriger ist besser, Mittel 2.667).

  3. never-Arm · Kontrolle ohne Änderungrun-2606-broken-tool-useAusführen · Entscheiden: Messen ohne ÄnderungAudit-Subprozess · fester Timeoutmeasure.py

    Der never-Arm driftete ohne jede Policy-Änderung auf ein Mittel von 3.38 (10 Audits, niedriger ist besser): ein direkter Beleg, dass das Audit-Rauschen den Mutationseffekt übertraf.

  4. --replicate K · Nachmessungtrain.pyAusführen · Entscheiden: --replicate KAudit-Subprozess · fester Timeoutmeasure.py

    Derselbe Kandidat wird unter denselben Bedingungen K weitere Male gemessen, um ein glückliches Einzel-Audit herauszufiltern.

  5. replicate · einzelnes KEEP nachmessenrun-2606-broken-tool-useAusführen · Entscheiden: Nachmessung → Rücknahme_reject_and_revertgate.py

    Ein nach einem einzelnen gate-Audit beibehaltener Kandidat (1.6) lag bei den Nachmessungen bei 3.0–3.8, schlechter als die Baseline, daher wurde der champion 2.667 wiederhergestellt. Der Lauf kam zu dem Schluss: keine klare Verbesserung.

Alle Verbindungen in gleicher Stärke. Wird ein Ablauf gewählt, ist nur sein Pfad hervorgehoben, mit nummerierten Schritten.

  • Durchgezogen · Richtung, in die Anfragen, Kandidaten und Ergebnisse fließen
  • Gestrichelt · ausführen, entscheiden, autorisieren, konfigurieren
  • Lang strichpunktiert · Aufzeichnungen und Beobachtung, getrennt vom Urteil
  • Dicke schwarze Linie · der gewählte Ablauf; Nummern geben die Reihenfolge an
  • Kasten · eine Code- oder Aufzeichnungsgrenze, Pfad in der Kopfzeile
  • Innerer Chip · eine Komponente in dieser Grenze
  • Gestrichelter Kasten · außerhalb dieser Grenze
  • Schleife · Messlauf
  • Vertrag · Urteil
  • Policy · Aufzeichnungen
  • Änderung · auditiertes Target · Laufprotokoll

Der SIL-Treiber von GEODE heißt autoresearch; seine Gliederung prepare/train/program und das feste Budget lehnen sich an Karpathys autoresearch an. Keine Modellgewichte ändern sich, und Apparatur und Budget bleiben während eines Vergleichs fest.

Was sich ändern darf
Sieben Flächen: Wrapper-Prompt, Tool-Policy, Zerlegungshinweise, reflection, Metadaten des Skill-Katalogs, Agentenvertrag sowie Tool-Beschreibungen und -Hinweise. Evaluator, Budget, Seeds und Rubrik bleiben während eines Vergleichs fest.
Umfang des Laufprotokolls
Die Werte von run-2606 sind die Petri-broken_tool_use-Mittel dieses Laufs (niedriger ist besser). Sie sind kein Beleg für eine kumulative Verbesserung oder Generalisierung von SIL.