GEODE
Autonomous Agent Harness
Від спостереження до наступної дії.
Локальна обв’язка автономного агента, якій можна доручити дослідження, роботу з файлами та заплановані завдання.
Decision Offloading w. Jev
Які з проміжних рішень, що агент ухвалює посеред завдання, можна передати Jev — моделі лише для рішень? Це дослідження перевіряє, чи зберігається незалежно перевірена якість завдань після такої передачі, враховуючи підготовку, повторні рішення, виправлення й фінальну передачу. Ранні пілоти не вдавалося пояснити самою лише заміною виклику рішення, тому контракт входу, контракт рішення, ймовірнісну політику та споживання з боку агента виконання розділили на окремі експерименти.
Середовище виконання · фінальний вердикт
Якщо обрано Jev, фінальна верифікація один раз викликає Jev з одним питанням Choice, і проходить лише прийнятий вердикт supported.
judgment_engine · llm | jev
core/config/judgment.pyзапуск · рішення: вибір маршрутуфінальний вердикт · одне питання Choicecore/agent/verify.pyМаршрут Jev використовується лише тоді, коли judgment_engine має значення jev (типово llm). provider auto обирає TypeSafe, потім OpenRouter — той, для якого є ключ; без ключа лишається маршрут LLM judge. Це не fallback, що повторює невдалий запит деінде.
фінальний вердикт · одне питання Choice
core/agent/verify.pyдані: запит · кандидат · спостереженняSystemOne · один виклик · без fallbackadapters/typesafe.pyОригінальний запит і кандидата очищують від чутливих даних і обмежують за довжиною, а потім надсилають разом зі спостереженнями інструментів як одне питання Choice (supported, contradicted, insufficient_evidence). Виклик рішення не отримує інструментів (allow_tools=False). Рішення, якому потрібні зображення, до Jev не надсилається й стає verification_error.
SystemOne · один виклик · без fallback
adapters/typesafe.pyдані: один виклик SystemOneTypeSafe SystemOneОдин виклик — напряму до TypeSafe або через OpenRouter, без переходу до іншого провайдера. Jev ніколи не використовується як коренева модель генерації тексту.
приймання · допуск суми 1e-5
adapters/typesafe.pyдані: прийнятий Choiceпроходить лише supported · лише текстcore/agent/verify.pyВідповідь використовується лише після перевірки приймання за типом, діапазоном і сумою ймовірностей (допуск 1e-5). Проходить лише supported; contradicted та insufficient_evidence стають сигналом повтору з фіксованою наступною перевіркою. Відповідь, що не є end_turn або не проходить приймання, стає verification_error, а це не сигнал повтору (should_retry=False). Оцінка — бінарна проєкція, а не відкалібрована ймовірність.
проходить лише supported · лише текст
core/agent/verify.pyдані: passed · reflectionPostVerify · політика Stoploop/_lifecycle.pyВердикт іде до політики PostVerify і Stop з розділу «Завершення». Вердикт — вхід для цієї політики, а не повноваження; коли він чекає на рев’ю, кандидат лишається тільки як pending_text, а фінальна відповідь порожня, тож нічого не передається.
PostVerify · політика Stop
loop/_lifecycle.pyзапис · спостереження: рядки вердиктівtimeline · рядки рішень ledgermemory · observabilityРішення вердиктів записуються в timeline і evidence ledger: це записи середовища виконання, окремі від дослідницьких артефактів.
Середовище виконання · рефлексія
Той самий вибір керує класифікацією доказів у рефлексії; речення з наступною перевіркою задає код.
judgment_engine · llm | jev
core/config/judgment.pyзапуск · рішення: той самий вибіррефлексія · класифікація доказівloop/_reflection.pyТой самий вибір застосовується до рефлексії.
рефлексія · класифікація доказів
loop/_reflection.pyдані: класифікувати доказиSystemOne · один виклик · без fallbackadapters/typesafe.pyРефлексія використовує Jev, щоб класифікувати обмежені докази, і додає наступну перевірку, визначену кодом. Вона не змінює гіпотез переконань чи самовпевненості.
SystemOne · один виклик · без fallback
adapters/typesafe.pyдані: один виклик SystemOneTypeSafe SystemOneОдин виклик — напряму до TypeSafe або через OpenRouter, без переходу до іншого провайдера. Jev ніколи не використовується як коренева модель генерації тексту.
приймання · допуск суми 1e-5
adapters/typesafe.pyдані: класифікаціярефлексія · класифікація доказівloop/_reflection.pyЛише прийнята класифікація оновлює стан рефлексії; у разі збою наступний раунд повторює спробу з того самого попереднього стану.
Дослідження · фіксована панель U3
Без actor рішення Jev і Astra щодо того самого стану й питання порівнювали попарно.
Astra · Jev · те саме питання
U3 · панель фіксованих станівдані: Рішення JevTypeSafe SystemOneU3 (коміт оригінального експерименту 2f2b494): 120 фіксованих станів · 27 кластерів джерел · 240 викликів. Кожен стан і питання надходили до Jev і Astra однією парою; без actor, інструментів чи Harbor.
Astra · Jev · те саме питання
U3 · панель фіксованих станівдані: Рішення AstraAstra: суддя · модель actorПравильно на тій самій вибірці: Astra 90/120, Jev 84/120; медіана на виклик 10.446 s проти 0.253 s. Це лише затримка виклику рішення, а не час виконання завдання чи економія коштів.
U3 · панель фіксованих станівдані: результати панелі · звітЗвіт про дослідження Jev
Результати точності й затримки U3 наведено в публічному технічному звіті. Чи входить ця панель до публічного пакета E2E, тут не стверджується.
Дослідження · запуски E/I
З Astra як actor змінювався лише маршрут рішення, а незалежний оракул правил окремо перевіряв результати й передачу.
Astra як actor · інструменти · виправлення
E/I · Harbor 0.22дані: генерація · інструменти · виправленняAstra: суддя · модель actorВ E/I на Harbor 0.22 actor Astra відповідає за генерацію, виклики інструментів і виправлення; змінюється лише маршрут рішення.
маршрут судді · Astra · Jev · Jev-first
E/I · Harbor 0.22дані: маршрут рішення про завершенняTypeSafe SystemOneE7 (коміт оригінального експерименту 1f65534): 12 авторських синтетичних завдань × 3 конфігурації × 2 запуски = 72 запуски, 24/24 на конфігурацію. Конфігурація Jev-first мала 0/24 фактичних fallback, тож її ефект не виміряно.
E/I · Harbor 0.22запис · спостереження: незалежна перевіркаправильність · передача окремо
rule oracleНезалежний оракул правил перевіряє фінальний результат, а фактичну фінальну передачу рахують окремо. В 11 постфактум-парах перерваного U8n кожен кандидат пройшов оракул, але передача становила Astra 11/11 і Jev Noul 0/11.
E/I · Harbor 0.22дані: збій · родовід виправленьE2E-DATA · хеші джерела й публічні
jev-v3-20260927Публічний пакет E2E зберігає родоводи підготовки, збоїв і виправлень, а хеші джерела й публічної копії тримає окремо. Очищена публічна копія не замінює валідації незмінного джерела.
REPRODUCE · model-free
jev-v3-20260927дані: перерахунок без моделіЗвіт про дослідження JevПерерахунок показників зі збережених відповідей і новий запуск — різні операції. Звіт — публічний технічний звіт, а не рецензована стаття.
Усі зв’язки однакової товщини. Оберіть потік, щоб підсвітити лише його шлях із пронумерованими кроками.
- Суцільна · напрямок, яким рухаються запити, кандидати й результати
- Штрихова · запуск, рішення, авторизація, налаштування
- Довга штрихпунктирна · записи й спостереження, окремо від вердикту
- Товста чорна лінія · обраний потік; номери показують порядок
- Рамка · межа коду чи записів, шлях у заголовку
- Внутрішня плашка · компонент у цій межі
- Штрихова рамка · поза цією межею
- цикл · обв’язка виконання
- вибір маршруту · вердикт · оракул
- записи · публічний пакет
- транспорт · панель рішень
Верхня й нижня частини — різні системи. Дослідницькі конфігурації й результати не всі ввімкнені в нинішньому шляху середовища виконання; єдиний спільний зв’язок — обидві викликають ту саму модель Jev (jev-1.13.0).
- Приймання в середовищі виконання
- Середовище виконання тримає суворий допуск суми ймовірностей 1e-5. Викликачі оцінювання передають власний записаний допуск замість того, щоб послаблювати парсер середовища виконання.
- Межі дослідження
- U3 вимірює лише виклики рішень; E/I охоплює actor і виправлення. Їхні знаменники ніколи не змішуються, а 11 пар U8n — постфактум-аналіз перерваного дослідження.
Три контракти рішень
Choice
- Повертає
- Імовірність для кожної категорії чи варіанта
- Вирішує
- Завершення; намір і ціль запиту
Noul
- Повертає
- P(true) для кожної умови
- Вирішує
- Суперечність; брак доказів
Score
- Повертає
- Очікуване значення й розподіл на фіксованій порядковій шкалі
- Вирішує
- Рейтинг згенерованих кандидатів
Очікуване значення розміщує кандидата на шкалі; як упевненість воно не використовується.
Оцінювання й підключення
Кожен контракт оцінювали на власній фіксованій панелі входів, а деякі підключили до шляху виконання експериментальної обв’язки, щоб побачити, як агент виконання споживає рішення. На карті вище дослідницька частина показує ці запуски; частина середовища виконання — це опційний шлях у нинішньому GEODE.
Спостереження, що змінили дизайн
- I5 → I6 · контракт входу
- Трасування спільного збою передачі показало, що вхід рішення не містив контракту завдання й описував спостереження інструментів того самого запиту як минулий контекст
- I6 передав 6/6 в окремому запуску з переглянутим кодом і новим обліковим записом
- U3 · ті самі 120 пар станів
- Медіана на виклик Astra 10.446 s · Jev 0.253 s; правильно на тій самій вибірці 90/120 · 84/120
- Швидкість і точність зважують разом для кожного рішення, щоб визначити обсяг делегування
- U2 · імовірності
- Імовірності Jev були краще відкалібровані за величиною, але Astra надійніше ставила свої хибні рішення попереду
- Калібрування й відбір помилок вимірюються окремо, а поріг заморожено на розбитті selection
- U6a · намір і ціль
- На 40 сімействах, написаних дизайнером, Jev 216/220 · Astra 220/220, що відповідає попередньо зареєстрованому запасу −5 pp
- Фіксовану класифікацію наміру й цілі звужено як наступного кандидата на застосування
- U8n · передача
- 11 постфактум-пар із перерваного запуску: виправлені кандидати пройшли оракул в обох гілках; передача Astra 11/11 · Jev Noul 0/11
- Рішення про брак доказів блокували правильну передачу; нинішня конфігурація Noul не має підстав бути єдиним суддею передачі