Geodi, официалният пикселен персонаж на GEODE
Обратно в залата

GEODE

Autonomous Agent Harness

От наблюдението до следващото действие.

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

2026.02.21 — present

Проектиране, преценка, проверка: Author · реализация: Claude · преглед: Codex

  • CLIПубликувано · PyPI
  • MCP сървърРеализирано

Предложението на модела да спре става завършване само чрез проверка.

При спиране с резултат за предаване моделът, който иска да спре, пак минава през проверка на завършването. Изходът е: завършено, продължаване в рамките на бюджета или изчакване на преглед; ограниченията на изпълнението, отмяната и грешките завършват в отделно състояние на спиране.

Карта на завършването · по пътищата в кода при фиксирания къмит 9e2c041
Карта на завършването в GEODEКак предложението на модела да спре става завършване. Само спиранията с резултат за предаване (natural, forced_text, actionable_partial) минават през hook PreVerify, структурна проверка и избрания съдия (по подразбиране LLM съдия, Jev, ако е избран), както и през hooks PostVerify и Stop. Успешният резултат се записва като completed; поправима грешка продължава същата заявка в рамките на бюджет по подразбиране от два опита. Неизползваем вердикт, опит грешка да се превърне в успех или изчерпан бюджет задържат кандидата и поставят сесията на пауза. Спиранията поради отмяна, ограничение и инфраструктура, както и изпълненията на control workflow, се записват без проверка.IPC · извикващ CLIотговор · състояние на сесиятаВъншен рецензентчакащ · без връзкаМодел съдияLLM judge · Jev Choiceipc_server/poller.pycontrol workflow · без публична проверкаloop/agent_loop.pyarun · ход на модела_arun_once · продължаване с поправкаloop/_guards.py · models.pyспиране с резултат · natural и др.спиране при грешка · ограничение · отмянаloop/_lifecycle.pyfinalize_and_return_asyncpolicy_action · тълкуване на вердиктабюджет за продължаване · по подразбиране 2core/hooks/public.pyPreVerify · STRENGTHENPostVerify · ACCEPT · REVISE · ESCALATEStop · CONTINUEmemory · observabilityконтролна точка · състояние на сесиятахронология · редове с решения в регистъраcore/agent/verify.pyструктурна проверка · empty_turnсемантична преценка · LLM или Jevverification_error · затваря при грешкаПроцес на средата за изпълнение на GEODEкрай на един ход на AgenticLoopцикъл · кандидати за спиранефинализиране · вердикт1 предложение за спиране · arun · ход на модела → спиране с резултат · natural и др.12кандидат за завършване3 PreVerify · finalize_and_return_async → PreVerify · STRENGTHEN34verify_turn_async5заявка за преценка6passed · rubric_misses7 Решение на PostVerify · policy_action · тълкуване на вердикта → PostVerify · ACCEPT · REVISE · ESCALATE78Stop · CONTINUE9completed · записано10отговор1passed · rubric_misses2 Решение на PostVerify · policy_action · тълкуване на вердикта → PostVerify · ACCEPT · REVISE · ESCALATE23Stop · CONTINUE4поправка · опит +11verification_error2 Решение на PostVerify · policy_action · тълкуване на вердикта → PostVerify · ACCEPT · REVISE · ESCALATE23ESCALATE · pending4вердикт · редове с доказателства1 защити · ограничения · arun · ход на модела → спиране при грешка · ограничение · отмяна12спиране при грешка · отмяна3без публична проверка4само запис · без проверка5отговор

Проверка → завършване

