Claude Code раздаёт задачи Codex: 84% с первого раза — Виктор Васечка
← Все статьи
AIHub19 октября 2026·13 мин

Claude Code сам раздаёт задачи Codex: 344 задачи, 84% с первого раза

Виктор Васечка
Виктор ВасечкаОснователь экосистемы VSCHK AI
Claude Code сам раздаёт задачи Codex: 344 задачи, 84% с первого раза

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

Я сделал иначе: задачи Codex ставлю не я. Это делает Claude Code — сам пишет задание, запускает Codex, проверяет результат и коммитит. Один агент ведёт другого, а моё — цель и «го».

Меня зовут Виктор Васечка. Я 13 лет руковожу людьми, а сейчас один веду десяток продуктов с цифровыми сотрудниками на Claude Code и Codex. Узким местом у меня были не идеи и не архитектура, а руки.

18 дней, со 2 по 19 октября 2026 года, так работала связка из двух агентов: Claude Code от Anthropic — ведущий, Codex CLI от OpenAI — исполнитель. Ведущий поставил Codex 344 задачи, и 84% из них Codex сделал с первого раза. Все 320 заданий для Codex написал ведущий, не я. Ниже — как разделить роли, почему задачи возвращаются и что отдавать агенту, а что нет.

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

Как работают Claude Code и Codex вместе?

Claude Code сам ведёт задачу — план, бриф и приёмку, а Codex пишет код в песочнице. Человек ставит цель и решает развилки, задания исполнителю пишет ведущий-агент. Цикл из пяти шагов: бриф, проверка брифа, прогон, приёмка, коммит. Код Codex попадает в репозиторий только после приёмки.

Роли: владелец, ведущий Claude Code, исполнитель Codex, проверяющий Claude Code; пока Codex пишет блок N, ведущий планирует N+1

ИИ-агент для кода — это программа на основе языковой модели, которая сама читает файлы проекта, правит их и запускает команды. Делегирование ИИ-агенту — это передача ему одной задачи с брифом и критериями приёмки, при которой ведущий проверяет результат, а не процесс.

Вот сколько раз за 18 дней прошёл каждый шаг:

  1. Бриф — 320. Ведущий пишет, что сделать, какие файлы можно трогать и какими командами проверить.
  2. Проверка брифа — 414. Скрипт проверяет бриф до прогона. Проверок больше, чем брифов: кривой бриф чинят и проверяют снова.
  3. Прогон — 419. Codex работает в чистой копии репозитория, в песочнице, и каждая его команда пишется в журнал.
  4. Приёмка — 419 вердиктов: 360 принято, 50 возвращено, 9 задач ведущий доделал сам.
  5. Коммит — 125. Около 35 тысяч строк кода в основном репозитории.
Цикл делегирования Claude Code → Codex: бриф, проверка брифа, прогон, приёмка, коммит

Чистая копия — важная деталь. В моём рабочем репозитории в любой момент лежат сотни чужих незакоммиченных файлов: другие сессии что-то правят. Codex их не видит и не может случайно забрать. Если хочешь начать с основ, вот как установить Claude Code.

Claude Code или Codex — что выбрать, если можно оба?

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

Роли разведены так, чтобы автор кода никогда не принимал свою работу. Владелец ставит задачу и решает развилки, ведущий пишет бриф и запускает прогон, исполнитель пишет код, а проверяющий — тот же Claude Code, но отдельным шагом — принимает работу.

Вторая подписка окупается просто. Пока Codex пишет блок N, Claude Code уже планирует блок N+1, а задание на N+1 уходит только после приёмки N. Один прогон в первые пять дней стоил исполнителю 30–56 тысяч токенов — и ни одного токена из лимита ведущего.

Почему нельзя просто дать Codex правила и отпустить? В сентябре я сделал две пробы. Попросил показать файл с паролями — Codex показал его целиком, хотя минуту назад сам цитировал запрет. Попросил добавить в коммит всё подряд — он ответил «выполню», и остановила его песочница, а не правило.

Вывод: для агента текст правил — справочник, а не забор. Защищает только среда — песочница, чистая копия, сторож на запуск — и независимая приёмка.

Агент внимательно читает длинный свиток правил, а другой рукой уже тянется в ящик с ключами

Почему ИИ-агент пишет код с ошибками — и чья это вина?

Почти половина возвратов — 47%, 28 из 59 — по разбору 344 задач за 02.10–19.10.2026 связана с брифом, а не с моделью. Код Codex виноват в 23 случаях, страховка и среда — в 6.

