Geodi, oficjalna pikselowa postać GEODE
Powrót do sali

GEODE

Autonomous Agent Harness

Od obserwacji do następnego działania.

Lokalny harness autonomicznego agenta, któremu można powierzyć badania, pracę na plikach i zadania zaplanowane.

2026.02.21 — present

Projektowanie, ocena, weryfikacja: autor · implementacja: Claude · przegląd: Codex

  • CLIOpublikowane · PyPI
  • Serwer MCPZaimplementowane

Jedna zmiana polityki naraz; pomiar pozostaje stały.

Osobna pętla działająca poza harnessem. Od baseline wprowadza jedną typowaną zmianę polityki, a ten sam audyt Petri i ta sama bramka rozstrzygają między KEEP a przywróceniem.

Mapa SIL · narysowana na podstawie ścieżek evolve w przypiętym commicie 9e2c041 i zapisu przebiegu z June 2026
Mapa przeszukiwania polityk GEODE (SIL)Pętla przeszukiwania polityk działająca poza środowiskiem wykonawczym. Zatwierdzony kontrakt przebiegu ustala budżet, seedy, rubrykę i modele, a mutator zmienia jedną politykę spośród siedmiu dozwolonych powierzchni. measure.py audytuje GEODE tym samym aparatem przez Petri; fitness.py i gate.py rozstrzygają o KEEP lub cofnięciu według reguł regresji krytycznej i promocji; ledger.py zapisuje baseline i wiersze wyników. Przebieg z June 2026 oddzielił szum audytu od efektu mutacji za pomocą ramienia never bez zmian, baseline K=5 i powtórnych pomiarów.Zatwierdzenie operatorawywołania na żywo · budżetAudyt Petriauditor · GEODE target · judgeprogram.mdkontrakt przebiegu · modele · budżetreguły zatrzymania · uruchomienie po zatwierdzeniutrain.pypętla o stałym budżecie--replicate K · ponowny pomiarloop/mutatemutator · jeden kandydat7 powierzchni · bez hiperparametrówstate/policiespolityka zapisana w plikuprepare.pypula seedów · rubryka ustalonameasure.pypodproces audytu · stały timeoutOVERRIDE na politykę · STRICTfitness.pyregresja krytyczna · karyledger.pybaseline · provenancewyniki · wiersze mutacjigate.py_should_promote · KEEP_reject_and_revertcore · loadery politykgałąź promptu · system_prompt.py6 loaderów polityk · tool, skill…run-2606-broken-tool-usebaseline gen-0 · średnia z 5 audytówramię never · kontrola bez zmianramiona random · gatereplicate · ponowny pomiar pojedynczego KEEPevolve/scaffold_searchzewnętrzna pętla przeszukiwania · poza środowiskiem wykonawczymzmiana kandydującajedna na przebiegaparat pomiarowystały w trakcie porównaniarun-2606 · June 3–4, 2026broken_tool_useGEODE poddawany audytowizmieniają się tylko dozwolone polityki1 zatwierdzenie · Zatwierdzenie operatora → kontrakt przebiegu · modele · budżet12 kontrakt przebiegu · kontrakt przebiegu · modele · budżet → pętla o stałym budżecie23 prośba o jednego kandydata · pętla o stałym budżecie → mutator · jeden kandydat34zmiana polityki · ID mutacji5 seedy · rubryka ustalone · pula seedów · rubryka ustalona → podproces audytu · stały timeout56wybrana polityka7ścieżki override dla każdej polityki8audit subprocess9dialog audytu1wyniki wymiarów2 baseline · provenance · baseline · provenance → regresja krytyczna · kary23 fitness · przyczyny regresji · regresja krytyczna · kary → _should_promote · KEEP34KEEP · kolejny baseline5REJECT · przywrócenie poprzedniej wartości6wynik · wiersz werdyktu1trzy ramiona2baseline ze średniej K=53pomiar bez zmiany4--replicate K5ponowny pomiar → cofnięcie

Jedna zmiana → audyt

