Учебник 22: Делегирование субагентов
Учебник 22: Делегирование субагентов — простое руководство на основе официальной документации
Это часть официальной серии руководств Hermes Agent. Смотреть все руководства
Представьте, что вы тимлид в проекте. Можно делать всё самому, но это медленно. Вместо этого вы раздаёте конкретные задачи своим коллегам, даёте им нужные детали и ждёте отчёта. Именно это и делает делегирование субагентам в Hermes Agent — ваш главный агент может нанимать временных «работников» для выполнения задач в фоновом режиме.
Шаг 1: Поймите основную идею
Когда вы вызываете delegate_task, Hermes создаёт одного или нескольких дочерних агентов (субагентов). Каждый из них:
- Начинает абсолютно новый диалог — он ничего не знает о вашей истории переписки.
- Имеет доступ к тем же инструментам, что и родительский агент.
- Работает в собственной изолированной терминальной сессии.
- Возвращает родителю только итоговое резюме.
Это как отправить коллегу изучить тему. Он не сидит на всём вашем совещании — вы просто передаёте ему записку с задачей и контекстом, а он возвращается с отчётом.
Шаг 2: Делегируйте одну задачу
Самый простой случай: одна задача, один субагент.
delegate_task(
goal="Debug why tests fail",
context="Error: assertion in test_foo.py line 42"
)
Поле goal говорит субагенту, что делать. Поле context даёт ему всё необходимое для выполнения.
Шаг 3: Делегируйте несколько задач параллельно
Нужно сделать несколько дел сразу? Передайте список задач. По умолчанию Hermes запускает до 3 субагентов одновременно (это можно изменить — жёсткого лимита нет).
delegate_task(tasks=[
{"goal": "Research topic A", "context": "Focus on recent primary sources"},
{"goal": "Research topic B", "context": "Compare the leading explanations"},
{"goal": "Fix the build", "context": "Project root: /home/user/project"}
])
Каждый субагент работает независимо. Родитель ждёт завершения всех, а затем объединяет результаты.
Шаг 4: Золотое правило — субагенты ничего не знают
Это самый важный момент, так что слушайте внимательно:
Субагенты начинают с нулевыми знаниями о вашем разговоре.
Если вы скажете «Исправь ошибку», не объяснив, что это за «ошибка», субагент будет потерян. Вы должны передать весь необходимый контекст в полях goal и context.
Вот плохой пример:
# ПЛОХО - субагент понятия не имеет, что за "ошибка"
delegate_task(goal="Fix the error")
А вот хороший вариант:
# ХОРОШО - у субагента есть весь нужный контекст
delegate_task(
goal="Fix the TypeError in api/handlers.py",
context="""The file api/handlers.py has a TypeError on line 47:
'NoneType' object has no attribute 'get'.
The function process_request() receives a dict from parse_body(),
but parse_body() returns None when Content-Type is missing.
The project is at /home/user/myproject and uses Python 3.11."""
)
Относитесь к context как к брифингу. Чем конкретнее вы будете, тем лучше субагент выполнит работу.
Шаг 5: Используйте это в реальных рабочих процессах
Параллельное исследование
Собирайте информацию по нескольким темам одновременно:
delegate_task(tasks=[
{
"goal": "Research the current state of WebAssembly in 2025",
"context": "Focus on: browser support, non-browser runtimes, language support"
},
{
"goal": "Research the current state of RISC-V adoption in 2025",
"context": "Focus on: server chips, embedded systems, software ecosystem"
},
{
"goal": "Research quantum computing progress in 2025",
"context": "Focus on: error correction breakthroughs, practical applications, key players"
}
])
Ревью кода + исправление
Передайте полную задачу по ревью и исправлению в новый контекст:
delegate_task(
goal="Review the authentication module for security issues and fix any found",
context="""Project at /home/user/webapp.
Auth module files: src/auth/login.py, src/auth/jwt.py, src/auth/middleware.py.
The project uses Flask, PyJWT, and bcrypt.
Focus on: SQL injection, JWT validation, password handling, session management.
Fix any issues found and run the test suite (pytest tests/auth/)."""
)
Итоги
Делегирование субагентам — это ваш способ распараллелить работу в Hermes Agent. Запомните ключевые моменты:
- Используйте
delegate_taskдля одной задачи или целого пакета задач. - Всегда предоставляйте полный контекст — субагенты начинают с нуля.
- До 3 одновременных субагентов по умолчанию, настраивается при необходимости.
- Каждый субагент возвращает структурированное резюме — что сделал, что нашёл, какие файлы изменил, с какими проблемами столкнулся.
Это как иметь команду ассистентов, которые знают только то, что вы им сказали, — так что говорите им всё, что им нужно.
Дальше: Руководство 23 — Канбан: общая постоянная доска для совместной работы нескольких агентов.
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/features/delegation