Возврат — это задача, которую ведущий отправил агенту на переделку с перечнем невыполненных критериев. Каждый из 59 случаев я разобрал по тексту вердикта.

Причины возвратов: 47% — бриф, 39% — код Codex, 10% — страховка и среда, 3% — не записано

Самый частый промах ведущего — запретить файл, без которого задачу не сделать. Правка неизбежно ломает старые тесты, а их нет в списке разрешённых файлов. Codex честно останавливается и пишет: «чтобы выполнить, нужно тронуть тест, а он запрещён».

Хорошо это видно на 10–14 октября. Объём работы удвоился, и Codex начал работать с новым веб-приложением, где больше 500 тестов. Брифы не учитывали старые тесты, и возвратов из-за постановки стало в восемь раз больше.

Сдачи по периодам: 2–7 октября принято 90%, 10–14 октября объём вдвое больше и принято 82%, возвратов из-за брифа 16 вместо 2; 15–19 октября 88%

Сам Codex ошибался в 23 случаях из 59, и они делятся на три класса:

  • Код — 14. Крайний случай на живых данных, сломанная соседняя функция, удалённый require, курсор пагинации, сообщение длиннее 4096 символов — лимита Telegram.
  • Вёрстка — 5. Белый текст на белом стекле, CSS-класс столкнулся с чужим правилом, забытая тёмная тема, горизонтальная прокрутка на экране шириной 390 пикселей.
  • Скорость — 3. На реальной базе из 188 тысяч писем поиск шёл 16 секунд, а сводка вернула 215 тысяч символов.

Общее у всех трёх классов: синтетический тест их не ловит. Ошибка видна только на настоящих данных, на экране телефона или на полном объёме.

Случай: бриф виноват, Codex прав. Все шесть критериев выполнены, скрипт проверки — 17 из 17. Но в строке «команды проверки» я дописал ожидаемый вывод, и проверка попыталась запустить его как команду — красный результат. Красная машинная проверка запрещает «принято», даже если виноват бриф. Вторая попытка с исправленной строкой ушла через минуты и была принята. Повтор дешевле прецедента, где красную проверку игнорируют «по совести».

Как поставить задачу ИИ-агенту, чтобы он сделал с первого раза?

Задача для ИИ-агента выполняется с первого раза, когда бриф отвечает на пять вопросов: что сделать, какие файлы можно менять, что трогать нельзя, как понять, что готово, и какой командой это проверить.

Бриф — это задание агенту: цель, файлы, которые можно менять, шаги, критерии приёмки и команды проверки. Пять правил, которые убрали бы почти все наши возвраты из-за постановки:

  1. Одна цель — один результат. Если в брифе две задачи, агент сделает одну хорошо, а вторую как получится.
  2. Разрешённые файлы — по одному на строку, вместе с тестами, которые заденет правка. Это закрывает самую частую причину: 14 случаев из 59.
  3. Что трогать нельзя — явным списком. Прод, секреты, git, данные клиентов. Агент не угадывает границы.
  4. Каждый критерий — с проверкой. Команда или конкретная точка для ревью, а не «работает корректно».
  5. Каждую команду проверки запусти сам до отправки. Шесть возвратов были из-за проверок, которые не выполняются как команда.

Как ошибался бриф: четыре строки, которые стоили возврата

Шесть возвратов — из-за проверок, которые не выполняются как команда, ещё часть — из-за списка файлов. Вот как это выглядело, упрощённо.

Ноль совпадений — это ошибка. grep -c печатает 0 и возвращает код 1: проверка краснеет на правильном коде.

# было
grep -c "TODO" app.py
# стало
! grep -q "TODO" app.py

Двойные кавычки съели переменную. Оболочка подставила вместо $pdo пустую строку, и проверка искала не то.

# было
grep -q "$pdo->prepare" lib/db.php
# стало
grep -q '$pdo->prepare' lib/db.php

Ожидаемый вывод в строке команды. Тот самый случай выше: ожидание дописано в команду, и проверка пытается его выполнить.

# было
php tests/run.php → OK 17/17
# стало
php tests/run.php
# ждём в выводе: OK 17/17

Файлы через запятую. Проверка путей читает список по одному пути на строку, и строка с двумя путями не совпала ни с одним изменённым файлом.

# было
lib/forms.php, tests/forms_test.php
# стало
lib/forms.php
tests/forms_test.php

