v
vibecode
Все скиллы
01Скилл
Реализация
адапт. из anthropics/claude-cookbooks + ruvnet/ruflo
Multi-agent orchestrator

Команда из нескольких AI-агентов

Паттерн orchestrator-workers: один главный агент разбивает задачу, раздаёт суб-агентам с разными ролями, собирает результат. Базовая структура для AI-команд.


01aКогда брать

Когда задача слишком большая для одного агента и состоит из подзадач разной природы. Например: «сделай ревью PR» = security-агент + performance-агент + style-агент работают параллельно, главный собирает выводы.

02Куда положить
<project>/lib/multi-agent.ts

Создай эту папку и файл (если их нет), вставь содержимое ниже. Затем в Claude Code: /exit и запусти claude заново — команда появится.

03Содержимое

Скопируй всё что внутри блока и вставь в файл по пути выше.

multi-agent.ts
1// Orchestrator-Workers паттерн для multi-agent работы2 3import Anthropic from "@anthropic-ai/sdk";4const claude = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });5 6// ─── Worker — специализированный агент ───7async function worker(role: string, task: string): Promise<string> {8  const response = await claude.messages.create({9    model: "claude-sonnet-4-6",10    max_tokens: 1024,11    system: `Ты — ${role}. Отвечай в своей роли, не выходи за рамки.`,12    messages: [{ role: "user", content: task }],13  });14  return response.content.find(c => c.type === "text")?.text ?? "";15}16 17// ─── Orchestrator — главный агент ───18export async function review(code: string) {19  // Параллельно запускаем 3 worker-а20  const [security, performance, style] = await Promise.all([21    worker(22      "Senior security engineer. Параноишь насчёт ввода, SQL injection, XSS",23      `Код-ревью с точки зрения безопасности:\n\n${code}`24    ),25    worker(26      "Performance engineer. Ищешь O(n^2) циклы, N+1 запросы, лишние allocations",27      `Код-ревью с точки зрения производительности:\n\n${code}`28    ),29    worker(30      "Code style reviewer. Чистота, читаемость, соответствие конвенциям",31      `Код-ревью с точки зрения стиля:\n\n${code}`32    ),33  ]);34 35  // Финальный agent — синтезирует36  const finalResponse = await claude.messages.create({37    model: "claude-sonnet-4-6",38    max_tokens: 2048,39    system: "Ты — senior lead. Синтезируй 3 ревью в один отчёт. Приоритизируй: критичные баги > security > performance > style.",40    messages: [{41      role: "user",42      content: `43SECURITY REVIEW:44${security}45 46PERFORMANCE REVIEW:47${performance}48 49STYLE REVIEW:50${style}51 52Сделай итоговое ревью с приоритетами.`,53    }],54  });55 56  return finalResponse.content.find(c => c.type === "text")?.text ?? "";57}
04Как использовать

Примеры команд

  • 01Code review разделённый на security/performance/style
  • 02Контент-генерация: writer + editor + fact-checker
  • 03Анализ резюме: skills-matcher + culture-fit + interview-prep