Субагенты
Используйте субагентов в ChatGPT и Codex и настраивайте пользовательских агентов Codex
- Настольное приложение ChatGPT Проекты, файлы и длительные задачи на компьютере.
- Веб-версия ChatGPT Чаты, проекты и Work в браузере.
- Codex CLI Codex в вашем терминале.
- Расширение Codex для IDE Codex в вашем редакторе.
ChatGPT Work и Codex могут выполнять рабочие процессы с субагентами, параллельно запуская специализированных агентов, а затем объединяя их результаты в одном ответе. Это может быть особенно полезно для сложных задач с высокой степенью параллелизма, таких как исследование кодовой базы или реализация многоэтапного плана разработки функции.
В локальных клиентах Codex также можно определять пользовательских агентов с разными конфигурациями моделей и инструкциями для различных задач.
Доступность
ChatGPT Work предоставляет доступ к рабочим процессам с субагентами и сведениям об их активности для соответствующих требованиям учётных записей.
В текущих выпусках Codex рабочие процессы с субагентами включены по умолчанию. Активность субагентов отображается в настольном приложении ChatGPT, Codex CLI и расширении IDE.
Поскольку каждый субагент самостоятельно работает с моделью и инструментами, рабочие процессы с субагентами расходуют больше токенов, чем сопоставимые запуски с одним агентом.
В ChatGPT Work попросите ChatGPT делегировать независимые задачи субагентам. Агенты работают в облачной среде ChatGPT, а в чате отображаются их действия и результаты. На большинстве уровней интеллекта делегирование нужно запрашивать явно. На уровне Ultra ChatGPT может самостоятельно делегировать задачи, если параллельная работа агентов существенно повысит скорость или качество.
Попросите Codex в чате приложения делегировать независимые части работы
субагентам. Текущие локальные выпуски Codex выполняют делегирование по прямому запросу или если
этого требуют применимые инструкции AGENTS.md либо инструкции навыка. В приложении отображается каждый
поток субагента, поэтому можно изучить его работу и сводку, возвращённую в основной
чат.
Попросите Codex использовать субагентов в интерактивном сеансе CLI. Codex также может следовать
применимым инструкциям AGENTS.md или навыков, предписывающим делегирование. Используйте
/subagents для просмотра веток агентов и переключения между ними во время работы. Основная
ветка объединяет результаты субагентов в итоговом ответе.
В чате IDE попросите Codex делегировать независимые части работы субагентам.
Codex также может следовать применимым инструкциям AGENTS.md или инструкциям навыка, требующим
делегирования. Когда доступен интерфейс фоновых агентов, активные субагенты отображаются
над полем ввода. Разверните панель, чтобы просмотреть их состояние, остановить всех активных
субагентов или открыть поток отдельного субагента.
Чем полезны рабочие процессы с субагентами
Даже у моделей с большими контекстными окнами есть ограничения. Если основной чат (где вы определяете требования, ограничения и решения) переполняется шумным промежуточным выводом, таким как заметки об исследовании, журналы тестов, трассировки стека и вывод команд, со временем надёжность сеанса может снизиться.
Это часто описывают следующими терминами:
- Загрязнение контекста: полезная информация теряется среди шумного промежуточного вывода.
- Деградация контекста: по мере заполнения чата менее существенными подробностями эффективность снижается.
Дополнительную информацию см. в материале Chroma о деградации контекста.
Рабочие процессы с субагентами помогают, вынося шумную работу из основного потока:
- Основной агент сосредоточен на требованиях, решениях и итоговых результатах.
- Специализированные субагенты параллельно выполняют исследование, тесты или анализ журналов.
- Вместо необработанного промежуточного вывода субагенты возвращают сводки.
Они также позволяют сэкономить время, когда работу можно выполнять независимо и параллельно, и упрощают решение более масштабных задач, разбивая их на ограниченные части. Например, Codex может разделить анализ документа объёмом в несколько миллионов токенов на меньшие задачи и вернуть основному потоку краткие выводы.
Для начала используйте параллельных агентов для задач, в которых преобладает чтение, например исследования, тестирования, первичного анализа и составления сводок. Будьте осторожнее с параллельными рабочими процессами, в которых преобладает запись, поскольку одновременное редактирование кода агентами может привести к конфликтам и увеличить затраты на координацию.
Основные термины
В рабочих процессах с субагентами Codex использует несколько связанных терминов:
- Рабочий процесс с субагентами: рабочий процесс, в котором Codex запускает параллельных агентов и объединяет их результаты.
- Субагент: делегированный агент, которого Codex запускает для выполнения определённой задачи.
- Поток агента: поток, в котором субагент выполняет свою работу. Поддерживаемые клиенты позволяют открывать эти потоки для просмотра хода работы или результатов.
Запуск рабочих процессов с субагентами
На большинстве уровней интеллекта прямо просите использовать субагентов или организовать параллельную работу агентов. Ultra позволяет делегировать задачи по собственной инициативе, поэтому ChatGPT может поручать подходящие независимые задачи без отдельного запроса.
Запрашивайте субагентов или параллельную работу агентов напрямую. Codex также может делегировать работу, если этого требуют применимые инструкции проекта или навыка.
На практике ручной запуск означает использование прямых инструкций, например «запусти двух агентов», «делегируй эту работу параллельно» или «используй по одному агенту для каждого пункта». Рабочие процессы с субагентами расходуют больше токенов, чем сопоставимые запуски с одним агентом, поскольку каждый субагент самостоятельно работает с моделью и инструментами.
Хороший запрос для субагента должен объяснять, как разделить работу, следует ли Codex дождаться всех агентов, прежде чем продолжать, и какую сводку или результат нужно вернуть.
Review this branch with parallel subagents. Spawn one subagent for security risks, one for test gaps, and one for maintainability. Wait for all three, then summarize the findings by category with file references.Выбор моделей и параметров рассуждения
Разным агентам нужны разные настройки модели и рассуждения.
В ChatGPT Work выберите модель и уровень интеллектуальности в поле ввода. В зависимости от выбранной модели могут быть доступны уровни интеллектуальности Light, Medium, High, Extra High и Max. Уровень Ultra доступен только соответствующим требованиям учётным записям и поддерживаемым моделям. Он использует максимальную глубину рассуждений и позволяет ChatGPT заранее делегировать подходящую работу субагентам.
На других уровнях интеллектуальности явно запрашивайте субагентов, когда хотите делегировать работу параллельно.
Если вы не настроите модель субагента или model_reasoning_effort,
субагент унаследует модель и уровень усилий рассуждения родительского агента. Если явный
запрос на запуск или значение по умолчанию в [agents] задаёт модель без
явного или настроенного уровня усилий рассуждения, субагент использует уровень,
принятый по умолчанию для этой модели. Чтобы сбалансировать интеллект, скорость и стоимость для каждой задачи,
укажите конкретную модель или уровень усилий рассуждения в запросе,
настройте значения по умолчанию [agents] в config.toml или задайте model и
model_reasoning_effort непосредственно в файле пользовательского агента.
Например, используйте gpt-6-luna для быстрого обзора или конфигурацию gpt-6.1-sol с повышенным уровнем усилий для более сложных рассуждений.
Выбор модели
gpt-6.1-sol: Начните с этой модели для агентов со сложными задачами. Используйте её для неоднозначных многоэтапных задач, требующих планирования, использования инструментов, проверки и доведения работы до конца в большом контексте.gpt-6-luna: Используйте для быстрых узкоспециализированных агентов, выполняющих понятные, повторяющиеся или массовые задачи.
Интенсивность рассуждений (model_reasoning_effort)
Для GPT-6.1 Sol используйте уровень усилий рассуждения, который поддерживают ваш клиент и выбранная
модель. При явной настройке модели начните с high для GPT-6 Luna или low
для GPT-6 Astra. Подбирайте уровень под задачу из числа поддерживаемых выбранной моделью.
ultra: Используйте для наиболее глубоких рассуждений, если выбранная модель поддерживает этот уровень.maxиxhigh: Используйте для особенно сложных рассуждений, если выбранная модель поддерживает эти уровни.high: Используйте, когда агенту нужно проследить сложную логику, проверить предположения или проработать граничные случаи (например, для агентов, выполняющих ревью или проверку безопасности).medium: Обеспечивает баланс скорости и глубины.low: Используйте, когда задача проста и скорость важнее всего.
Более высокая интенсивность рассуждений увеличивает время ответа и расход токенов, но может повысить качество при выполнении сложной работы. Дополнительные сведения см. в разделах Модели, Основы конфигурации и Справочник по конфигурации.
Оркестрация и управление потоками
ChatGPT или Codex выполняет оркестрацию агентов, включая запуск новых субагентов, маршрутизацию последующих инструкций, ожидание результатов и закрытие потоков агентов.
Когда работает много агентов, Codex ожидает получения всех запрошенных результатов, а затем возвращает сводный ответ.
На большинстве уровней интеллектуальности ChatGPT запускает агентов после прямого запроса. При уровне Ultra ChatGPT также может заранее делегировать работу, когда полезно её параллельное выполнение.
Текущие локальные выпуски Codex запускают агентов после прямого запроса или в соответствии с применимой инструкцией проекта либо навыка.
Чтобы увидеть это в действии, попробуйте использовать следующий запрос в своём проекте:
I would like to review the following points on the current PR (this branch vs main). Spawn one agent per point, wait for all of them, and summarize the result for each point.
1. Security issue
2. Code quality
3. Bugs
4. Race
5. Test flakiness
6. Maintainability of the codeУправление субагентами
Откройте раздел Субагенты, чтобы просмотреть доступные только для чтения списки Активные и Завершённые. Выберите завершившего работу субагента, чтобы изучить сведения о нём и результат. На боковой панели веб-версии отображается активность субагентов, но там нет элементов управления для остановки или направления работы отдельного субагента.
- Откройте поток субагента через сведения об активности в основном потоке, чтобы изучить его работу.
- Попросите Codex напрямую скорректировать работу запущенного субагента, остановить его или закрыть завершённые потоки субагентов.
- Используйте
/subagentsв CLI, чтобы переключаться между активными ветками агентов и просматривать текущую ветку. - Попросите Codex напрямую скорректировать работу запущенного субагента, остановить его или закрыть завершённые ветки агентов.
- Если панель фоновых агентов доступна, разверните её, чтобы просмотреть состояние, остановить активных субагентов или открыть ветку субагента.
- Попросите Codex напрямую скорректировать работу запущенного субагента, остановить его или закрыть завершённые ветки субагентов.
Подтверждения и управление песочницей
Субагенты наследуют текущую политику песочницы.
ChatGPT Work запускает субагентов в своей облачной среде и не предоставляет локальную песочницу Codex или управление режимом подтверждений. Субагенты используют инструменты, доступные родительскому чату. Разрешения для веб-сайтов и коннекторов по-прежнему зависят от конкретного инструмента.
Субагенты наследуют режим разрешений, выбранный под полем ввода. Выберите режим разрешений для родительского запроса, прежде чем просить Codex делегировать работу.
В интерактивных сеансах CLI запросы на подтверждение могут поступать из неактивных потоков агентов,
даже когда вы просматриваете основной поток. В окне подтверждения
отображается метка исходного потока, и перед подтверждением, отклонением или ответом на запрос
можно нажать o, чтобы открыть этот поток.
В неинтерактивных процессах или в случаях, когда запуск не может вывести новый запрос на подтверждение, действие, требующее нового подтверждения, завершается сбоем, а Codex передаёт ошибку родительскому рабочему процессу.
Субагенты наследуют текущие настройки песочницы и одобрения родительского хода,
включая изменения, внесённые с помощью /permissions или --yolo. Файл пользовательского агента
не может заменить эти настройки.
Субагенты наследуют режим разрешений, выбранный под полем ввода. Выберите режим разрешений для родительского хода, прежде чем просить Codex делегировать задачи.
Настройте песочницу и правила подтверждения в родительском сеансе. Инструкции пользовательского агента могут предписывать ему не вносить изменения, но они не создают отдельную песочницу с доступом только для чтения.
Пользовательские агенты
Codex поставляется со встроенными агентами:
default: универсальный резервный агент.worker: агент, ориентированный на выполнение задач по реализации и исправлению.explorer: агент для исследования кодовой базы с преобладанием чтения.
Чтобы определить собственных пользовательских агентов, добавьте отдельные файлы TOML в
~/.codex/agents/ для личных агентов или в .codex/agents/ для агентов,
действующих в рамках проекта.
Каждый файл определяет одного пользовательского агента. Пользовательские агенты могут менять настройки модели и инструкции или отключать поддерживаемые возможности. Они наследуют разрешения, провайдера и MCP servers родительского сеанса; файл пользовательского агента не может переопределить эти настройки.
Каждый отдельный файл пользовательского агента должен определять:
namedescriptiondeveloper_instructions
Если в файле пользовательского агента задано model или model_reasoning_effort, значение из
файла имеет приоритет. Перед применением файла Codex определяет каждую настройку:
сначала использует явно заданное при запуске значение, затем соответствующее значение по умолчанию из [agents], затем
значение родительского сеанса. Если явный запрос на запуск или значение по умолчанию из [agents]
задаёт модель, но ни один из них не задаёт уровень усилий рассуждения, Codex использует
уровень по умолчанию для этой модели. Файл пользовательского агента, в котором задано только model,
сохраняет этот ранее определённый уровень. Также задайте model_reasoning_effort в
файле, если выбранная модель не поддерживает этот уровень или вам нужен
другой. Навыки наследуются от родительского сеанса, и пользовательский агент может отключать
отдельные навыки с помощью skills.config.
Глобальные параметры
Глобальные параметры субагентов по-прежнему находятся в разделе [agents] вашей конфигурации.
| Поле | Тип | Обязательно | Назначение |
|---|---|---|---|
agents.enabled |
boolean | Нет | Включает или отключает мультиагентные инструменты. |
agents.max_concurrent_threads_per_session |
number | Нет | Ограничивает число одновременно открытых потоков порождённых агентов, не считая основного. |
agents.default_subagent_model |
string | Нет | Задаёт модель по умолчанию для порождённых агентов. |
agents.default_subagent_reasoning_effort |
string | Нет | Задаёт уровень усилий рассуждения по умолчанию для порождённых агентов. |
agents.interrupt_message |
boolean | Нет | Записывает видимое модели сообщение при прерывании хода агента. |
Примечания:
- Значение
agents.enabledпо умолчанию —true. Установитеfalse, чтобы отключить мультиагентные инструменты. - Если
agents.max_concurrent_threads_per_sessionне задан, Codex выбирает значение по умолчанию. В существующих конфигурацияхagents.max_threadsможно по-прежнему использовать как устаревший псевдоним. - Явные значения при порождении переопределяют
agents.default_subagent_modelиagents.default_subagent_reasoning_effort. - Значение
agents.interrupt_messageпо умолчанию —true. Установитеfalse, чтобы не добавлять видимое модели сообщение о прерывании в контекст агента. - Если имя пользовательского агента совпадает со встроенным агентом, например
explorer, приоритет имеет пользовательский агент.
Схема файла пользовательского агента
| Поле | Тип | Обязательно | Назначение |
|---|---|---|---|
name |
string | Да | Имя агента, которое Codex использует при его порождении или упоминании. |
description |
string | Да | Понятные пользователю рекомендации о том, когда Codex следует использовать этого агента. |
developer_instructions |
string | Да | Основные инструкции, определяющие поведение агента. |
Используйте model, model_reasoning_effort, model_reasoning_summary и
model_verbosity для настройки поведения модели.
Допустимые значения приведены в справочнике по конфигурации
для этих параметров.
Чтобы ограничить возможности пользовательского агента, установите для поддерживаемых ключей функций значение false:
features.shell_tool, features.apps, features.plugins,
features.memories или features.request_permissions_tool. Отключайте отдельные
навыки с помощью skills.config, а встроенные навыки — с помощью
skills.bundled.enabled = false. Задайте skills.include_instructions = false, чтобы
не включать автоматически добавляемый блок инструкций по навыкам. Централизованно заданные требования по-прежнему действуют.
Другие настройки сеанса, включая sandbox_mode, approval_policy,
model_provider и mcp_servers, не переопределяют конфигурацию родительского сеанса,
если указаны в файле пользовательского агента. Уровень обслуживания также определяется настройкой корневого
сеанса. Настройте MCP servers в родительском сеансе, чтобы агент
мог их использовать.
Codex идентифицирует пользовательского агента по его полю name. Совпадение имени файла с
именем агента — простейшее соглашение, однако именно поле name является источником
истины.
Примеры пользовательских агентов
Лучшие пользовательские агенты имеют узкую специализацию и чёткую позицию. Назначьте каждому понятную задачу, набор инструментов, соответствующий этой задаче, и инструкции, которые не позволят ему отклоняться в смежные области работы.
В примерах используется GPT-6.1 Sol, если у вашей текущей учётной записи или рабочего пространства есть доступ. Если модель недоступна, выберите ту, которую можете использовать.
Пример 1: проверка PR
В этом шаблоне проверка распределяется между тремя узкоспециализированными пользовательскими агентами:
pr_explorerсоставляет карту кодовой базы и собирает подтверждающие данные.reviewerищет риски, связанные с корректностью, безопасностью и тестами.docs_researcherпроверяет документацию фреймворка или API через выделенный MCP server.
Конфигурация проекта (.codex/config.toml):
[agents]
max_concurrent_threads_per_session = 8
[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp".codex/agents/pr-explorer.toml:
name = "pr_explorer"
description = "Read-only codebase explorer for gathering evidence before changes are proposed."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Stay in exploration mode.
Do not edit files.
Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
Prefer fast search and targeted file reads over broad scans.
""".codex/agents/reviewer.toml:
name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
developer_instructions = """
Review code like an owner.
Do not edit files.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
""".codex/agents/docs-researcher.toml:
name = "docs_researcher"
description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Use the docs MCP server to confirm APIs, options, and version-specific behavior.
Return concise answers with links or exact references when available.
Do not make code changes.
"""
Такая настройка хорошо подходит для запросов наподобие:
Review this branch against main. Have pr_explorer map the affected code paths, reviewer find real risks, and docs_researcher verify the framework APIs that the patch relies on.Пример 2: отладка интеграции фронтенда
Этот шаблон полезен при регрессиях пользовательского интерфейса, нестабильных браузерных сценариях или ошибках интеграции, затрагивающих код приложения и работающий продукт.
Конфигурация проекта (.codex/config.toml):
[agents]
max_concurrent_threads_per_session = 6
[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
startup_timeout_sec = 20.codex/agents/code-mapper.toml:
name = "code_mapper"
description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Map the code that owns the failing UI flow.
Do not edit files.
Identify entry points, state transitions, and likely files before the worker starts editing.
""".codex/agents/browser-debugger.toml:
name = "browser_debugger"
description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."
model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
developer_instructions = """
Reproduce the issue in the browser, capture exact steps, and report what the UI actually does.
Use browser tooling for screenshots, console output, and network evidence.
Do not edit application code.
""".codex/agents/ui-fixer.toml:
name = "ui_fixer"
description = "Implementation-focused agent for small, targeted fixes after the issue is understood."
model = "gpt-6-luna"
model_reasoning_effort = "high"
developer_instructions = """
Own the fix once the issue is reproduced.
Make the smallest defensible change, keep unrelated files untouched, and validate only the behavior you changed.
"""
[[skills.config]]
path = "/Users/me/.agents/skills/docs-editor/SKILL.md"
enabled = falseТакая настройка хорошо подходит для запросов наподобие:
Investigate why the settings modal fails to save. Have browser_debugger reproduce it, code_mapper trace the responsible code path, and ui_fixer implement the smallest fix once the failure mode is clear.