Само спиране с резултат за предаване минава през PreVerify → преценка → PostVerify → Stop. Нито предложението на модела да спре, нито инструкция на hook сами по себе си са завършване.

  1. arun · ход на моделаloop/agent_loop.pyданни: предложение за спиранеспиране с резултат · natural и др.loop/_guards.py · models.py

    Когато моделът отговори с текст без извикване на инструмент, ходът става кандидат за спиране natural (forced_text в последния позволен рунд). Предложението на модела да спре още не е завършване.

  2. спиране с резултат · natural и др.loop/_guards.py · models.pyданни: кандидат за завършванеfinalize_and_return_asyncloop/_lifecycle.py

    Само natural, forced_text и actionable_partial са спирания с резултат за предаване и само те продължават към публичната проверка.

  3. finalize_and_return_asyncloop/_lifecycle.pyизпълнение · решение: PreVerifyPreVerify · STRENGTHENcore/hooks/public.py

    Със STRENGTHEN hook PreVerify може само да добавя изисквания и кодове за липси. Може да направи вердикта по-строг, но никога не може да го направи успешен.

  4. finalize_and_return_asyncloop/_lifecycle.pyизпълнение · решение: verify_turn_asyncструктурна проверка · empty_turncore/agent/verify.py

    Първо идва структурна проверка (празен ход, model_action_required); непоправима структурна грешка пропуска семантичната преценка. Стари настройки като off или rule_based се свеждат до llm_judge и не могат да изключат вердикта.

  5. семантична преценка · LLM или Jevcore/agent/verify.pyданни: заявка за преценкаМодел съдия

    Избраният съдия (по подразбиране LLM съдия, Jev Choice, ако е избран) се извиква веднъж, без инструменти, за най-много 120 секунди и никога извън оставащия бюджет от време. Кандидат, който може да съдържа лични наблюдения, не се изпраща на спомагателен съдия.

  6. семантична преценка · LLM или Jevcore/agent/verify.pyданни: passed · rubric_missespolicy_action · тълкуване на вердиктаloop/_lifecycle.py

    Вердиктът съдържа успех или неуспех, кодове за липси, рефлексия за следващия опит и дали повторен опит има смисъл. Семантичният успех никога не покрива неуспешна структурна проверка.

  7. policy_action · тълкуване на вердиктаloop/_lifecycle.pyизпълнение · решение: Решение на PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    Hook PostVerify решава между ACCEPT, REVISE и ESCALATE. ACCEPT на кандидат, който не е преминал проверката, става escalate. Без решение се прилага стойността по подразбиране на средата за изпълнение (успех → accept, може да се повтори → revise, иначе escalate).

  8. policy_action · тълкуване на вердиктаloop/_lifecycle.pyизпълнение · решение: Stop · CONTINUEStop · CONTINUEcore/hooks/public.py

    Само когато няма ескалация, инструкцията CONTINUE на hook Stop може да поиска продължаване с поправка. Инструкцията на hook е вход за следващия опит, а не права.

  9. policy_action · тълкуване на вердиктаloop/_lifecycle.pyданни: completed · записаноконтролна точка · състояние на сесиятаmemory · observability

    При успех и accept продължените опити се обединяват, резултатът се записва, а сесията се отбелязва като completed.

  10. finalize_and_return_asyncloop/_lifecycle.pyданни: отговорIPC · извикващ CLI

    Връща крайния отговор при завършване; празен отговор с EXTERNAL_VERIFICATION_REQUIRED при изчакване на преглед; причината за спиране при спиране без проверка.

Поправка в рамките на бюджета

Поправима грешка продължава същата заявка. Бюджетът по подразбиране е два опита; когато се изчерпи, кандидатът чака преглед.

  1. семантична преценка · LLM или Jevcore/agent/verify.pyданни: passed · rubric_missespolicy_action · тълкуване на вердиктаloop/_lifecycle.py

    Вердиктът съдържа успех или неуспех, кодове за липси, рефлексия за следващия опит и дали повторен опит има смисъл. Семантичният успех никога не покрива неуспешна структурна проверка.

  2. policy_action · тълкуване на вердиктаloop/_lifecycle.pyизпълнение · решение: Решение на PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    Hook PostVerify решава между ACCEPT, REVISE и ESCALATE. ACCEPT на кандидат, който не е преминал проверката, става escalate. Без решение се прилага стойността по подразбиране на средата за изпълнение (успех → accept, може да се повтори → revise, иначе escalate).

  3. policy_action · тълкуване на вердиктаloop/_lifecycle.pyизпълнение · решение: Stop · CONTINUEStop · CONTINUEcore/hooks/public.py

    Само когато няма ескалация, инструкцията CONTINUE на hook Stop може да поиска продължаване с поправка. Инструкцията на hook е вход за следващия опит, а не права.

  4. бюджет за продължаване · по подразбиране 2loop/_lifecycle.pyизпълнение · решение: поправка · опит +1_arun_once · продължаване с поправкаloop/agent_loop.py

    При инструкция за поправка и само докато номерът на опита е под бюджета (по подразбиране два), същата заявка продължава. При достигане на бюджета става escalate_budget_exhausted и чака преглед.

Изчакване на преглед

