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.
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.
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.
Freigabe durch OperatorAusführen · Entscheiden: FreigabeLaufvertrag · Modelle · Budget
program.mdEin Lauf startet erst, nachdem Live-Aufrufe und das feste Budget freigegeben sind. Ohne Freigabe wird nur der Vertrag vorbereitet und offline geprüft.
Laufvertrag · Modelle · Budget
program.mdAusführen · Entscheiden: LaufvertragSchleife mit festem Budgettrain.pySeed- und Rubrik-Revisionen, Rollenmodelle und Herkunft der Zugangsdaten, Messeinstellungen, Iterations-, Zeit- und Kostenbudgets, die Hochstufungs-Policy und Stoppbedingungen werden vor dem Lauf fixiert.
Schleife mit festem Budget
train.pyAusführen · Entscheiden: einen Kandidaten anfordernmutator · ein Kandidatloop/mutateEine belegte Hypothese ändert eine erlaubte Policy-Fläche.
7 Flächen · keine Hyperparameter
loop/mutateDaten: Policy-Änderung · mutation IDdateibasierte Policystate/policiesNur 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.
Seed-Pool · Rubrik fest
prepare.pyAusführen · Entscheiden: Seeds · Rubrik festAudit-Subprozess · fester Timeoutmeasure.pyprepare.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.
dateibasierte Policy
state/policiesDaten: gewählte PolicyOVERRIDE pro Policy · STRICTmeasure.pymeasure.py liest die aktuell gewählte Policy-Datei und gibt sie in die Audit-Umgebung weiter.
OVERRIDE pro Policy · STRICT
measure.pyAusführen · Entscheiden: Override-Pfade pro Policycore · Policy-Loadermeasure.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.
Audit-Subprozess · fester Timeout
measure.pyAusführen · Entscheiden: audit subprocessPetri-AuditDas 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.
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.
Petri-AuditDaten: Dimensionsscorescritical-Regression · Abzüge
fitness.pyScores kommen zusammen mit fehlenden Dimensionen und der Zahl der Samples. Eine nicht gemessene Dimension wird nicht als Beobachtung gelesen.
baseline · provenance
ledger.pyDaten: baseline · provenancecritical-Regression · Abzügefitness.pyVerglichen wird nur mit einer Baseline mit demselben aufgezeichneten Vertrag und derselben epoch. Ein neuer Git-Branch isoliert den Baseline-Zustand nicht.
critical-Regression · Abzüge
fitness.pyDaten: Fitness · Regressionsgründe_should_promote · KEEPgate.pyZuerst 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.
_should_promote · KEEP
gate.pyDaten: KEEP · nächste Baselinebaseline · provenanceledger.pyEin beibehaltener Kandidat wird zur nächsten Baseline. Ein lokal beibehaltener Kandidat ist weder ein Repository-Merge noch ein Release.
_reject_and_revert
gate.pyAusführen · Entscheiden: REJECT · Vorheriges wiederherstellendateibasierte Policystate/policiesBei 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.
_should_promote · KEEP
gate.pyAufzeichnen · Beobachten: Ergebnis · Urteilszeileresults · Mutationszeilenledger.pyMessung, 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.
run-2606-broken-tool-useAusführen · Entscheiden: drei ArmeSchleife mit festem Budget
train.pyDer 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.
gen-0-Baseline · Mittel aus 5 Audits
run-2606-broken-tool-useDaten: K=5-Mittel als Baselinebaseline · provenanceledger.pyDie gen-0-Baseline war das Mittel aus fünf Audits (Petri broken_tool_use, niedriger ist besser, Mittel 2.667).
never-Arm · Kontrolle ohne Änderung
run-2606-broken-tool-useAusführen · Entscheiden: Messen ohne ÄnderungAudit-Subprozess · fester Timeoutmeasure.pyDer 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.
--replicate K · Nachmessung
train.pyAusführen · Entscheiden: --replicate KAudit-Subprozess · fester Timeoutmeasure.pyDerselbe Kandidat wird unter denselben Bedingungen K weitere Male gemessen, um ein glückliches Einzel-Audit herauszufiltern.
replicate · einzelnes KEEP nachmessen
run-2606-broken-tool-useAusführen · Entscheiden: Nachmessung → Rücknahme_reject_and_revertgate.pyEin 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.