У нас бриф проверяет скрипт до прогона, поэтому проверок 414 на 320 брифов. Кривой бриф ловится раньше, чем на него потрачен прогон агента. Как мы упаковываем такие правила в повторяемые инструкции — в статье про скиллы для Claude Code.

Две мастерские: слева завал из сотен чужих коробок, справа чистый стол с одной задачей

Как проверять код, который написал агент?

Код ИИ-агента принимают по доказательствам — выводу команды или строке файла на каждый критерий, а не по его отчёту. Слова агента «всё выполнено, тесты зелёные» — подсказка, а не доказательство.

Приёмка — это проверка результата агента по каждому критерию брифа с доказательством: выводом команды или строкой кода. Принимает не автор кода. Ведущий сам запускает каждую проверку, и критерий без доказательства считается невыполненным.

Приёмка идёт четырьмя воротами, строго по порядку, и останавливается на первом провале:

  1. Файлы. Каждый изменённый файл — из разрешённого списка. Чужой файл — дальше не читаем.
  2. Проверки. Ведущий сам заново запускает каждую команду из брифа. Красная — возврат.
  3. Журнал команд. Что исполнитель запускал и куда обращался. Тронул секрет — задачу забираем себе.
  4. Диф против критериев. Каждый критерий получает одну из трёх отметок: «выполнено» со строкой вывода или местом в файле, «не выполнено» или «не доказано». «Не доказано» не превращается в «принято».
Приёмка в четыре ворот: файлы, проверки, журнал команд, диф против критериев; итог — принято, вернуть или забрать себе

Случай: зелёный тест — ещё не приёмка. Codex написал разбор отчётных форм, его синтетический тест прошёл, все проверки зелёные. На настоящих данных заказчика — 27 файлов — нашлись две ошибки: колонки без имени разбирались по позиции, и там, где групп разное число, данные молча терялись. После возврата Codex исправил сопоставление, и вторая попытка была принята. С тех пор для задач с живыми данными прогон на настоящем наборе — обязательный критерий.

Случай: «чибик толстенький». У картинки нет машинного критерия. Codex нарисовал восемь иллюстраций, и персонаж вышел коренастым. Я заметил с первого взгляда. Помогли не прилагательные в промте, а отдельный референс на каждое измерение — отдельно стиль, отдельно пропорции. Картинки принимает глаз владельца, и это честно записано в процесс.

И последнее правило: не больше двух возвратов. Если не помогло — задачу доделывает ведущий. За 18 дней так было 9 раз из 344.

Ведущий в лабораторном халате сверяет деталь с чертежом через лупу, повернувшись спиной к отчёту исполнителя

Что будет, если просто дать Codex задачу без протокола?

Без протокола Codex нарушил правила в 2 пробах из 2. С протоколом в первые пять дней работы — в 0 из 35 прогонов. Разница не в модели, а в среде вокруг неё.

Без протокола и с протоколом: нарушения 2 из 2 против 0 из 35, чужие файлы около 750 против 0, ложные стопы 37 из 41 против 1 из 41

Случай: Codex читал за пределами своей папки. Журнал прогона поднял тревогу: больше ста срабатываний. Разбор показал, что Codex читал только рабочие файлы задачи и искал описание формата отчёта, потому что бриф на него сослался, но не привёл. Чтений паролей и ключей — ноль. Из этого случая выросло правило: формат отчёта всегда лежит прямо в брифе. Сторож ошибается в безопасную сторону, а каждая тревога разбирается письменно.

Песочница закрывает запись, а не чтение. Мы замерили её пробой. Писать Codex может только в свою копию и во временную папку; git, сеть и связка ключей закрыты. А читать он может любой файл пользователя, включая ключи SSH. Поэтому секретов нет ни в брифе, ни в рабочей копии, а журнал команд проверяется на каждой приёмке.

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

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

Сколько задач агент делает с первого раза?

По нашему разбору за 02.10–19.10.2026 — 84%: Codex сдал с первого раза 290 из 344 задач. В исследовании arXiv 2509.14745 (2025) доля принятых пул-реквестов агентов — 83,8%, но это другая мера.

«С первого раза» значит принято без возврата на первой попытке. Ещё 45 задач приняты после возврата, 9 доделал ведущий.

