Geodi, офіційний піксельний персонаж GEODE
Назад до зали

GEODE

Autonomous Agent Harness

Від спостереження до наступної дії.

Локальна обв’язка автономного агента, якій можна доручити дослідження, роботу з файлами та заплановані завдання.

2026.02.21 — present

Проєктування, рішення, верифікація: Author · реалізація: Claude · рев’ю: Codex

  • CLIОпубліковано · PyPI
  • MCP-серверРеалізовано

Прийняття кандидата й повноваження на реліз — окремі рішення.

Crucible — експериментальне ядро, окреме від пошуку політик. Коміт-кандидат перевіряється на відповідність дозволеним поверхням і замороженому контракту, парні завдання агрегуються в окремому вимірювальному checkout, а результат — KEEP, REJECT або INVALID.

Карта Crucible · накреслено за зафіксованим комітом 9e2c041 і публічними артефактами 23e3428
Карта Crucible у GEODEЕкспериментальне ядро, що тримає прийняття кандидата, запечатану допустимість і реліз продукту як окремі повноваження. Supervisor бере один коміт-кандидат від виробника, перевіряє його на відповідність дозволеній поверхні й замороженому оцінювачу та запускає завдання tau2 в ізольованому вимірювальному checkout. promotion.py агрегує парні результати за попередньо зареєстрованими завданнями й сімействами в KEEP, REJECT або INVALID; KEEP лише пересуває head пошуку. Запечатане оцінювання судить train bundle на одноразовому тестовому наборі, що не перетинається з train; навіть ELIGIBLE доходить лише до eligible ref, без повноважень на реліз.Моделі actor · userr14 · r35: gpt-5.4/highСередовище tau2завдання · симульований користувачРеліз продукту GEODEнемає зв’язку · окреме повноваженняsearch/producersкоманда виробника · налаштованоreplay producersearch/supervisor.pypropose → preflightevaluate → decide → recordcontract.pyдозволена поверхня · diff кандидатазаморожений оцінювач · попередньо зареєстрованоattempt/feedback.jsonкоди збоїв · ID завдань trainmeasurement checkoutізольовано від виробникаassays/запуск tau2 · receiptверифікатор завданьpromotion.pyпарні · завдання · агрегування за сімействомKEEP · REJECT · INVALIDattestation/bundle.pytrain bundle · перерахований KEEPattestation/sealed.pyтестовий набір без перетину · використовується разELIGIBLE · release_authority nonerefs/cruciblesearch/* headeligible/*geode-eval-artifactsr14 · train KEEP → sealed REJECTr35 · INVALID · 0 пар · nullevolve/crucibleзовнішнє експериментальне ядро · окремо від SILпошук · вердикт trainattestation · sealed1 запит кандидата · propose → preflight → search/producers12 один коміт-кандидат · search/producers → propose → preflight23 дозволена поверхня · перевірка diff · propose → preflight → дозволена поверхня · diff кандидата34ізольований checkout5запуск за фіксованим контрактом6діалог actor · user7виклики моделі8paired evidence9попередньо зареєстроване агрегування10KEEP · head пересувається1paired evidence2попередньо зареєстроване агрегування3REJECT · INVALID4коди збоїв · ID завдань1record · ref receipt2 лише train bundle · один раз · train bundle · перерахований KEEP → тестовий набір без перетину · використовується раз23 лише eligible ref · ELIGIBLE · release_authority none → eligible/*31публічний verdict.json2sealed decision.json

Вердикт train

Один кандидат у межах дозволеної поверхні вимірюється за фіксованим контрактом в ізольованому checkout, а попередньо зареєстровані правила вирішують KEEP, REJECT або INVALID.

  1. propose → preflightsearch/supervisor.pyзапуск · рішення: запит кандидатаsearch/producers

    Supervisor пошуку просить кандидата у виробника. Кандидат r14 — це раніший кандидат (r13), повторно застосований виробником replay, а не новий, згенерований LLM.

  2. search/producersдані: один коміт-кандидатpropose → preflightsearch/supervisor.py

    Виробник повертає один коміт-кандидат у межах дозволених шляхів.

  3. propose → preflightsearch/supervisor.pyзапуск · рішення: дозволена поверхня · перевірка diffдозволена поверхня · diff кандидатаcontract.py

    Diff кандидата має лишатися в межах дозволеної контрактом поверхні, а заморожений оцінювач перевіряється. У r14 і r35 дозволеною ціллю був один файл, tau2_agent_policy.md; core і реалізацію Crucible зафіксовано як шлях оцінювача.

  4. evaluate → decide → recordsearch/supervisor.pyзапуск · рішення: ізольований checkoutізольовано від виробникаmeasurement checkout

    Кандидата перевіряють у вимірювальному checkout, відокремленому від виробника.

  5. ізольовано від виробникаmeasurement checkoutзапуск · рішення: запуск за фіксованим контрактомзапуск tau2 · receiptassays/

    Базова лінія й кандидат запускаються з тим самим контрактом, сідом і завданнями.

  6. запуск tau2 · receiptassays/дані: діалог actor · userСередовище tau2

    Агент GEODE (actor) розмовляє із симульованим користувачем, що належить оцінювачу, у середовищі завдань tau2.

  7. запуск tau2 · receiptassays/дані: виклики моделіМоделі actor · user

    У r14 і r35 і actor, і симульований користувач працювали на gpt-5.4/high (підписка).

  8. верифікатор завданьassays/дані: paired evidenceпарні · завдання · агрегування за сімействомpromotion.py

    Результати верифікатора завдань зберігаються як пари базова лінія–кандидат.

  9. заморожений оцінювач · попередньо зареєстрованоcontract.pyзапуск · рішення: попередньо зареєстроване агрегуванняпарні · завдання · агрегування за сімействомpromotion.py

    Парні результати агрегуються за завданнями й попередньо зареєстрованими сімействами, а умови бюджету, покриття, інфраструктури й безпеки перевіряються окремо.

  10. KEEP · REJECT · INVALIDpromotion.pyзапуск · рішення: KEEP · head пересуваєтьсяsearch/* headrefs/crucible

    За KEEP наступний head refs/crucible/search/* стає кандидатом. promotion_authority вердикту train — none.

Відхилення · недійсність · зворотний зв’язок

REJECT і INVALID зберігають head, а наступний кандидат отримує лише коди збоїв і фіксовані ID завдань train. INVALID — не нульова оцінка.

  1. верифікатор завданьassays/дані: paired evidenceпарні · завдання · агрегування за сімействомpromotion.py

    Результати верифікатора завдань зберігаються як пари базова лінія–кандидат.

  2. заморожений оцінювач · попередньо зареєстрованоcontract.pyзапуск · рішення: попередньо зареєстроване агрегуванняпарні · завдання · агрегування за сімействомpromotion.py

    Парні результати агрегуються за завданнями й попередньо зареєстрованими сімействами, а умови бюджету, покриття, інфраструктури й безпеки перевіряються окремо.

  3. KEEP · REJECT · INVALIDpromotion.pyдані: REJECT · INVALIDкоди збоїв · ID завдань trainattempt/feedback.json

    У разі відхилення чи недійсності попередній head лишається, а кандидат і його записи зберігаються. Середнє INVALID — null, а не нуль.

  4. коди збоїв · ID завдань trainattempt/feedback.jsonдані: коди збоїв · ID завданьsearch/producers

    Зворотний зв’язок для наступного кандидата обмежено кодами збоїв і фіксованими ID завдань train; траєкторії чи відповіді оцінювача не передаються.

Запечатана допустимість · окреме повноваження

KEEP на train лише пересуває head пошуку. Запечатана допустимість доходить лише до eligible ref; реліз і розгортання продукту — окремі повноваження поза Crucible.

  1. evaluate → decide → recordsearch/supervisor.pyдані: record · ref receipttrain bundle · перерахований KEEPattestation/bundle.py

    Train bundle дійсний лише тоді, коли пов’язано все: контракт, докази базової лінії й кандидата, перерахований KEEP, родовід пропозиції, запис supervisor і receipt застосованого ref. Це не інша назва покращення.

  2. train bundle · перерахований KEEPattestation/bundle.pyзапуск · рішення: лише train bundle · один разтестовий набір без перетину · використовується разattestation/sealed.py

    Запечатане оцінювання один раз використовує тестовий набір, що не перетинається з train, з нулем інфраструктурних повторів.

  3. ELIGIBLE · release_authority noneattestation/sealed.pyзапуск · рішення: лише eligible refeligible/*refs/crucible

    Навіть ELIGIBLE записує лише refs/crucible/eligible/*, а release_authority зафіксовано як none.

Публічні записи · r14 · r35

r14 — KEEP на train, потім запечатаний REJECT; r35 (July 13, 2026) — INVALID через неповне покриття й інфраструктурне забруднення (0 парних рядків, середнє null), head без змін.

  1. KEEP · REJECT · INVALIDpromotion.pyдані: публічний verdict.jsongeode-eval-artifacts

    Публічні артефакти — нормалізовані записи, зафіксовані на 23e3428. Попередньо зареєстрований хеш конфігурації train для r14 відрізняється від байтів публічної конфігурації, тож увесь оригінальний ланцюжок повторно не засвідчено.

  2. attestation/sealed.pyдані: sealed decision.jsonr14 · train KEEP → sealed REJECTgeode-eval-artifacts

    r14: KEEP на telecom train, 6 завдань × 1 спроба (6 парних рядків, без повноважень на просування), потім окремий запечатаний вердикт REJECT (без повноважень на реліз).

Усі зв’язки однакової товщини. Оберіть потік, щоб підсвітити лише його шлях із пронумерованими кроками.

  • Суцільна · напрямок, яким рухаються запити, кандидати й результати
  • Штрихова · запуск, рішення, авторизація, налаштування
  • Товста чорна лінія · обраний потік; номери показують порядок
  • Рамка · межа коду чи записів, шлях у заголовку
  • Внутрішня плашка · компонент у цій межі
  • Штрихова рамка · поза цією межею
  • supervisor пошуку
  • контракт · вердикт · атестація
  • refs · записи
  • виробники · виконання

Crucible — ядро, окреме від SIL; два пошуки не є одним конвеєром, що просуває кандидатів одне одного. Блок релізу продукту не має вхідних зв’язків.

Три повноваження
KEEP на train пересуває head пошуку, запечатаний ELIGIBLE записує eligible ref, а реліз продукту — окреме рішення поза Crucible. Раніший вердикт ніколи не надає пізнішого повноваження.
Null — не нуль
r35 планував 9 завдань × 3 спроби (27 рядків на гілку), але мав 0 порівнюваних пар, тож його середнє й покращення — null. Це не 27 провалених завдань і не 0% успіху.