Добавить в корзинуПозвонить
Найти в Дзене
Цифровая Переплавка

🚀 Git, Tmux и множество AI-агентов: как параллелизм меняет правила игры в разработке

Представьте, что вы ставите перед собой задачу разработать новый UI-компонент. Стандартный сценарий: вы придумываете описание, отправляете запрос в LLM (Large Language Model, крупные языковые модели вроде Claude или GPT) и надеетесь получить адекватный код. Но любой, кто хоть раз пользовался AI-кодогенераторами, знает, что вероятность успеха не так высока, как хотелось бы. Что если одновременно запустить несколько таких агентов, а затем просто выбрать лучший результат? Именно так и сделал Николас Хами, автор недавней статьи на своём блоге. Но вместо того, чтобы запускать процессы вручную и постоянно путаться в коде, он применил элегантное решение, сочетая Git Worktrees и Tmux. Итог оказался настолько впечатляющим, что Николас не только стал «евангелистом параллелизма», но и начал разработку инструмента для автоматизации этого подхода. Почему это важно и что это значит для будущего разработки — давайте разбираться. Когда Николас захотел реализовать переключатель (Toggle) для своей библи
Оглавление
Кибер-рабочее место в неоне: над ноутбуком витает сеть git-веток и tmux-окон, вокруг летают мини-боты-агенты и сияет шестерёнка инструмента — образ параллельной AI-кодогенерации, ускоряющей поиск решения.
Кибер-рабочее место в неоне: над ноутбуком витает сеть git-веток и tmux-окон, вокруг летают мини-боты-агенты и сияет шестерёнка инструмента — образ параллельной AI-кодогенерации, ускоряющей поиск решения.

Представьте, что вы ставите перед собой задачу разработать новый UI-компонент. Стандартный сценарий: вы придумываете описание, отправляете запрос в LLM (Large Language Model, крупные языковые модели вроде Claude или GPT) и надеетесь получить адекватный код. Но любой, кто хоть раз пользовался AI-кодогенераторами, знает, что вероятность успеха не так высока, как хотелось бы. Что если одновременно запустить несколько таких агентов, а затем просто выбрать лучший результат?

Именно так и сделал Николас Хами, автор недавней статьи на своём блоге. Но вместо того, чтобы запускать процессы вручную и постоянно путаться в коде, он применил элегантное решение, сочетая Git Worktrees и Tmux. Итог оказался настолько впечатляющим, что Николас не только стал «евангелистом параллелизма», но и начал разработку инструмента для автоматизации этого подхода. Почему это важно и что это значит для будущего разработки — давайте разбираться.

🧩 Почему один агент – это мало?

Когда Николас захотел реализовать переключатель (Toggle) для своей библиотеки компонентов, он запустил сразу четырёх агентов (два Claude Code и два Codex), каждый в отдельном Git Worktree.

Результаты были показательными:

  • 🟢 Один агент выдал почти готовое решение.
  • 🔴 Остальные три агента ошиблись — кто-то не справился с дизайном, кто-то с логикой.

Простая математика показала: если шанс успеха одного агента примерно 25%, то запуск четырёх агентов даёт 68% вероятности получить рабочее решение сразу.

  • 📈 Вероятность успеха одного агента: ~25%
  • 📊 Вероятность успеха при четырёх параллельных агентах: 68% (1 - 0.75^4 ≈ 0.68)

Это резко снижает затраты времени, а стоимость запуска агентов (в данном случае всего около 40 центов) выглядит просто ничтожной по сравнению с сэкономленными 20-30 минутами работы.

⚙️ Под капотом: как работает Git Worktrees и Tmux?

Для параллельного запуска Николас использует две проверенные временем технологии:

  • 🌳 Git Worktrees – это возможность иметь несколько независимых рабочих директорий, подключённых к одному репозиторию. Каждый агент получает своё пространство, благодаря чему их изменения не пересекаются и не конфликтуют.
  • 📺 Tmux – инструмент, позволяющий разделять терминал на несколько независимых сессий и окон, удобно мониторить работу всех агентов одновременно.

На практике всё выглядит примерно так:

  1. Создаётся несколько worktrees (git worktree add ...).
  2. Запускается Tmux-сессия с отдельной вкладкой для каждого агента.
  3. Каждый агент получает свой промпт и работает независимо.
  4. В конце автор проверяет результаты и выбирает лучшую ветку для объединения.

🥲 Проблемы текущего подхода: когда автоматизации не хватает

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

  • 🗂 Путаница в ветках: сложно отслеживать, какая ветка на какой коммит базируется.
  • 📋 Повторная отправка запросов: один и тот же промпт приходится вставлять вручную каждому агенту.
  • 🛠 Сложности с предварительным просмотром: запускать сервер и помнить порты для каждой директории неудобно.
  • 🚨 Ручное создание Pull Request'ов: много лишних действий по коммиту и отправке результатов на ревью.

Именно это вдохновило Николаса и его коллегу Дензелла начать разработку инструмента, который получил название uzi.

🚧 uzi: инструмент, который упрощает параллельную работу AI-агентов

Идея uzi проста и гениальна одновременно — автоматизировать всю ручную работу и сделать управление несколькими AI-агентами максимально комфортным. Вот некоторые команды, которые планируется реализовать в uzi:

  • 🎯 uzi start --agents claude:3,codex:2 --prompt "Реализовать фичу X"
    Автоматически запускает три агента Claude и два Codex с одинаковым промптом в отдельных worktrees.
  • 📜 uzi ls
    Показывает все активные сессии, ветки и их статус.
  • 🚀 uzi exec --all -- yarn dev
    Запускает команду сразу во всех worktrees, например, сервер для предварительного просмотра.
  • 📣 uzi broadcast -- "Исправьте предыдущий код с акцентом на Y"
    Отправляет дополнительный промпт всем запущенным агентам одновременно.
  • ✅ uzi checkpoint --agent claude-1 --message "Первоначальная реализация"
    Создаёт контрольную точку (чекпоинт), коммитит изменения и перебазирует рабочую ветку.
  • 🗑️ uzi kill --agent codex-2
    Завершает работу указанного агента и удаляет ненужную ветку.

Это позволит экономить часы ручной работы, сделав процесс почти автоматическим.

🌍 Параллелизм — будущее не только разработки

Но параллелизм, как подчёркивает автор, имеет потенциал далеко за пределами написания кода. Представьте такие сценарии:

  • ⚖️ Юридические задачи: Юрист может запустить несколько агентов для анализа и редактирования контрактов, выбирая лучшее из множества вариантов.
  • 📢 Маркетинг и аналитика: Маркетолог запускает сразу несколько AI-аналитиков, получая разные ракурсы одного и того же отчёта для принятия более взвешенных решений.

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

💡 Моё личное мнение

Я убеждён, что подход Николаса не просто интересен, но и крайне перспективен. Git Worktrees и Tmux сами по себе не новые технологии, но сочетание их с AI-кодогенераторами — это именно то, что превращает искусственный интеллект из модной игрушки в мощнейший инструмент разработчика. Автоматизация же процесса с помощью инструментов вроде uzi обещает нам новую волну продуктивности и удобства в ближайшие годы.

Вместо того чтобы вручную перебирать варианты, мы можем запустить параллельно десяток AI-ассистентов и просто выбирать лучшее из того, что они предлагают. Думаю, через несколько лет это станет обычной практикой во многих индустриях.

🔗 Полезные ссылки: