Small OpenCode Orchestrator — лёгкий паттерн оркестрации мультиагентного AI-кодинга

· 1 мин чтения
opencode multi-agent orchestrator ai-coding subagents
📂 Исходный код на GitHub

Лёгкая конфигурация OpenCode с паттерном оркестратора: планирование, исполнение, ревью и безопасность через специализированных субагентов. MIT лицензия.

Small OpenCode Orchestrator — лёгкий паттерн оркестрации мультиагентного AI-кодинга

Одиночный AI-агент справляется с простыми задачами. Но когда работа становится объёмнее и неоднозначнее — начинаются проблемы: планирование мешается с реализацией, ревью пропускается, а один и тот же контекст прокачивается через модель снова и снова, сжигая токены.

Small OpenCode Orchestrator — это минимальная конфигурация для OpenCode, которая реализует паттерн оркестратора. Центральный агент координирует работу специализированных субагентов, каждый из которых отвечает за свою фазу: планирование, написание кода, тестирование, ревью, безопасность и документацию.

Зачем это нужно

Автор выделяет шесть типичных проблем одноагентного подхода:

  • Планирование и реализация смешиваются в один беспорядочный процесс
  • Повторяющийся контекст расходует токены впустую
  • Ревью кода выполняется нерегулярно или вообще пропускается
  • Безопасность, документация и тестирование откладываются на потом
  • Крупные задачи порождают огромные, трудночитаемые диффы
  • Одна и та же модель применяется к задачам разной сложности

Решение — разделить ответственность между агентами и дать каждому ровно тот контекст, который нужен.

Как работает воркфлоу

Точка входа — агент orchestrator. Для нетривиальных задач процесс выглядит так:

  1. Оркестратор получает запрос пользователя
  2. Делегирует планирование субагенту plan-runner
  3. План записывается в .opencode/plans/
  4. Пользователь утверждает или отклоняет план
  5. Реализация делегируется субагенту code-executor порциями
  6. Агенты ревью проверяют результат: тесты, код, документация, безопасность

Оркестратор сам не пишет код — у него даже нет прав на запись по умолчанию. Это сделано намеренно: если оркестратор не может писать, он вынужден делегировать. Его задача — координация, анализ контекста и маршрутизация. Каждый субагент получает фокусированную задачу вместо полного контекста проблемы, что существенно экономит токены.

Принципы дизайна

Проект намеренно минимальный. Автор не пытается построить универсальную агентную платформу. Ключевые принципы:

  • Оркестрация должна быть понятной и прозрачной — вы видите, что происходит на каждом этапе
  • Минимум лишнего контекста между агентами — субагенты получают только то, что нужно для их задачи
  • Качество кода через явные шаги планирования и ревью, а не через автоматизацию вслепую
  • Чёткое разделение ответственности — каждый агент знает свою роль
  • Никакой избыточной автоматизации, которая скрывает происходящее

Агенты

Основные (сильные модели)

Агент Роль
orchestrator Координация мультифазной работы через планы и approval-гейты
build Стандартный агент OpenCode для простых задач
plan Стандартный агент OpenCode для планирования

Субагенты (дешёвые модели)

Субагент Роль
plan-runner Составление планов реализации
code-executor Написание кода с минимальными диффами
test-verifier Валидация через тесты, линтинг и типизацию
code-reviewer Ревью диффов на корректность и риски
docs-reviewer Проверка актуальности документации
security-reviewer Поиск уязвимостей в коде
spec-critic Критика планов до начала кодинга
api-docs-researcher Исследование внешней документации API
host-security-investigator Оценка инфраструктурной безопасности

Ключевая идея: сильные и дорогие модели (Kimi K2.6, DeepSeek V4 Pro, GLM 5.1) используются только для координации и планирования. Рутинную работу — исполнение, тестирование, ревью — выполняют дешёвые модели (DeepSeek V4 Flash). Это даёт существенную экономию на токенах без потери качества результата.

Отдельно стоит упомянуть spec-critic — агент, который критикует планы до начала кодинга. Это как гриллинг-сессия из навыков Мэтта Пакокка, но встроенная прямо в воркфлоу: план проходит проверку на слабые места, прежде чем превратится в код.

Навыки (Skills)

Конфигурация включает пять готовых навыков:

  • agent-delegation — таблица решений для маршрутизации задач к нужному субагенту
  • task-management — CLI для отслеживания подзадач с зависимостями
  • pythonic-quality — паттерны Python: идиомы, SOLID, Liskov
  • security-investigation — оркестрация аудита безопасности
  • skill-creator — гайд по созданию новых навыков

Плагины

Plan Post-Approval Handoff

Плагин plan-post-approval.ts автоматизирует переход после утверждения плана:

  • Извлекает пути файлов плана из approval-вопросов
  • Передаёт сессии plan в build через session.summarize и session.prompt
  • Поддерживает настройку маршрутизации через opencode.jsonc
  • Реализует retry с exponential backoff

Конфигурация

Основные настройки в opencode.jsonc:

  • default_agent: "orchestrator" — оркестратор как точка входа по умолчанию
  • permission — deny-by-default: каждый агент объявляет свою политику доступа к инструментам
  • agent.*.model — выбор модели для каждого агента отдельно
  • reasoningEffort, textVerbosity, temperature — тонкая настройка поведения агентов
  • agent.orchestrator.plan_post_approval_handoff_agent — маршрутизация после утверждения плана

Установка

git clone https://github.com/tempont/small-opencode-orchestrator ~/.config/opencode
cd ~/.config/opencode
npm install

После запуска OpenCode агент orchestrator будет точкой входа по умолчанию. Для простых правок можно использовать build напрямую.

Кому подойдёт

Конфигурация полезна, если вам нужно:

  • Больше структуры, чем даёт одноагентный воркфлоу
  • Планирование до начала реализации
  • Компактные, легко ревьюемые диффы
  • Отдельные проходы ревью для тестов, документации, качества кода и безопасности
  • Мультиагентная система, которую можно понять и модифицировать

Для мелких правок это избыточно — один агент build быстрее и дешевле. Но для задач, где важен контроль качества и экономия токенов, оркестратор окупается.

Репозиторий активен и развивается: версия 1.1.0 добавила разделение прав записи, обновила конфигурации агентов и уточнила маршрутизацию моделей. Проект распространяется под MIT лицензией.

Источник: https://github.com/tempont/small-opencode-orchestrator