Small OpenCode Orchestrator — лёгкий паттерн оркестрации мультиагентного AI-кодинга
📂 Исходный код на GitHubЛёгкая конфигурация OpenCode с паттерном оркестратора: планирование, исполнение, ревью и безопасность через специализированных субагентов. MIT лицензия.
Одиночный AI-агент справляется с простыми задачами. Но когда работа становится объёмнее и неоднозначнее — начинаются проблемы: планирование мешается с реализацией, ревью пропускается, а один и тот же контекст прокачивается через модель снова и снова, сжигая токены.
Small OpenCode Orchestrator — это минимальная конфигурация для OpenCode, которая реализует паттерн оркестратора. Центральный агент координирует работу специализированных субагентов, каждый из которых отвечает за свою фазу: планирование, написание кода, тестирование, ревью, безопасность и документацию.
Зачем это нужно
Автор выделяет шесть типичных проблем одноагентного подхода:
- Планирование и реализация смешиваются в один беспорядочный процесс
- Повторяющийся контекст расходует токены впустую
- Ревью кода выполняется нерегулярно или вообще пропускается
- Безопасность, документация и тестирование откладываются на потом
- Крупные задачи порождают огромные, трудночитаемые диффы
- Одна и та же модель применяется к задачам разной сложности
Решение — разделить ответственность между агентами и дать каждому ровно тот контекст, который нужен.
Как работает воркфлоу
Точка входа — агент orchestrator. Для нетривиальных задач процесс выглядит так:
- Оркестратор получает запрос пользователя
- Делегирует планирование субагенту
plan-runner - План записывается в
.opencode/plans/ - Пользователь утверждает или отклоняет план
- Реализация делегируется субагенту
code-executorпорциями - Агенты ревью проверяют результат: тесты, код, документация, безопасность
Оркестратор сам не пишет код — у него даже нет прав на запись по умолчанию. Это сделано намеренно: если оркестратор не может писать, он вынужден делегировать. Его задача — координация, анализ контекста и маршрутизация. Каждый субагент получает фокусированную задачу вместо полного контекста проблемы, что существенно экономит токены.
Принципы дизайна
Проект намеренно минимальный. Автор не пытается построить универсальную агентную платформу. Ключевые принципы:
- Оркестрация должна быть понятной и прозрачной — вы видите, что происходит на каждом этапе
- Минимум лишнего контекста между агентами — субагенты получают только то, что нужно для их задачи
- Качество кода через явные шаги планирования и ревью, а не через автоматизацию вслепую
- Чёткое разделение ответственности — каждый агент знает свою роль
- Никакой избыточной автоматизации, которая скрывает происходящее
Агенты
Основные (сильные модели)
| Агент | Роль |
|---|---|
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 лицензией.