Przy ustalonym kontrakcie przebiegu zmienia się jedna dozwolona polityka, a GEODE jest audytowany tym samym aparatem. To nie działający produkt przepisujący sam siebie.

  1. Zatwierdzenie operatorauruchomienie · rozstrzygnięcie: zatwierdzeniekontrakt przebiegu · modele · budżetprogram.md

    Przebieg startuje dopiero po zatwierdzeniu wywołań na żywo i stałego budżetu. Bez zatwierdzenia kontrakt jest tylko przygotowywany i sprawdzany offline.

  2. kontrakt przebiegu · modele · budżetprogram.mduruchomienie · rozstrzygnięcie: kontrakt przebiegupętla o stałym budżecietrain.py

    Wersje seedów i rubryki, modele ról i źródła poświadczeń, ustawienia pomiaru, budżety iteracji, czasu i kosztu, polityka promocji i warunki zatrzymania są ustalane przed przebiegiem.

  3. pętla o stałym budżecietrain.pyuruchomienie · rozstrzygnięcie: prośba o jednego kandydatamutator · jeden kandydatloop/mutate

    Jedna poparta dowodami hipoteza zmienia jedną dozwoloną powierzchnię polityki.

  4. 7 powierzchni · bez hiperparametrówloop/mutatedane: zmiana polityki · ID mutacjipolityka zapisana w plikustate/policies

    Zmieniać można tylko siedem powierzchni: prompt opakowujący, politykę narzędzi, wskazówki dekompozycji, refleksję, metadane katalogu umiejętności, kontrakt agenta (role, system_prompt, tools) oraz opisy i podpowiedzi narzędzi. Zmiany hiperparametrów są odrzucane zarówno przy parsowaniu, jak i przy stosowaniu. Zastosowanie polityki, ponowny pomiar i opcjonalny commit to osobne kroki, więc samo zastosowanie nie jest audytem.

  5. pula seedów · rubryka ustalonaprepare.pyuruchomienie · rozstrzygnięcie: seedy · rubryka ustalonepodproces audytu · stały timeoutmeasure.py

    prepare.py jest stałym punktem odniesienia dla puli seedów i rubryki; kandydaci go nie zmieniają. Zmiana modułu pomiarowego zmienia pomiar, a nie testowany system.

  6. polityka zapisana w plikustate/policiesdane: wybrana politykaOVERRIDE na politykę · STRICTmeasure.py

    measure.py odczytuje aktualnie wybrany plik polityki i przekazuje go do środowiska audytu.

  7. OVERRIDE na politykę · STRICTmeasure.pyuruchomienie · rozstrzygnięcie: ścieżki override dla każdej politykicore · loadery polityk

    measure.py przekazuje do podprocesu audytu wrapper oraz ścieżki override i strict dla każdej polityki, a odpowiedni loader polityki w środowisku wykonawczym odczytuje każdą z nich. Wrapper (GEODE_WRAPPER_OVERRIDE → system_prompt) to jedna gałąź; dodatkowe klucze środowiska nie poszerzają siedmiu zmiennych powierzchni. Sam edytowany plik nie dowodzi, że kandydat dotarł do celu; potwierdza to diagnostyka w dowodach audytu.

  8. podproces audytu · stały timeoutmeasure.pyuruchomienie · rozstrzygnięcie: audit subprocessAudyt Petri

    Audyt działa ze stałym timeoutem i budżetem, nigdy niezmienianymi w trakcie porównania. Brak wyjścia to luka diagnostyczna, a nie wynik zero.

  9. Audyt Petridane: dialog audytucore · loadery polityk

    Audytor rozmawia z GEODE przez scenariusz seeda, a sędzia ocenia transkrypt.

Werdykt → zachowanie · przywrócenie

W porównaniu z baseline o tym samym kontrakcie o KEEP decydują regresje krytyczne i reguła promocji; odrzucona zmiana wraca do zapisanej poprzedniej wartości.

  1. Audyt Petridane: wyniki wymiarówregresja krytyczna · karyfitness.py

    Wyniki są przekazywane razem z brakującymi wymiarami i liczebnością próbek. Niezmierzony wymiar nie jest odczytywany jako obserwacja.

  2. baseline · provenanceledger.pydane: baseline · provenanceregresja krytyczna · karyfitness.py

    Porównanie używa tylko baseline z tym samym zapisanym kontraktem i epoką. Nowa gałąź Git nie izoluje stanu baseline.

  3. regresja krytyczna · karyfitness.pydane: fitness · przyczyny regresji_should_promote · KEEPgate.py

    Najpierw sprawdzane są regresje wymiarów krytycznych i kary pomocnicze, potem test marginesu lub wymiaru docelowego. Sam dodatni skalar nigdy nie daje promocji.

  4. _should_promote · KEEPgate.pydane: KEEP · kolejny baselinebaseline · provenanceledger.py

    Zachowany kandydat staje się kolejnym baseline. Kandydat zachowany lokalnie to nie scalenie w repozytorium ani wydanie.

  5. _reject_and_revertgate.pyuruchomienie · rozstrzygnięcie: REJECT · przywrócenie poprzedniej wartościpolityka zapisana w plikustate/policies

    Dla kandydata utworzonego przez runner przywracana jest sekcja polityki zapisana pod jego ID mutacji, a nieudane przywrócenie zostaje oznaczone. Zmiany ręczne nie są przywracane automatycznie, a niepewne przywrócenie wstrzymuje kolejnego kandydata.

  6. _should_promote · KEEPgate.pyzapis · obserwacja: wynik · wiersz werdyktuwyniki · wiersze mutacjiledger.py

    Pomiar, werdykt i pochodzenie są zapisywane raz jako wiersze wyników; historycznych wierszy nigdy się nie nadpisuje.

