Субагенты Codex
Субагенты — это продвинутая функция Codex, которая позволяет разбивать большие задачи на более мелкие части и обрабатывать их параллельно или последовательно. В этом разделе описано, как настраивать и использовать субагентов.
Что такое субагент?
Субагенты — это вспомогательные агенты, которых Codex может вызывать параллельно для обработки разных частей сложной задачи. Настроив субагентов, вы можете:
- Разбивать большие задачи на управляемые части
- Обрабатывать несколько независимых задач параллельно
- Настраивать специализированных агентов для разных типов задач
- Повышать эффективность при работе с большими проектами
Субагенты особенно хорошо подходят для сценариев, требующих одновременной обработки нескольких файлов или нескольких независимых задач.
Настройка субагентов
Базовая конфигурация
Настройка субагентов
[features]
multi_agent = true
# Настройка параметров агента
[agents]
# Максимальное количество параллельных потоков
max_threads = 6
# Максимальная глубина вложенности
max_depth = 1
# Максимальное время выполнения задачи (секунды)
job_max_runtime_seconds = 1800
Пользовательские роли агентов
Вы можете определить пользовательские роли агентов в конфигурации:
Определение ролей агентов
[agents.reviewer]
description = "Сфокусируйтесь на проверке кода и проблемах качества"
nickname_candidates = ["Reviewer", "CodeChecker", "QualityBot"]
# Может указывать на файл конфигурации
# config_file = "agents/reviewer.toml"
Использование субагентов
Ручной вызов субагентов
В Codex вы можете вызывать субагентов следующими способами:
Вызов субагентов
@reviewer, проверь файл src/auth.py
# Используйте команду /agents
/agents run reviewer --task "Проверить все тестовые файлы"
Автоматическое использование субагентов
Codex может автоматически выбирать использование субагентов в зависимости от задачи. Например, для большой задачи рефакторинга Codex может автоматически запустить несколько субагентов для обработки разных модулей.
Как работают субагенты
Параллельная обработка
Когда задачи можно разбить на независимые части, субагенты могут работать параллельно:
任务:审查整个代码库 ├─ 子代理 1:审查 src/auth/ 目录 ├─ 子代理 2:审查 src/api/ 目录 ├─ 子代理 3:审查 src/utils/ 目录 └─ 主代理:汇总结果
Последовательная обработка
Когда задачи имеют зависимости, субагенты работают последовательно:
任务:实现新功能
└─ 子代理 1:创建数据模型
└─ 子代理 2:创建 API 端点
└─ 子代理 3:编写测试
Глубина вложенности
Параметр max_depth в конфигурации определяет, на сколько уровней могут вкладываться агенты:
- Глубина 0: Корневая сессия
- Глубина 1: Прямые субагенты
- Глубина 2: Субагенты субагентов
Рекомендуется поддерживать max_depth на уровне 1 или 2, так как слишком глубокая вложенность повышает сложность и затраты.
Вызовы инструментов
Субагенты могут использовать все стандартные инструменты Codex:
- Чтение и редактирование файлов
- Выполнение команд
- Использование навыков
- Вызов серверов MCP
Сводка результатов
Главный агент отвечает за агрегацию результатов всех субагентов и предоставление единого вывода.
Конфигурация роли агента
Создание пользовательских ролей агентов
Создание файлов конфигурации ролей агентов
description = "Сосредоточьтесь на написании модульных и интеграционных тестов"
nickname_candidates = ["Tester", "TestBot", "QABot"]
[behavior]
# Конфигурация поведения агента
test_framework = "pytest" # Предпочтительный фреймворк для тестирования
include_coverage = true # Требуется отчёт о покрытии
Ссылки в основной конфигурации
Ссылка на конфигурацию агента
config_file = "agents/tester.toml"
Мониторинг субагентов
Просмотр активных агентов
Просмотр активных агентов
/agents status
# Просмотр подробностей
/agents list
Вывод агента
Codex отображает вывод каждого субагента и обобщает результаты в основном интерфейсе.
Во время работы субагентов отображается индикатор прогресса, позволяющий понять общий статус задачи.
Лучшие практики
Декомпозиция задач
- Разбивайте большие задачи на независимые подзадачи
- Убедитесь, что между подзадачами нет сильных зависимостей (когда возможна параллелизация)
- Определите четкие входные и выходные данные для каждой подзадачи
Оптимизация конфигурации
- Настройте max_threads в зависимости от сложности задачи
- Настройте специализированные роли агентов для разных типов задач
- Установите разумное значение job_max_runtime_seconds, чтобы избежать длительно выполняющихся процессов
Мониторинг и отладка
- Регулярно проверяйте вывод субагентов
- Используйте /agents status для проверки общего прогресса.
- Отменяйте отдельных субагентов при необходимости
Субагенты — это продвинутая функция; перед их использованием рекомендуется ознакомиться с базовыми операциями Codex.
ЧАВО
Вопрос: В чём разница между субагентами и навыками?
Субагенты — это независимые ИИ-агенты, которые могут выполнять сложные многошаговые задачи. Навыки — это предопределённые рабочие процессы, ориентированные на определённые типы задач.
Вопрос: Каково максимальное количество субагентов, которые могут работать одновременно?
Управляется через конфигурацию max_threads, по умолчанию — 6. Фактическое доступное число зависит от вашего тарифного плана.
Вопрос: Могут ли субагенты получать доступ к моим файлам?
Да, субагенты могут читать и изменять файлы, но на них распространяются ограничения песочницы и политики безопасности.
Вопрос: Как отлаживать проблемы с субагентами?
Используйте /agents status, чтобы проверить статус агентов, и просмотрите журналы их вывода, чтобы найти проблемы.
Другие расширения