Суб-агенты
PRX поддерживает порождение суб-агентов (дочерних агентов) из работающей сессии агента. Это позволяет параллельно декомпозировать задачи, когда родительский агент делегирует работу специализированным дочерним агентам, выполняющимся параллельно.
Обзор
Суб-агенты — это легковесные экземпляры агента, которые:
- Разделяют конфигурацию провайдера и учётные данные родителя
- Имеют собственную историю разговора и область памяти
- Выполняются в рамках политики песочницы родителя
- Возвращают результаты родителю по завершении
Модель порождения
Родительский агент может порождать суб-агентов через встроенный инструмент spawn_agent. Каждый дочерний агент получает:
- Описание задачи (переопределение системного промпта)
- Необязательный набор разрешённых инструментов (подмножество инструментов родителя)
- Максимальный бюджет ходов
Родительский агент
├── Суб-агент 1 (задача исследования)
├── Суб-агент 2 (генерация кода)
└── Суб-агент 3 (валидация)Ограничения параллельности
Для предотвращения исчерпания ресурсов PRX применяет ограничения параллельности:
[agent.subagents]
max_concurrent = 4
max_depth = 3
max_total_spawns = 20
child_timeout_secs = 300- max_concurrent — максимальное количество одновременно работающих дочерних агентов
- max_depth — максимальная глубина вложенности (суб-агенты, порождающие суб-агентов)
- max_total_spawns — общий бюджет порождения на корневую сессию
- child_timeout_secs — таймаут для выполнения отдельного дочернего агента
Контроль глубины
Каждый суб-агент отслеживает свой уровень глубины. При достижении максимальной глубины инструмент spawn_agent удаляется из доступных инструментов дочернего агента, предотвращая дальнейшую вложенность.
Агрегация результатов
Когда все дочерние агенты завершаются, их результаты собираются и представляются родительскому агенту как результаты вызовов инструментов. Родитель затем может синтезировать выходные данные в финальный ответ.
Связанные страницы
- Среда выполнения агента — обзор архитектуры
- Цикл агента — основной цикл выполнения
- Рабочий процесс сессии — изоляция процессов