Неизползваем вердикт, опит грешка да се превърне в успех или изчерпан бюджет задържат кандидата и поставят сесията на пауза.

  1. verification_error · затваря при грешкаcore/agent/verify.pyгрешка · без вердикт: verification_errorpolicy_action · тълкуване на вердиктаloop/_lifecycle.py

    Липсващ съдия, изтекъл срок или невалиден отговор става verification_error: нито успех, нито сигнал за поправка. Неизползваем вердикт никога не замества успеха.

  2. policy_action · тълкуване на вердиктаloop/_lifecycle.pyизпълнение · решение: Решение на PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    Hook PostVerify решава между ACCEPT, REVISE и ESCALATE. ACCEPT на кандидат, който не е преминал проверката, става escalate. Без решение се прилага стойността по подразбиране на средата за изпълнение (успех → accept, може да се повтори → revise, иначе escalate).

  3. policy_action · тълкуване на вердиктаloop/_lifecycle.pyизпълнение · решение: ESCALATE · pendingВъншен рецензент

    Кандидатът се пази като pending_text и се задържа от обичайните отговори, контролната точка се записва, а сесията се поставя на пауза. Никой външен рецензент не се уведомява автоматично.

  4. policy_action · тълкуване на вердиктаloop/_lifecycle.pyзапис · наблюдение: вердикт · редове с доказателствахронология · редове с решения в регистъраmemory · observability

    Хронологията получава редове с решение, доказателства и чакащи редове, а регистърът на доказателствата – ред verification_policy. Това са записи без гаранция, а не доказателство за външен ефект.

Спирания без проверка

Спиранията поради отмяна, ограничение и инфраструктура, както и изпълненията на control workflow, се записват без публична проверка.

  1. arun · ход на моделаloop/agent_loop.pyизпълнение · решение: защити · ограниченияспиране при грешка · ограничение · отмянаloop/_guards.py · models.py

    Защити като ограниченията за рундове, време, разходи и контекст, отмяната и откриването на повтарящи се грешки прекратяват хода с един елемент от затвореното множество TerminationReason. Ограничение, изключено в конфигурацията, не винаги се прилага.

  2. спиране при грешка · ограничение · отмянаloop/_guards.py · models.pyгрешка · без вердикт: спиране при грешка · отмянаfinalize_and_return_asyncloop/_lifecycle.py

    Спиранията поради отмяна, инфраструктура и ограничение нямат кандидат за проверка, затова се записват без публична проверка.

  3. control workflow · без публична проверкаipc_server/poller.pyизпълнение · решение: без публична проверкаfinalize_and_return_asyncloop/_lifecycle.py

    Когато IPC извикване поиска пропускане на публичната проверка или е активен control workflow, публичната проверка е изключена само за това изпълнение, а след него предишната стойност се възстановява.

  4. finalize_and_return_asyncloop/_lifecycle.pyданни: само запис · без проверкаконтролна точка · състояние на сесиятаmemory · observability

    Спирането без проверка също записва резултата и контролната си точка и излъчва събитията за край на сесията.

  5. finalize_and_return_asyncloop/_lifecycle.pyданни: отговорIPC · извикващ CLI

    Връща крайния отговор при завършване; празен отговор с EXTERNAL_VERIFICATION_REQUIRED при изчакване на преглед; причината за спиране при спиране без проверка.

Всички връзки с еднаква дебелина. Изберете поток, за да се откроят само неговият път и номерираните стъпки.

  • Плътна · посоката, в която текат заявките, кандидатите и резултатите
  • Прекъсната · изпълнение, решение, разрешаване, конфигуриране
  • Дълга щрих-пунктирна · записи и наблюдение, отделно от вердикта
  • Къса прекъсната · грешка или неизползваем вердикт
  • Дебела черна линия · избраният поток; числата показват реда
  • Кутия · граница на код или записи, с пътя в заглавието
  • Вътрешен етикет · компонент в тази граница
  • Прекъсната кутия · извън тази граница
  • цикъл · финализиране
  • спирания · hooks · вердикт
  • запис · записи
  • IPC вход

Начертани са само пътищата на извикване при фиксирания къмит 9e2c041. Успехът според съдията е отделен от успеха според външен бенчмарк верификатор; завършването тук е решение вътре в средата за изпълнение.

Машина за преценка
По подразбиране съди LLM съдията; Jev Choice съди само когато judgment_engine е зададен на jev. И в двата случая неизползваем съдия дава verification_error, никога успех.
Какво могат hooks
PreVerify може само да направи вердикта по-строг, PostVerify не може да пропусне неуспешен кандидат, а Stop може да поиска продължаване само когато няма ескалация.
Изчакване на преглед
Изчакването на преглед записва, че е нужно външно решение. То не уведомява никого и не означава, че резултатът е одобрен.