08. Субагенты: узкая задача и проверяемый ответ
← Предыдущий модуль · Оглавление · Следующий модуль →
Если сейчас только читаете: русский разбор ситуации без запуска программ. После него ответьте на вопросы самопроверки модуля; практическое упражнение можно отложить.
Результат модуля: вы умеете поручить независимую часть работы помощнику и проверить полученный результат. Главный критерий — ясная граница ответственности, а не количество одновременно работающих агентов.
Текущая документация описывает субагентов в локальных Codex CLI, IDE и приложении. Для делегирования попросите об этом явно либо используйте соответствующие правила проекта или skill. В CLI команда /subagents позволяет наблюдать за потоками. Возможности ChatGPT Work и локального Codex следует проверять отдельно. Дополнительные агенты выполняют собственные обращения к модели и обычно увеличивают суммарный расход токенов. Subagents.
Хорошая первая задача для субагента — чтение: найти обработчик, сопоставить документацию с кодом, проверить один класс рисков. Она редко требует права записи, легко ограничивается конкретными папками и возвращает компактный результат. Делегировать маленькую замену текста обычно бессмысленно: постановка задачи и объединение результатов могут занять больше времени, чем сама правка.
Контракт делегирования
Дайте помощнику цель, необходимые источники, разрешённые действия и ожидаемый формат ответа. Укажите, когда нужно остановиться. Например, исследование маршрута авторизации заканчивается после нахождения входной точки, проверки полномочий и обращения к хранилищу; оно не должно самопроизвольно превращаться в переписывание всей системы входа.
Используй одного субагента только для исследования.
Цель: найти, где API отклоняет запрос пользователя без права чтения.
Источники: src/api и tests/api; правила проекта обязательны.
Ограничения: не менять файлы, не обращаться к рабочей базе,
не читать секреты, не расширять исследование на другие сервисы.
Результат: до пяти пунктов с путями, найденным поведением,
пробелами проверки и следующим проверяемым действием.
Дождись ответа и самостоятельно проверь основные ссылки.
Ограничение «не менять файлы» полезно, но является инструкцией. Оно не создаёт отдельную техническую песочницу. Текущие документы прямо говорят, что субагент наследует sandbox и approvals родительской сессии; файл custom agent не может заменить эти настройки. Поэтому старый пример с sandbox_mode = "read-only" внутри профиля агента не следует использовать как гарантию изоляции. Раздел Permissions and sandboxing.
Профиль роли
В локальном проекте можно описать custom agent файлом .codex/agents/reviewer.toml. Обязательны name, description и developer_instructions. Ниже показано содержимое, а не команда установки:
name = "reviewer"
description = "Проверяет корректность небольшого diff."
developer_instructions = """
Не изменяй файлы. Проверяй фактический diff и правила проекта.
Для замечаний указывай путь, условие и последствия.
Разделяй подтверждённое и требующее проверки.
"""
Не закрепляйте имя модели только потому, что оно встречается в чужом руководстве. Для учебного профиля проще сохранить доступные настройки родителя и сравнивать качество на реальных заданиях. Перечень моделей и допустимых уровней рассуждения зависит от версии клиента и доступа аккаунта.
Упражнение
Подготовьте два независимых вопроса к учебному репозиторию: где выполняется валидация и какими тестами она проверяется. Один вопрос исследуйте сами, второй передайте помощнику. Попросите вернуть найденное и явно указать, чего он не смог установить. Проверьте хотя бы одну ссылку из ответа и сопоставьте обе части.
Если помощник пишет «тестов нет», уточните область поиска. Отсутствие файла с очевидным названием не доказывает отсутствие проверки: она может быть параметризованной, интеграционной или находиться в другом пакете. Хороший отчёт фиксирует и найденный материал, и границы исследования.
Готово, когда: у помощника одна ответственность; чтение и запись ограничены; ответ содержит ссылки на доказательства; основной агент проверил вывод; зафиксировано, зачем понадобилось делегирование.
Самопроверка:
- Почему инструкция «только чтение» не равна отдельному sandbox?
- Какой результат помощника позволяет проверить утверждение «валидация отсутствует»?
- В каком случае один агент окажется практичнее двух?