Kontrole · powtórny pomiar

Przebieg z June 2026: ramię never bez zmian i baseline K=5 osobno zmierzyły szum audytu, a KEEP z pojedynczego audytu sprawdzono ponownie w powtórzeniach.

  1. run-2606-broken-tool-useuruchomienie · rozstrzygnięcie: trzy ramionapętla o stałym budżecietrain.py

    Przebieg z June 3–4, 2026 oddzielił dryf od efektu mutacji za pomocą trzech ramion: never (bez zmian), random (losowa akceptacja) i gate (akceptacja według werdyktu). Celem był GPT-5.5; audytorem i sędzią był Claude Opus 4.8.

  2. baseline gen-0 · średnia z 5 audytówrun-2606-broken-tool-usedane: baseline ze średniej K=5baseline · provenanceledger.py

    Baseline gen-0 był średnią z pięciu audytów (Petri broken_tool_use, im niżej, tym lepiej, średnia 2.667).

  3. ramię never · kontrola bez zmianrun-2606-broken-tool-useuruchomienie · rozstrzygnięcie: pomiar bez zmianypodproces audytu · stały timeoutmeasure.py

    Ramię never zdryfowało do średniej 3.38 bez żadnej zmiany polityki (10 audytów, im niżej, tym lepiej): bezpośredni dowód, że szum audytu przewyższał efekt mutacji.

  4. --replicate K · ponowny pomiartrain.pyuruchomienie · rozstrzygnięcie: --replicate Kpodproces audytu · stały timeoutmeasure.py

    Ten sam kandydat jest mierzony jeszcze K razy w tych samych warunkach, aby odfiltrować szczęśliwy pojedynczy audyt.

  5. replicate · ponowny pomiar pojedynczego KEEPrun-2606-broken-tool-useuruchomienie · rozstrzygnięcie: ponowny pomiar → cofnięcie_reject_and_revertgate.py

    Kandydat zachowany na podstawie pojedynczego audytu gate (1.6) uzyskał w powtórzeniach 3.0–3.8, gorzej niż baseline, więc przywrócono championa 2.667. Wniosek z przebiegu: brak wyraźnej poprawy.

Każde połączenie z tą samą wagą. Wybór przepływu wyróżnia tylko jego ścieżkę z ponumerowanymi krokami.

  • Linia ciągła · kierunek przepływu żądań, kandydatów i wyników
  • Linia przerywana · uruchamianie, rozstrzyganie, autoryzacja, konfiguracja
  • Długa kreska z kropką · zapisy i obserwacja, oddzielnie od werdyktu
  • Gruba czarna linia · wybrany przepływ; liczby podają kolejność
  • Ramka · granica kodu lub zapisu, ścieżka w nagłówku
  • Wewnętrzny element · komponent w tej granicy
  • Przerywana ramka · poza tą granicą
  • pętla · przebieg pomiarowy
  • kontrakt · werdykt
  • polityka · zapisy
  • zmiana · audytowany cel · zapis przebiegu

Sterownik SIL w GEODE nazywa się autoresearch; jego układ prepare/train/program i stały budżet są wzorowane na autoresearch Karpathy’ego. Wagi modelu się nie zmieniają, a aparat i budżet pozostają stałe w trakcie porównania.

Co może się zmienić
Siedem powierzchni: prompt opakowujący, polityka narzędzi, wskazówki dekompozycji, refleksja, metadane katalogu umiejętności, kontrakt agenta oraz opisy i podpowiedzi narzędzi. Ewaluator, budżet, seedy i rubryka pozostają stałe w trakcie porównania.
Zakres zapisu przebiegu
Wartości run-2606 to średnie Petri broken_tool_use z tego przebiegu (im niżej, tym lepiej). Nie są dowodem skumulowanej poprawy SIL ani uogólnienia.