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

GEODE

Autonomous Agent Harness

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

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

2026.02.21 — present

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

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

Аудитні сценарії створюються через фази у фіксованому порядку.

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

Карта сідів · накреслено за шляхами evals на зафіксованому коміті 9e2c041
Генерація аудитних сценаріїв GEODE та аудит PetriЯк пишуть і проходять аудит аудитні сценарії (сіди). Оркестратор seed_generation володіє порядком фаз, а рольові агенти створюють чернетки, рецензують і покращують; результат експортується як каталог survivors і файли meta-review. Аудит Petri бере вибірку сідів і призначає три окремі ролі моделей: аудитор розігрує сценарій сіду, ціллю є вся обв’язка GEODE, а суддя оцінює транскрипт за вимірами в журнал Inspect. Вимірювання SIL читає цей результат, а збережене вимірювання стає доказом базової лінії для наступної генерації.Модель-аудиторрозігрує сценарій сідуБазова модель цілімодель, яку обгортає GEODEМодель-суддяоцінює весь транскриптЖурнал Inspect .evalархів · зведенняВимірювання SIL · measure.pyчитає розділ «Пошук політик»baseline snapshotсередні за вимірами · доказиhandoff pointerlatest_pointer.json · priorsseed_generation/orchestrator.pyпорядок фаз · PipelineStatecheckpoint · resumeagents/ · чернеткаSupervisor · стратегія запускуliterature_review · типово вимкненоGenerator · кандидати в сідиagents/ · рев’юProximity · дедуплікаціяCritic · рев’юPilot · необов’язково · не в smokeRanker · Eloagents/ · покращенняEvolver · покращенняMeta-reviewer · наступні priorsrun_dir/survivors/ · копії кандидатів .mdsurvivors.json · Elo · pilotmeta_review.json · state.jsonpetri/seedsвбудовані сіди · *.mdpetri/runner.pygeode audit · /audit · інструментоцінка вартості · типово пробний прогінpetri/geode_target.pyGEODE як ціль · AgenticLooppetri/judge_dimsjudge_dimensions · YAMLфайли стану поза запускомevals/seed_generationнаписання сценаріївevals/petriзапуск аудиту1запуск фаз по черзі2докази базової лінії3 попередній meta-review · latest_pointer.json · priors → agents/ · чернетка34 кандидати в сіди · agents/ · чернетка → agents/ · рев’ю45survivors · Elo6 наступна ітерація · з Critic · Meta-reviewer · наступні priors → Critic · рев’ю67 експорт survivors · agents/ · покращення → run_dir/78вказівник latest1--seed-select2вбудовані сіди3 ролі моделей · три місця · geode audit · /audit · інструмент → Модель-аудитор34діалог за сценарієм сіду5 виклики моделі · GEODE як ціль · AgenticLoop → Базова модель цілі56транскрипт7 judge_dimensions · judge_dimensions · YAML → Модель-суддя78оцінки за вимірами1оцінки за вимірами2 вимірювання · Журнал Inspect .eval → Вимірювання SIL · measure.py23оновлення базової лінії4докази базової лінії

Написання сценаріїв

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

  1. порядок фаз · PipelineStateseed_generation/orchestrator.pyзапуск · рішення: запуск фаз по черзіagents/ · чернетка

    Оркестратор володіє порядком фаз і об’єднанням стану; роботу кожної фази виконує її рольовий агент. Усередині фази робота може розгалужуватися через SubAgentManager, а субагенти не викликають рекурсивно інших (глибина 1).

  2. середні за вимірами · доказиbaseline snapshotдані: докази базової лініїagents/ · чернетка

    Generator, Critic і Evolver читають середні за вимірами, стандартні похибки й докази обраної базової лінії. Перша генерація не має базової лінії й використовує типові промпти.

  3. latest_pointer.json · priorshandoff pointerдані: попередній meta-reviewagents/ · чернетка

    Meta-review попереднього запуску залишає priors для наступної генерації та недостатньо охоплені виміри, які ця генерація має врахувати.

  4. agents/ · чернеткадані: кандидати в сідиagents/ · рев’ю

    Кандидати від Generator по черзі проходять дедуплікацію Proximity, рев’ю Critic, Pilot (необов’язковий; пропускається в smoke-запусках) і рейтинг Elo від Ranker.

  5. agents/ · рев’юдані: survivors · Eloagents/ · покращення

    Evolver покращує кандидатів із найвищим рейтингом, а Meta-reviewer підсумовує запуск у priors для наступної генерації.

  6. Meta-reviewer · наступні priorsagents/ · покращеннязапуск · рішення: наступна ітерація · з CriticCritic · рев’юagents/ · рев’ю

    Якщо задано max_iterations, після Meta-reviewer покращені кандидати знову проходять Critic → Pilot → Ranker → Evolver → Meta-reviewer. Supervisor, Generator і Proximity повторно не запускаються; типово ітерацій нуль.

  7. agents/ · покращеннядані: експорт survivorsrun_dir/

    Тексти кандидатів, що вижили, копіюються файлами в survivors/, оцінки Elo й pilot потрапляють у survivors.json, а meta-review і стан записуються окремо.

  8. meta_review.json · state.jsonrun_dir/дані: вказівник latestlatest_pointer.json · priorshandoff pointer

    Один latest_pointer.json записує, де лежать seed_pool і meta_review цього запуску. Канонічними є результати кожного запуску; вказівник — допоміжний засіб best-effort для наступного запуску, і невдалий запис лише логується. Не кожен запуск має обидва поля.

