y83 code / контроль агента

Контроль агента: что именно удерживает человек

Чем глубже агент входит в работу, тем важнее не мешать ему и при этом не терять управление. Здесь собраны слои контроля: от жизненного цикла процесса и approvals на удалённых серверах до приёмки диффа и отката релиза.

подсистем под управлением
42
вмешательство
в текущий ход
ворота
блокируют коммит
релиз
с авто-откатом

Контроль агента

Семь слоёв контроля

Каждый слой работает без правки конфигов руками: либо тумблер в интерфейсе, либо параметр хода.

Жизненный цикл

Запустить, остановить, восстановить агента и увидеть, что сервер жив: и на устройстве, и на удалённой машине.

  • процессы

Вход в ход

Модель, усилие рассуждения, режим (план или работа), цель и бюджет токенов выбираются до старта.

  • ход

Вмешательство

Остановить ход, передать уточнение на полуслове, поставить сообщение в очередь и поднять его приоритет.

  • очередь

Ограничение

Бюджет токенов, лимит вывода инструмента, отключённые инструменты, политики разрешений и песочница.

  • лимиты

Наблюдение

Что агент делает сейчас, сколько это стоит и заняло, что изменилось и что требует решения человека.

  • наблюдение

Подтверждение

Изменяющие команды на удалённых серверах проходят через approvals: точная команда, purpose, привязка к треду и TTL. Read-only команды выполняются сразу, а grant на сервер живёт десять минут и снимается вручную.

  • approvals

Разбор результата

Дифф, история ходов, git, фоновые процессы и отдельное действие «принять» — результат не становится релизом сам.

  • приёмка

Контроль агента

Что видно во время хода

Наблюдение сделано так, чтобы не читать ленту целиком: состояние хода и цена видны на одном экране.

Полоса хода и план

Этап, таймер и план хода: видно, что агент делает и что собирается делать дальше.

  • ход

Расход и бюджет

Token bar показывает расход хода относительно заданного лимита — до того, как он исчерпан. Цена хода считается в долларах, включая ступени контекста и ставки чтения и записи кэша.

  • токены

Кэш и разница

Лейн кэша привязан к треду (prompt_cache_key = client_metadata.thread_id), поэтому родитель и сабагенты не вытесняют префиксы друг у друга: на живых ходах чтение из кэша — 99,2 % входа. Экран Cache watch показывает режим сброса, пороги сторожа и счётчики ротаций, а сам сторож лечит залипшую сессию авто-ротацией и не шумит, когда ротации нет.

  • кэш

Детект зависаний и блокировка треда

После четырёх минут тишины сторож сверяет ход с сервером лёгким запросом списка ходов, не прерывая ни долгие команды, ни ожидание плана или вопроса. Если ход на сервере потерян, диалог переходит в блокировку: очередь и новые сообщения не уходят, пока человек не нажмёт Unlock.

  • watchdog
  • надёжность

Уведомления

О завершении хода, деплоя или обновления: можно свернуть приложение и вернуться к результату.

  • уведомления

Настройки MCP, скиллов и флагов пишутся в конфиг агента, а не в внутреннее состояние приложения: перезапуск ничего не теряет.

Контроль агента

Согласования, стоимость и пульт запусков

Три вещи, которые обычно теряются между агентом, сервером и счётом: кто разрешил команду, сколько стоил ход и что вообще сейчас выполняется.

Approvals знают свой тред

Заявка сохраняет точную команду и purpose, а приложение привязывает её к конкретному Codex-треду: в уведомлении и карточке видно имя треда, тап ведёт ровно в него. Заявки без привязки честно уходят в общий экран Approvals.

  • тред
  • approvals

Классификатор, а не песочница

Пайпы, ;, && и read-only циклы разбираются синтаксическим анализатором и выполняются сразу. Всё остальное — запись, sudo, rm, restart, curl — уходит на подтверждение; секреты, SSH-ключи и критические операции подтверждаются отдельно.

  • ssh
  • безопасность

Grant на десять минут

Явное «разрешить сервер на 10 минут» ускоряет серию изменяющих команд и видно в интерфейсе как временное право, а не как навсегда выданный доступ. Отзыв не требует перезапуска.

  • grant
  • ttl

Затраты по тарифам

Цена хода считается по реестру ставок, а не по нулевому cost у кастомных провайдеров. Exact, fallback, free и unknown различаются; история лежит в turn_costs, а экран «Тарифы» показывает модели без цены.

  • цена
  • тарифы

Пульт запусков

Один снимок по Codex, opencode, планировщику и сервисам: что идёт, что ждёт ответа и что упало. Недоступный источник виден как degraded, а Stop работает из уведомления и из строки.

  • runs
  • уведомления

Контроль агента

Ворота: приёмка как код

Качество описано скриптом, а не договорённостью: стадии идут подряд, и результат читается по вердикту.

Стадии

Гигиена репозитория, форматирование и vet, тесты, компиляция, юнит-тесты, проверка скиллов — каждая стадия со своим временем и хвостом лога.

  • стадии

Блокировка коммита

Красная стадия останавливает коммит. Агент не может «договориться» с проверкой: правило одинаково для него и для человека.

  • коммит

Отчёт для агента

Через инструмент агент получает вердикт и список упавших стадий — и исправляет причину, а не перезапускает проверку вслепую.

  • mcp

Отдельная приёмка

Решение «принять» остаётся за человеком: дифф и отчёт ворот — входные данные для этого решения.

  • приёмка

Контроль агента

Релиз и откат

Выкладка сделана обратимой: система предпочитает вернуться к рабочей версии, а не стоять наполовину обновлённой.

Сборка как шаг цикла

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

  • сборка

Резервная копия

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

  • откат

Проверка после подмены

Быстрый smoke-тест и health-check: если новая версия не отвечает, откат срабатывает автоматически.

  • health

Обновление движков

Для Codex и opencode — сверка версий, проверка после обновления и откат: неудачное обновление не оставляет систему в промежуточном состоянии.

  • движки

проверяемое

Что здесь можно перепроверить

  • Бюджет токенов задаётся до запуска, а не выясняется по факту.
  • Сообщение можно передать агенту, не прерывая текущий ход.
  • Коммит невозможен при красной стадии проверок.
  • Релиз, не прошедший проверку, откатывается автоматически.
  • Изменяющая команда на сервере выполняется только после подтверждения человеком.
Контроль агента Вернуться к обзору Y83 Code