Auto-review в Codex: как ускорить согласования и не расширить доступ
В длинной задаче Codex может часто останавливаться на approvals. Нужно выйти за sandbox, открыть новый домен, использовать tool с побочным эффектом, записать файл не там, куда разрешено. Каждый раз человек видит запрос и решает: можно или нельзя.
Это правильно, но иногда превращается в шум. Человек уже согласовал общий способ работы, а его всё равно дёргают на похожих технических паузах. Возникает соблазн выключить согласования совсем.
Auto-review нужен как более тонкий вариант. Не снять границы, а передать часть проверок отдельному reviewer-agent. Главный Codex продолжает работать в тех же рамках, но некоторые запросы на пересечение границы сначала смотрит другой агент.
Почему Auto-review не равно полный автопилот
Главная ошибка — думать, что Auto-review делает Codex свободнее. Нет. Он не должен открывать новые права сам по себе.
Если раньше агент не мог выйти в сеть, Auto-review не включает ему интернет. Если sandbox не позволял писать в соседний каталог, Auto-review не делает этот каталог разрешённым. Если protected paths закрыты, они не становятся открытыми.
Auto-review меняет не границу, а reviewer. Вместо того чтобы каждый eligible approval приходил человеку, Codex может отправить его на отдельную проверку. Reviewer смотрит конкретный запрос и решает: действие безопасно в данном контексте или нужно отказать.
Это похоже не на “включить автопилот”, а на “поставить дежурного у двери”. Дверь остаётся там же.
Что документация говорит об Auto-review
В официальной документации OpenAI Codex Auto-review описан как замена ручного approval на отдельного reviewer-agent у sandbox boundary. Main agent продолжает работать внутри того же sandbox, с той же approval policy и теми же лимитами файловой системы и сети.
Auto-review работает только там, где approvals интерактивны: например, при approvalpolicy = "on-request" или granular policy, которая всё ещё выводит нужную категорию запроса. Если стоит approvalpolicy = "never", то review просто нечего проверять.
Документация перечисляет типы ситуаций, где Auto-review может включиться: escalated shell-команды, blocked network requests, правки файлов вне allowed writable roots, некоторые MCP или app tool calls, Browser Use доступ к новому сайту или домену.
Обычные действия, которые уже разрешены текущим sandbox mode и policy, Auto-review не трогает. Они продолжают выполняться без дополнительной проверки.
Ещё важная часть: если reviewer отказывает, это не просто техническая ошибка. Main agent получает сигнал искать materially safer path или остановиться и спросить человека. Обходить отказ нельзя.
Когда его стоит включать
Auto-review уместен, когда работа длинная, approvals повторяются, а человек уже понимает общий риск-контур.
Например, Codex часто запускает однотипные тесты, просит доступ к заранее понятному инструменту, работает с соседним scratch-каталогом или периодически открывает известные домены. Если каждый запрос одинаково ожидаемый, человек быстро начинает нажимать “да” механически. Это плохой режим: approvals есть, но внимания уже нет.
Auto-review помогает сохранить проверку, не превращая человека в кнопку.
Но если задача новая, риск непонятен или агент просит широкий доступ, Auto-review не должен быть первым решением. Сначала нужно настроить границу: sandbox, writable roots, network rules, prefix rules, список запрещённых действий. И только потом решать, какие approval-запросы можно отдавать reviewer-agent.
Что дать Codex на вход
Чтобы настроить Auto-review как рабочий процесс, Codex нужно дать не только желание “меньше спрашивать”.
Первое — текущий режим. Какой sandbox используется, какая approval policy включена, есть ли network access, есть ли writable roots.
Второе — повторяющиеся остановки. Что именно мешает: сеть, файлы вне workspace, Browser Use, MCP tools, shell escalation, app tool approvals.
Третье — запреты. Например: не отправлять приватные данные, не искать токены, не ослаблять безопасность, не выполнять разрушительные действия, не обходить denied request.
Четвёртое — человеческие зоны. Даже с Auto-review некоторые решения должны оставаться ручными: публикация, удаление данных, изменение секретов, доступ к приватным системам, широкая сеть, действия с деньгами или клиентскими данными.
Пятое — правило отказа. Если reviewer отказал, Codex должен не спорить, а предложить безопасный путь или остановиться.
Как должен выглядеть результат настройки
Хороший результат — это не просто строка в конфиге. Это карта boundary.
| Часть карты | Что должно быть понятно |
|---|---|
| Что остаётся в sandbox | обычные действия без дополнительных approvals |
| Что уходит в Auto-review | повторяющиеся approval-запросы, которые можно оценивать автоматически |
| Что остаётся человеку | решения с высоким бизнес-риском |
| Что запрещено | секреты, приватные данные, разрушительные действия, обход отказа |
| Что делать при denied | безопасная альтернатива или остановка |
Такая карта нужна владельцу проекта. Он видит не техническую магию, а распределение ответственности: где агент работает сам, где его проверяет reviewer, где нужен человек.
Как проверить границу без кода
Непрограммист может проверить Auto-review четырьмя вопросами.
Первый: Auto-review расширил доступ или только поменял reviewer? Правильный ответ — только поменял reviewer.
Второй: понятно ли, какие запросы он рассматривает? Если список звучит как “всё подряд”, граница слишком широкая.
Третий: есть ли действия, которые всегда остаются за человеком? Если нет, это уже не Auto-review, а скрытый полный автопилот.
Четвёртый: что происходит после отказа? Правильный процесс: Codex не ищет обход, а предлагает более безопасный вариант или останавливается.
Эти вопросы можно задать без чтения кода. Они проверяют не реализацию, а управляемость.
Где остаётся человеческое решение
Auto-review снижает количество ручных остановок, но не отменяет владельца.
Человек решает, стоит ли включать Auto-review вообще. Человек решает, какие категории запросов можно отдавать reviewer-agent. Человек решает, когда лучше изменить sandbox boundary, а не учить reviewer одобрять одно и то же. Человек решает, можно ли вручную переопределить отказ, если контекст действительно это оправдывает.
Главное — не лечить плохую границу Auto-review. Если агент постоянно просит лишнее, сначала нужно сузить задачу или поправить правила. Reviewer-agent не должен становиться привычкой соглашаться с неясными запросами.
Шаблон запроса
Можно попросить Codex так:
Помоги настроить Auto-review для этого проекта.
Текущий режим:
[sandbox mode, approval policy, network access, writable roots]
Повторяющиеся approval-запросы:
[какие именно запросы часто останавливают работу]
Нельзя автоматически одобрять:
- отправку приватных данных, секретов, токенов или cookie;
- широкое ослабление sandbox или network boundary;
- разрушительные действия без ручного решения;
- попытки обойти denied request.
Нужно получить:
1. карту boundary;
2. список запросов, которые можно отдавать Auto-review;
3. список запросов, которые остаются человеку;
4. правило поведения после denied;
5. рекомендацию: включать Auto-review сейчас или сначала изменить sandbox/rules.Так Auto-review становится не “ещё одной настройкой для ускорения”, а аккуратным слоем контроля. Он уменьшает шум, но оставляет границу видимой. А значит, Codex может работать дольше и спокойнее, не превращаясь в агента без берегов.