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 и правила проекта.
Для замечаний указывай путь, условие и последствия.
Разделяй подтверждённое и требующее проверки.
"""

Не закрепляйте имя модели только потому, что оно встречается в чужом руководстве. Для учебного профиля проще сохранить доступные настройки родителя и сравнивать качество на реальных заданиях. Перечень моделей и допустимых уровней рассуждения зависит от версии клиента и доступа аккаунта.

Упражнение

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

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

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

Самопроверка:

  1. Почему инструкция «только чтение» не равна отдельному sandbox?
  2. Какой результат помощника позволяет проверить утверждение «валидация отсутствует»?
  3. В каком случае один агент окажется практичнее двух?

← Предыдущий модуль · Оглавление · Следующий модуль →