GEODE
Autonomous Agent Harness
Від спостереження до наступної дії.
Локальна обв’язка автономного агента, якій можна доручити дослідження, роботу з файлами та заплановані завдання.
Змінювати одну політику за раз; вимірювання тримати незмінним.
Окремий цикл, що працює поза обв’язкою. Від базової лінії він застосовує одну типізовану зміну політики, а той самий аудит Petri і поріг вирішують між KEEP і відновленням.
Одна зміна → аудит
За фіксованого контракту запуску змінюється одна дозволена політика, і GEODE проходить аудит тим самим апаратом. Це не робочий продукт, що переписує сам себе.
Схвалення операторазапуск · рішення: схваленняконтракт запуску · моделі · бюджет
program.mdЗапуск починається лише після схвалення живих викликів і фіксованого бюджету. Без схвалення лише готують контракт і перевіряють його офлайн.
контракт запуску · моделі · бюджет
program.mdзапуск · рішення: контракт запускуцикл із фіксованим бюджетомtrain.pyРевізії сідів і рубрики, моделі ролей і джерела облікових даних, налаштування вимірювання, бюджети ітерацій, часу й вартості, політика просування та умови зупинки фіксуються до запуску.
цикл із фіксованим бюджетом
train.pyзапуск · рішення: запит на одного кандидатамутатор · один кандидатloop/mutateОдна підкріплена доказами гіпотеза змінює одну дозволену поверхню політики.
7 поверхонь · без гіперпараметрів
loop/mutateдані: зміна політики · ID мутаціїполітика у файліstate/policiesЗмінюватися можуть лише сім поверхонь: промпт-обгортка, політика інструментів, поради щодо декомпозиції, рефлексія, метадані каталогу навичок, контракт агента (role, system_prompt, tools), а також описи інструментів і підказки. Зміни гіперпараметрів відхиляються і під час розбору, і під час застосування. Застосування політики, повторне вимірювання й необов’язковий коміт — окремі кроки, тож застосування саме по собі не є аудитом.
пул сідів · рубрику зафіксовано
prepare.pyзапуск · рішення: сіди · рубрику зафіксованопідпроцес аудиту · фіксований тайм-аутmeasure.pyprepare.py — фіксований еталон для пулу сідів і рубрики; кандидати його не змінюють. Зміна модуля вимірювання змінює саме вимірювання, а не систему, що тестується.
політика у файлі
state/policiesдані: обрана політикаOVERRIDE для кожної політики · STRICTmeasure.pymeasure.py читає поточний обраний файл політики й передає його в середовище аудиту.
OVERRIDE для кожної політики · STRICT
measure.pyзапуск · рішення: шляхи перевизначення для кожної політикиcore · завантажувачі політикmeasure.py передає підпроцесу аудиту шлях обгортки та шляхи перевизначення й strict для кожної політики, а відповідний завантажувач політик середовища виконання читає кожен із них. Обгортка (GEODE_WRAPPER_OVERRIDE → system_prompt) — лише одна гілка; додаткові ключі середовища не розширюють сім змінюваних поверхонь. Сам лише відредагований файл не доводить, що кандидат дійшов до цілі; це підтверджує діагностика в доказах аудиту.
підпроцес аудиту · фіксований тайм-аут
measure.pyзапуск · рішення: audit subprocessАудит PetriАудит виконується з фіксованим тайм-аутом і бюджетом, які ніколи не змінюються посеред порівняння. Відсутній вивід — це діагностична прогалина, а не нульова оцінка.
Аудит Petriдані: діалог аудитуcore · завантажувачі політик
Аудитор спілкується з GEODE за сценарієм сіду, а суддя оцінює транскрипт.
Вердикт → зберегти · відновити
Порівняно з базовою лінією того самого контракту, критичні регресії та правило просування вирішують KEEP; відхилену зміну відновлюють до записаного попереднього значення.
Аудит Petriдані: оцінки за вимірамикритична регресія · штрафи
fitness.pyОцінки надходять разом із пропущеними вимірами й кількістю зразків. Невиміряний вимір не трактується як спостереження.
baseline · provenance
ledger.pyдані: baseline · provenanceкритична регресія · штрафиfitness.pyПорівняння використовує лише базову лінію з тим самим записаним контрактом і епохою. Нова гілка Git не ізолює стан базової лінії.
критична регресія · штрафи
fitness.pyдані: fitness · причини регресії_should_promote · KEEPgate.pyСпершу перевіряються регресії критичних вимірів і допоміжні штрафи, потім тест запасу чи цільового виміру. Сам лише додатний скаляр ніколи не дає просування.
_should_promote · KEEP
gate.pyдані: KEEP · наступна базова лініяbaseline · provenanceledger.pyЗбережений кандидат стає наступною базовою лінією. Локально збережений кандидат — це не злиття в репозиторій і не реліз.
_reject_and_revert
gate.pyзапуск · рішення: REJECT · відновити попереднєполітика у файліstate/policiesДля кандидата, створеного runner, відновлюється розділ політики, записаний під його ID мутації, а невдале відновлення позначається. Ручні зміни автоматично не відновлюються, а невизначене відновлення зупиняє наступного кандидата.
_should_promote · KEEP
gate.pyзапис · спостереження: результат · рядок вердиктуresults · рядки мутаційledger.pyВимірювання, вердикт і походження записуються один раз як рядки результатів; історичні рядки ніколи не переписуються.
Контроль · повторні вимірювання
Запуск June 2026: гілка never без змін і базова лінія K=5 окремо виміряли шум аудиту, а KEEP за одиничним аудитом перевірили повторними вимірюваннями.
run-2606-broken-tool-useзапуск · рішення: три гілкицикл із фіксованим бюджетом
train.pyЗапуск June 3–4, 2026 відокремив дрейф від ефекту мутації трьома гілками: never (без змін), random (випадкове прийняття) і gate (прийняття за вердиктом). Ціллю був GPT-5.5; аудитором і суддею — Claude Opus 4.8.
базова лінія gen-0 · середнє 5 аудитів
run-2606-broken-tool-useдані: базова лінія із середнього K=5baseline · provenanceledger.pyБазовою лінією gen-0 було середнє п’яти аудитів (Petri broken_tool_use, менше — краще, середнє 2.667).
гілка never · контроль без змін
run-2606-broken-tool-useзапуск · рішення: вимірювання без змінпідпроцес аудиту · фіксований тайм-аутmeasure.pyГілка never дрейфувала до середнього 3.38 без жодної зміни політики (10 аудитів, менше — краще): прямий доказ того, що шум аудиту перевищував ефект мутації.
--replicate K · повторне вимірювання
train.pyзапуск · рішення: --replicate Kпідпроцес аудиту · фіксований тайм-аутmeasure.pyТого самого кандидата вимірюють ще K разів за тих самих умов, щоб відсіяти щасливий одиничний аудит.
replicate · повторне вимірювання одного KEEP
run-2606-broken-tool-useзапуск · рішення: повторне вимірювання → відкат_reject_and_revertgate.pyКандидат, збережений за одиничним аудитом gate (1.6), у повторних вимірюваннях показав 3.0–3.8, гірше за базову лінію, тож відновлено чемпіона 2.667. Висновок запуску — явного покращення немає.
Усі зв’язки однакової товщини. Оберіть потік, щоб підсвітити лише його шлях із пронумерованими кроками.
- Суцільна · напрямок, яким рухаються запити, кандидати й результати
- Штрихова · запуск, рішення, авторизація, налаштування
- Довга штрихпунктирна · записи й спостереження, окремо від вердикту
- Товста чорна лінія · обраний потік; номери показують порядок
- Рамка · межа коду чи записів, шлях у заголовку
- Внутрішня плашка · компонент у цій межі
- Штрихова рамка · поза цією межею
- цикл · запуск вимірювання
- контракт · вердикт
- політика · записи
- зміна · ціль аудиту · запис запуску
Драйвер SIL у GEODE називається autoresearch; його структура prepare/train/program і фіксований бюджет запозичені з autoresearch Karpathy. Ваги моделей не змінюються, а апарат і бюджет залишаються фіксованими під час порівняння.
- Що можна змінювати
- Сім поверхонь: промпт-обгортка, політика інструментів, поради щодо декомпозиції, рефлексія, метадані каталогу навичок, контракт агента, а також описи інструментів і підказки. Оцінювач, бюджет, сіди й рубрика залишаються фіксованими під час порівняння.
- Обсяг запису запуску
- Значення run-2606 — це середні Petri broken_tool_use того запуску (менше — краще). Вони не є доказом накопиченого покращення SIL чи узагальнення.