Запуск аудиту

Аудитор розігрує сід (інструкцію-сценарій), ціллю є обв’язка GEODE, а суддя оцінює транскрипт. Три ролі — окремі місця для моделей.

  1. survivors/ · копії кандидатів .mdrun_dir/дані: --seed-selectgeode audit · /audit · інструментpetri/runner.py

    Аудит бере вибірку сідів (каталог survivors, вбудовані сіди, ідентифікатори чи теги) і передає її в завдання Inspect inspect_petri/audit. Генерація сідів сама аудит не запускає.

  2. вбудовані сіди · *.mdpetri/seedsдані: вбудовані сідиgeode audit · /audit · інструментpetri/runner.py

    Вбудовані в репозиторій сіди можна обрати без змін.

  3. geode audit · /audit · інструментpetri/runner.pyзапуск · рішення: ролі моделей · три місцяМодель-аудитор

    Моделі аудитора, цілі та судді задаються окремо. Типово це пробний прогін; реальні виклики відбуваються лише після підтвердження оцінки вартості. Коли всі три ролі мають одного провайдера, додається позначка упередження одного провайдера.

  4. Модель-аудитордані: діалог за сценарієм сідуGEODE як ціль · AgenticLooppetri/geode_target.py

    Сід — це інструкція-сценарій для аудитора. Аудитор веде розмову й може створювати інструменти та результати інструментів лише тоді, коли ввімкнено target_tools.

  5. GEODE як ціль · AgenticLooppetri/geode_target.pyдані: виклики моделіБазова модель цілі

    Увесь AgenticLoop GEODE (інструменти, hooks, пам’ять) обгорнуто як один API моделі, тож об’єктом аудиту є обв’язка GEODE, а не сама базова модель.

  6. GEODE як ціль · AgenticLooppetri/geode_target.pyдані: транскриптМодель-суддя

    Суддя один раз читає повний транскрипт кожного зразка й оцінює його за вимірами.

  7. judge_dimensions · YAMLpetri/judge_dimsзапуск · рішення: judge_dimensionsМодель-суддя

    Виміри оцінювання задає обраний YAML вимірів судді. Це поведінковий аудит — вимірювання, відмінне від виконання завдань.

  8. Модель-суддядані: оцінки за вимірамиЖурнал Inspect .eval

    Журнал Inspect .eval і зведення архівуються. Збій архівування фіксується й не блокує результат аудиту.

Вимірювання → наступна генерація

SIL використовує оцінки аудиту для свого вердикту, а збережене вимірювання стає доказом базової лінії для наступної генерації сідів. Це не означає, що цей зв’язок спрацьовував автоматично в кожній кампанії.

  1. Модель-суддядані: оцінки за вимірамиЖурнал Inspect .eval

    Журнал Inspect .eval і зведення архівуються. Збій архівування фіксується й не блокує результат аудиту.

  2. Журнал Inspect .evalзапис · спостереження: вимірюванняВимірювання SIL · measure.py

    measure.py із SIL запускає аудит як підпроцес і обчислює fitness з його результату.

  3. Вимірювання SIL · measure.pyдані: оновлення базової лініїсередні за вимірами · доказиbaseline snapshot

    Ledger SIL записує збережене вимірювання як базову лінію. Генерація сідів читає ці докази, коли базову лінію обрано (автоматично чи явно).

  4. середні за вимірами · доказиbaseline snapshotдані: докази базової лініїagents/ · чернетка

    Generator, Critic і Evolver читають середні за вимірами, стандартні похибки й докази обраної базової лінії. Перша генерація не має базової лінії й використовує типові промпти.

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

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

Оркестратор фіксує порядок першого проходу й порядок повторів. Конфігурація, зареєстровані ролі й точка продовження можуть пропускати деякі фази, і не кожна кампанія виконувала всі фази. Розташування файлів стану залежить від середовища, тому шляхи не показано.

Три ролі
Сід — це інструкція-сценарій, написана людиною чи згенерована; аудитор — модель, що її розігрує, ціль — обв’язка GEODE, яка проходить аудит, а суддя — модель, що оцінює транскрипт. Оцінки й журнали — це результати судді.
Що вимірюється
Аудит Petri оцінює поведінкові виміри. Це не частка виконаних завдань і не гарантія якості продукту.