Урок 11Суб-агенты
Паттерны агентов
Лучшие практики
Параллельное исследование
Запуск нескольких агентов одновременно для исследования разных аспектов
Когда использовать:
Исследование большой кодовой базы, сбор информации из разных источников
Преимущества:
- ✓ Быстрее чем последовательный поиск
- ✓ Изолированные контексты
- ✓ Не теряется информация
// Claude launches in parallel: Task(Explore, "Find auth implementation") Task(Explore, "Find API endpoints") Task(Explore, "Find database models")
Цепочка агентов
Последовательное выполнение: результат одного агента → вход другого
Когда использовать:
Сложные многоэтапные задачи с зависимостями
Преимущества:
- ✓ Структурированный процесс
- ✓ Каждый агент специализирован
- ✓ Проверка на каждом этапе
// Sequential chain: 1. Plan agent → creates implementation plan 2. Code agent → implements based on plan 3. Reviewer agent → reviews the code 4. Test agent → writes tests
Код-ревьюер
Специализированный агент для проверки качества и безопасности кода
Когда использовать:
После написания кода, перед коммитом, проверка PR
Преимущества:
- ✓ Автоматическая проверка качества
- ✓ Находит проблемы до коммита
- ✓ Консистентные стандарты
// code-reviewer agent checks: - Security vulnerabilities - Best practices violations - Performance issues - Code style consistency
Отладчик
Агент для систематической отладки и поиска причин ошибок
Когда использовать:
Сложные баги, неочевидные причины ошибок
Преимущества:
- ✓ Систематический подход
- ✓ Документирует процесс
- ✓ Находит первопричину
// Debugger pattern: 1. Reproduce the issue 2. Add logging/breakpoints 3. Trace execution flow 4. Identify root cause 5. Propose fix
Аналитик данных
Агент для анализа данных, метрик, логов
Когда использовать:
Анализ производительности, поиск паттернов в логах
Преимущества:
- ✓ Обрабатывает большие объёмы
- ✓ Находит неочевидные паттерны
- ✓ Структурированные отчёты
// Data analysis pattern: 1. Read logs/metrics files 2. Parse and aggregate data 3. Identify anomalies 4. Generate report with visualizations
Комбинирование паттернов
Сложные задачи часто требуют комбинации нескольких паттернов:
// Complex task: Refactor authentication system
// Phase 1: Research (parallel)
const [authFiles, securityReqs, tests] = await Promise.all([
Task(Explore, "Find all authentication related files"),
Task(Explore, "Find security requirements in docs"),
Task(Explore, "Find existing auth tests")
]);
// Phase 2: Plan
const plan = await Task(Plan, `
Create refactoring plan based on:
- Files: ${authFiles}
- Requirements: ${securityReqs}
- Tests: ${tests}
`);
// Phase 3: Implement (with review)
for (const step of plan.steps) {
await implementStep(step);
await Task(code-reviewer, "Review the changes");
}
// Phase 4: Verify
await Task(Bash, "Run all auth tests");Параллельный поискПланированиеРеализация + РевьюВерификация
Анти-паттерны
✗ ПлохоОдин агент для всего
✓ ХорошоСпециализированные агенты
✗ ПлохоПоследовательный поиск в большом codebase
✓ ХорошоПараллельные Explore агенты
✗ ПлохоРеализация без плана
✓ ХорошоPlan → Implement → Review
Когда какой паттерн использовать
- Параллельное исследование — когда нужно быстро собрать информацию
- Цепочка — когда шаги зависят друг от друга
- Ревьюер — после любых значительных изменений кода
- Комбинация — для сложных задач с несколькими этапами
Этот урок — часть структурированного курса по LLM.
Мой путь обучения