Довёл до рабочего состояния конфиг для Codex: Astra координирует, Terra и Sol пишут код. Собрал bash-скрипт, который настраивает всё в репозитории.
Но тут важно объяснить, почему я вообще так сделал.
Astra — не принципиально другой уровень на каждой coding-задаче. На части бенчмарков она близка к Sol: например, в опубликованных OpenAI результатах DeepSWE v1.1 — 74,1% против 72,7%. При этом на сложных терминальных задачах и миграциях преимущество уже заметно больше. То есть модели не одинаковые, но каждая обычная правка не становится кратно лучше от замены Sol на Astra.
И для меня основной смысл Astra — решение сложнейших задач, а не написание очередного обработчика.
Разобраться в системе. Найти причину, которую все пропустили. Определить правильные инварианты. Придумать решение, когда непонятно даже, с какой стороны подойти.
Вот на это я и хочу тратить её reasoning.
Не «напиши весь код сама», а «реши сложную задачу и организуй её реализацию».
Схема получилась такая.
🧠 Astra / medium — архитектор и координатор.
Разбирает задачу, принимает архитектурные решения, определяет границы работы и критерии приёмки. Раздаёт задачи агентам, проверяет diff и результаты тестов.
Это не диспетчер, который просто пересылает сообщения. Самую сложную интеллектуальную часть она должна разобрать сама, а исполнителям передать конкретную постановку.
🔧 Terra / medium — основной кодер.
Реализация, тесты, локальные исправления. Для поиска конкретных файлов и символов — отдельный explorer на low. Для независимой проверки — verifier на medium.
🔬 Sol / high — сложная реализация.
Concurrency, нетривиальные алгоритмы, тяжёлый debugging. Если Terra два раза не справилась — передаём Sol. Если риск очевиден сразу, не тратим попытки Terra.
Для рискованного изменения — ещё и отдельный Sol-reviewer, не автор кода.
Обычный маршрут: Astra → Terra → проверка → Astra
Сложный: Astra → Sol → проверка → независимое review → Astra
Главное правило: Astra нашла баг — не идёт «быстро сама поправлю». Формулирует проблему и возвращает исполнителю. Даже если исправление на одну строку.
Иначе разделение ролей заканчивается на первом неудобном тесте.
Все роли на каждую задачу не запускаются. Максимум три дочерних треда, по умолчанию один writer. Параллельные правки — только в независимых участках. Исполнители свои команды агентов не создают.
С effort тоже не стал экономить вслепую: основной кодер на medium, сложная реализация и review на high. Для архитектурно сложной задачи Astra можно поднять до high.
Дешёвая первая попытка ничего не стоит, если потом приходится оплачивать три переделки.
🛠 Установка из корня репозитория:
# Посмотреть планbash ~/Downloads/setup-codex-routing.sh --dry-run# Установитьbash ~/Downloads/setup-codex-routing.shНужны Bash, Git и Python 3.9+. Скрипт объединяет настройки с существующим конфигом, добавляет роли и правила в AGENTS.md, делает backup. После установки — новая сессия Codex и приложенный smoke test.
Запрет Astra менять файлы здесь — инструкция, не жёсткая sandbox-изоляция.
Проценты экономии пока не называю — сравнительных замеров нет. Меньше токенов Astra не обязательно означает меньше общего расхода. Проверять буду стоимость принятого change по всем моделям, с учётом переделок и качества.
Но сама идея для меня именно такая:
Сильнейшая модель нужна не для того, чтобы лично написать каждую строчку. Она нужна, чтобы решить то, что остальные не решили, и организовать работу остальных.
Конфиг и скрипт установки прикладываю.
https://gist.github.com/dpolishuk/b2f17580aa62c55dce99c92f58049d37