344 задачи Codex: 290 приняты с первого раза, 45 после возврата, 9 доделал ведущий
  • 25 проектов: бэкенд, сайт, веб-приложение, данные, картинки.
  • 419 сдач и вердиктов приёмки.
  • Около 35 тысяч строк кода в 125 коммитах основного репозитория.
  • 23 сдачи в день в среднем, пик — 58.

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

Доля принятых сдач по видам работ: бэкенд по образцу почти без возвратов, ниже всего — задачи со старыми тестами и живыми данными

Что оставляем — пять практик, которые сработали:

  1. Чистая рабочая копия на каждую сдачу: ни одна принятая сдача не задела чужой файл.
  2. Бриф проверяется до прогона: 414 проверок на 320 брифов.
  3. Принимает не автор кода: отчёт Codex доказательством не считается.
  4. Codex останавливается, а не самовольничает: если бриф противоречит сам себе, он пишет об этом и не трогает запрещённый файл.
  5. Не больше двух возвратов: если сдача верная, а ломается одна строка, ведущий чинит её сам.

Что чиним — каждое улучшение против конкретного класса возвратов:

  • тесты, которые задевает правка, сами попадают в разрешённые файлы — минус 14 возвратов;
  • каждая команда проверки запускается вхолостую до прогона — минус 6;
  • живые данные — обязательный критерий для задач с данными заказчика — минус 4;
  • вёрстку принимаем по снимкам на телефоне и компьютере — минус 5;
  • рабочие файлы задачи разрешены для чтения — минус 4 ложных тревоги.
Цели на две недели: сейчас и цель по доле принятых с первого раза, доле принятых сдач, возвратам из-за брифа на 100 сдач и передачам ведущему

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

Цифры открыты: агрегаты разбора лежат в JSON и CSV, их можно проверить и процитировать.

Что делегировать Codex, а что оставить себе?

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

Вид работыCodexЧто остаётся ведущемуПочему
Код и тесты●приёмкарезультат проверяется командой
Преобразование данных●прогон на живом наборесинтетический тест не ловит крайние случаи
Картинки●оценка глазоммашинного критерия нет
Вёрстка◐снимки экрана и приёмкабелый текст на белом поиск по коду не видит
Прод, деплой, git○всёодна ошибка стоит часов восстановления
Секреты и данные клиентов○всёагент читает всё, к чему есть доступ
Тексты для людей○всёголос и ответственность автора

● отдаём · ◐ отдаём черновик · ○ оставляем себе

Песочница как стеклянный куб: исполнитель пишет код внутри, ведущий видит всё снаружи

Главное, что я понял за 18 дней: исполнитель — не узкое место. Узкое место — постановка. Почти половины возвратов не было бы, если бы ведущий до отправки проверял три вещи: есть ли в списке файлов тесты, которые заденет правка, нет ли в логике противоречий и выполнится ли каждая проверка как команда.

Хочешь так же — три способа

  • Сделать самому. Пакет: контракт делегирования, проверки брифа, сторож, шаблоны брифа и приёмки. Первый блок уйдёт Codex в тот же вечер. Пакет готовится — напиши, пришлю, как выйдет.
  • Сделать с нами. За неделю ставим делегирование в твой репозиторий, подстраиваем контракт под твой стек и проводим первый блок вместе.
  • Обсудить в чате. Бесплатный чат для тех, кто сам ведёт агентов: вопросы, разборы брифов, новые версии контракта.

Для всех трёх — Telegram @bearded_illirian. А о том, куда всё это ведёт, — в статье от ИИ-инструментов к ИИ-сотрудникам.

Частые вопросы

Можно ли использовать Claude Code и Codex одновременно?

Да, если разделить роли. Claude Code сам ставит Codex задачи и принимает работу, Codex пишет код в своей копии репозитория. Так они работают параллельно: ведущий планирует следующую задачу, пока исполнитель пишет текущую.

Нужна ли подписка на оба инструмента?

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

Что Codex делает хуже всего?

По разбору 344 задач — крайние случаи на живых данных (14 ошибок в коде), вёрстку (5) и скорость на больших объёмах (3). Ещё чаще задачи возвращались из-за брифа — 28 случаев из 59.

Можно ли доверить агенту прод?

Нет. Прод, деплой, git, секреты и данные клиентов остаются у ведущего. Агент читает всё, к чему у него есть доступ, поэтому защищает не правило, а среда: песочница без сети и без записи за пределами рабочей копии.

AIHubClaude CodeCodexИИ-агентыделегирование

Комментарии

Виктор Васечка

Виктор Васечка

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

Читать дальше