Вместо очередного coding agent — супервизор над Codex и Claude Code

Supervisor над Codex и Claude Code вместо очередного coding agent — в такой форме автор на Dev.to предлагает сместить фокус с «ещё одного агента» к диспетчеризации и памяти. Речь идёт о разделении control plane и execution plane между маршрутом запросов и фактическим кодированием. Публикация датирована 23 апреля 2026, 07:14 UTC; в карточке публикации указана оценка около пяти минут чтения.
Почему не дублировать «агента-программиста», если на машине уже есть Codex и Claude Code
В материале на Dev.to изначальный замысел близок к привычному образу coding agent: чтение файлов, команды, план, цикл до завершения. Дальше звучит вопрос, зачем строить «худшую версию» Claude Code и Codex, если оба уже стоят локально и в тот же срок работают сильнее, чем то, что можно было бы выпустить как единый агент-исполнитель.
Отсюда сдвиг роли: нужен не ещё один исполнитель кода, а слой, который решает, куда уйдёт запрос и в какой runtime-сессии он выполнится, удерживает контекст задачи и выводит скрытые в логах запросы на одобрение. Этот слой даёт краткое резюме по завершении цикла работы и обрабатывает сценарии вроде «повтори последнее» без ручного «перевода» со стороны человека.
Та же мысль у автора звучит метафорой: Codex и Claude Code — «мышца», недостающий элемент — «нервная система», которая ими управляет.
Control plane и execution plane: кто пишет код
В том же материале execution plane отнесён к Codex, Claude Code и любым будущим runtime, которые реально пишут файлы и запускают команды; их описывают как провайдеров, с оговоркой «это не агент» в смысле управляющего контура.
Control plane — supervisor: рассуждение, выбор исполнителя, диспетчеризация, наблюдение, отчётность. Жёсткое правило: control plane никогда не пишет код; если тянет в сторону правок в файлах, это трактуется как сигнал схлопывания плоскостей, и работу нужно передать исполнителю.
Плоскость управления не пишет код: если тянет править файлы, плоскости слиплись — задачу нужно вернуть в execution plane.
Параллельно вводится принцип Observation first: supervisor потребляет структурированные наблюдения, а не сырые логи; события от Codex нормализуются в компактные структуры (приводится пример JSON с полями вроде kind, session_id, tool, summary, risk). Полный лог при этом архивируется для аудита, но supervisor по умолчанию его не читает.
Цикл supervisor: ReAct без подмены инструментов кодирования
Supervisor в том же материале ведёт собственный ReAct loop, но инструменты цикла — не read_file / run_command, а операции dispatch и observation. Перечислены имена инструментов как заявленный каталог: start_runtime_task, continue_runtime_task, get_runtime_status, list_active_sessions, approve_pending_question, recall_memory, write_memory, summarize_task; «настоящие» coding tools остаются внутри Codex и Claude Code.
Такой расклад бьётся с тезисом из англоязычного заголовка и вступления: нужен был dispatcher, а не ещё один coder в одном агентном цикле.
Память, режимы работы и локальный контур
Память описана не как пара уровней («session» и «global»), а как четыре scope с примерами: глобальные предпочтения пользователя; workspace или проект; текущий разговор; конкретная runtime-сессия Codex или Claude Code. Каждая запись памяти должна объявлять scope, чтение фильтруется по scope; приводится пример изоляции между каналами вроде Telegram и Feishu.
Поведение по умолчанию: обычные сообщения идут напрямую в текущую сессию runtime, без вмешательства supervisor на каждый turn; supervisor включается при явном вызове (/cligate do X или отдельная вкладка ассистента). Два режима названы «Direct Runtime» и «Assistant Collaboration».
Финальный блок противопоставляет описанный подход тренду «упаковать больше executor capability в один agent loop» и задаёт аудитории риторический вопрос о границе между «один агент со всем» и разделением control/execution — без опроса и без табличных метрик.
Local-first: связка supervisor, исполнители, память и каналы работают на localhost и не «звонят домой»; исполнителей можно наблюдать локально без облачного контура для control plane — так сформулировано в первоисточнике.
Как попробовать то, что описано в посте
В разделе Quick start того же поста приведены команда, адрес интерфейса и репозиторий:
npx cligate@latest start
Веб-интерфейс — http://localhost:8081, репозиторий — https://github.com/codeking-ai/cligate.
Измеряемых бенчмарков, A/B или воспроизводимых метрик успеха в теле поста нет; качественные оценки влияния архитектуры (в том числе про latency, cost, correctness в связке со structured observations) там же изложены как оценочные суждения, без таблиц и без независимых численных измерений.
Источники
- codekingai. "I Stopped Building a Coding Agent and Built a Supervisor for Codex and Claude Code Instead" — Dev.to. URL: Dev.to (дата доступа при обогащении: 2026-04-23T22:00:00Z; дата публикации по данным карточки: 2026-04-23T07:14:00Z).
- Служебные поля той же публикации на стороне Dev.to (в том числе оценка времени чтения 5 мин., тег ленты
discuss, идентификатор записи 3539755) — по данным выгрузки ленты редактора; значения на странице при обогащении не пересчитывались.