Как собрать команду из разных AI кодеров в одном терминале

31 авг 2026
1,488
131
16
2 недели

У многих из нас на рабочей машине уже скопился приличный зоопарк консольных утилит для генерации кода. У меня, к примеру, параллельно установлены Claude Code для архитектурных правок, Aider для точечной работы с локальными моделями через Ollama и Cursor CLI. Проблема в том, что все они существуют сами по себе. Приходится руками переключать вкладки, копировать контекст между терминалами и постоянно следить, чтобы очередной помощник молча не закоммитил мусор в git.

На днях я наткнулся на любопытный проект delegate-skills. Его автор предложил простую схему: превратить одного агента в главного дирижера, который раздает задачи специализированным консольным утилитам, а контроль за изменениями и коммиты оставляет человеку.

Что это за проект

Репозиторий представляет собой набор расширений для стандарта Skills CLI. Это скрипты, которые учат ведущую языковую модель находить установленные в системе кодинг-агенты, формировать для них изолированные задания и контролировать результат.

Вместо создания очередного тяжелого фреймворка с десятками зависимостей разработчик пошел по пути максимального упрощения. Внутри нет внешних npm-пакетов. Все реле написаны на стандартных библиотеках Node.js, не лезут в сеть за спиной пользователя и не собирают телеметрию.

Четыре жестких правила архитектуры

Проект держится на строгих принципах, которые автор называет инвариантами:

Реклама
  1. Исполнитель всегда работает с реальным деревом файлов. Никаких виртуальных песочниц внутри памяти или промежуточных API-прослоек. Результатом работы всегда выступает честный git diff.
  2. Промежуточный скрипт никогда не делает коммит. Фиксация изменений в репозитории остается исключительно за разработчиком после ручной проверки.
  3. Полная автономность без внешних библиотек. Скрипты запускают только бинарник агента и системный git.
  4. Единый формат ответа delegate-relay.result.v1. Независимо от того, какую утилиту вы вызвали, оркестратор получает структурированный JSON со статусом, кодом выхода, списком затронутых файлов и идентификатором сессии.

Как устроена работа с флотом агентов

В проекте есть два способа распределения работы. Первый вариант — прямая передача задачи конкретному инструменту через команду вида $codex-delegate. Второй путь интереснее: вы настраиваете так называемый флот, где разные типы задач привязаны к определенным дорожкам.

Например, дорожку feature можно отдать под OpenCode, дорожку tests поручить OpenAI Codex, а верстку в дорожке ui направить в Cursor.

Установка пакета выполняется одной командой:

npx skills add amElnagdy/delegate-skills

После установки ведущему агенту достаточно дать указание провести инвентаризацию:

Use $delegate-setup to discover my installed implementer CLIs and create a fleet for feature, tests, and UI work.

Утилита найдет все доступные бинарники, предложит конфигурацию и запишет ее в файл только после вашего прямого подтверждения. Конфигурация может быть глобальной или лежать внутри конкретного репозитория.

Если нужно отдать задачу напрямую, инструкция выглядит привычно:

Use $claude-delegate to have a separate Claude Code session implement the parser fix, then review and commit it.

Реальные тесты и шероховатости чужих CLI

Больше всего в репозитории подкупает честность. В таблице совместимости детально расписаны особенности поведения 16 разных инструментов: Aider, Claude Code, Cline, Cursor Agent, Grok Build, Kimi Code, Oh My Pi, Mistral Vibe, Qoder, Copilot CLI и других.

Автор не стал скрывать проблемы чужих утилит, а аккуратно обошел их в коде:

  • Aider по умолчанию настроен автоматически коммитить любые правки, включая те файлы, которые уже были изменены до запуска. Реле принудительно передает флаги --no-auto-commits и --no-dirty-commits, блокируя такое поведение.
  • Утилита Command Code при завершении работы сбрасывает процесс и обрубает пайп вывода, из-за чего хвостовые события теряются. Скрипт переписали так, чтобы идентификаторы сессий и важные данные читались из самого начала потока, а не из хвоста.
  • Консольный клиент ZCode поставляется внутри готового десктопного приложения и отсутствует в переменной PATH. Скрипт поиска умеет самостоятельно заглядывать внутрь установленных пакетов программ и доставать исполняемый файл оттуда.
  • Для агентов без встроенного режима только для чтения внедрена проверка состояния git, которая сразу сообщает, если инструмент нарушил границы дозволенного и без спроса изменил файлы.

Типичный цикл решения задачи

Работа строится по прозрачному сценарию:

  1. Оркестратор формирует бриф. Это емкое, самодостаточное техническое задание в виде текста или файла. У исполнителя нет доступа к истории чата ведущей модели, поэтому контекст передается целиком.
  2. Скрипт-реле запускает нужный CLI в фоновом режиме, передавая бриф через аргументы или стандартный ввод.
  3. После завершения формируется отчет result.json. Оркестратор или разработчик видит точный список затронутых файлов.
  4. Вы запускаете тесты, линтеры, проверяете git diff и сами делаете git commit.

Такой подход отлично разгружает голову при рутинных операциях вроде расстановки типов в TypeScript, написания шаблонных тестов или массового переименования методов в сервисах.

Кому проект будет полезен

Если вы пользуетесь одной нейросетью внутри редактора для мелких подсказок, городить такую конструкцию нет смысла.

Но если вы активно гоняете разные консольные утилиты, экспериментируете с локальными моделями через Aider и держите Claude Code для сложных задач, delegate-skills наводит порядок в этом хаосе. Вы получаете предсказуемый мост между инструментами без лишних прослоек, закрытых облаков и риска потерять контроль над кодовой базой. Лицензия у проекта MIT, так что его можно смело брать за основу собственных скриптов автоматизации.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.