Знакома ситуация: ты даешь продвинутому терминальному агенту задачу переписать старый модуль авторизации или внедрить сложный алгоритм кэширования. Модель бодро начинает шуршать файлами, делает десяток коммитов, а через сорок минут радостно рапортует об успехе. Ты запускаешь тесты — а проект не собирается, потому что агент выбрал устаревшую версию сторонней библиотеки и зашел в архитектурный тупик.
В программировании нет единственно верного пути. Живые разработчики часто спорят о подходах, набрасывают черновики в разных ветках Git и выбирают наиболее элегантное и быстрое решение.
Именно этот принцип соревновательности лег в основу открытого десктопного приложения Herdr. Программа позволяет в пару кликов запустить параллельную «гонку моделей» (Code Race): ты формулируешь одну задачу, а Herdr натравливает на неё несколько независимых агентов (Claude Code, Mistral, DeepSeek), изолируя каждого в отдельной Git-ветке. Ранее мы исследовали среду Orkas для параллельной работы команд ИИ-агентов, а Herdr развивает эту философию в сторону прямого состязания подходов.
Как устроен механизм Code Race в Herdr
Herdr не пытается изобрести собственный движок генерации кода — он выступает дирижером существующих CLI-инструментов. Десктопное приложение написано на Electron и Rust, обеспечивая минимальное потребление системных ресурсов.
Рабочий процесс выглядит следующим образом:
- Инициализация песочниц: При старте задачи Herdr создает временные изолированные ветки Git (
race/claude,race/mistral,race/deepseek). - Параллельный запуск: В фоне запускаются терминальные процессы соответствующих агентов с передачей единого контекста и системного промпта.
- Мониторинг прогресса в реальном времени: В едином графическом окне ты видишь четыре терминала бок о бок: какие файлы правит каждая модель, сколько токенов потрачено и какие команды в bash выполняются прямо сейчас.
- Автоматический арбитраж: Как только один из агентов заявляет о завершении задачи, Herdr запускает тестовый сьют (
npm testилиpytest) и выводит сравнительную таблицу результатов. - Интерактивный мердж: Разработчик может просмотреть diff между ветками в визуальном окне сравнения и слить лучший вариант в основную ветку одной кнопкой.
- Очистка временных веток: После выбора победителя Herdr автоматически удаляет черновики проигравших ботов, не загрязняя историю коммитов репозитория.
Установка и манифест конфигурации команды
Установка утилиты под Linux, macOS и Windows выполняется одной строчкой в терминале:
# Установка для macOS / Linux через curl
curl -fsSL https://get.herdr.ai/install.sh | bash
# Запуск десктопного интерфейса Herdr
herdr start --workspace ./projects/saas-landing
Состав команды соревнующихся ботов и правила остановки гонки описываются в манифесте herdr_team.json:
{
"$schema": "https://herdr.ai/schemas/v1/team.json",
"teamName": "landing-page-race-team",
"workingDirectory": "./projects/saas-landing",
"concurrencyLimit": 4,
"raceMode": {
"enabled": true,
"evaluationMetric": "visual_and_build_success",
"timeoutMinutes": 15
},
"participants": [
{
"agentId": "claude-code-runner",
"model": "claude-3-7-sonnet",
"branchPrefix": "race/claude",
"command": "claude --dangerously-skip-permissions"
},
{
"agentId": "mistral-large-runner",
"model": "mistral-large-latest",
"branchPrefix": "race/mistral",
"command": "herdr-agent --provider mistral"
},
{
"agentId": "deepseek-coder-runner",
"model": "deepseek-coder-v2",
"branchPrefix": "race/deepseek",
"command": "herdr-agent --provider deepseek"
}
]
}
Практическая польза и экономика конкуренции
Конечно, запуск трех-четырех моделей на одну задачу увеличивает суммарный расход токенов втрое. Но в критических сценариях этот перерасход окупается мгновенно:
- Экономия времени инженера: Вместо того чтобы ждать завершения работы одной модели, находить тупик и начинать заново, ты за 10 минут получаешь три принципиально разных архитектурных решения.
- Взвешенный выбор победителя: Один бот может написать более лаконичный код, но забыть тесты; второй реализует надежные проверки, но перегрузит структуру зависимостей. Человек выбирает лучшую ветку и мерджит её в
mainодним кликом. - Анализ расхождений: Сравнивая подходы разных моделей к одной и той же алгоритмической проблеме, разработчик часто подмечает неочевидные краевые случаи (edge cases), о которых сам не задумывался.
- Автоматическое разрешение конфликтов окружения: Каждый агент запускается в изолированном подпроцессе с собственным набором переменных окружения, что исключает взаимную перезапись временных файлов и блокировку портов локального dev-сервера.
- Поддержка локальных и облачных моделей: Ты можешь стравить в одной гонке облачного гиганта Claude 3.7 Sonnet и локальную модель DeepSeek Coder, запущенную через Ollama на твоем ноутбуке, наглядно сравнивая соотношение цены, скорости и качества на реальных файлах проекта.
Herdr превращает разработку с ИИ из игры в рулетку в управляемый инженерный конкурс решений.
