Поручить автономному кодинг-агенту крупную задачу в монолитном промпте — верный способ превратить рабочий репозиторий в поле боя. Нейросеть берется за все сразу: переписывает схему базы данных, правит серверный роутинг, ломает клиентские тесты и бодро рапортует об успехе, оставив после себя сотни конфликтующих строк. Если же запустить второго агента параллельно в том же каталоге, они начинают затирать файлы друг друга.
Открытый инструмент Ordewell предлагает навести порядок в работе автономных программистов с помощью классического принципа разделения обязанностей и нативной изоляции через механизм рабочих деревьев Git.
Ловушка монолитного промпта
Главная слабость большинства современных консольных ассистентов заключается в отсутствии фазы предварительного архитектурного планирования. Модель начинает генерировать код немедленно после получения запроса. В коротких скриптах это экономит время, но в больших проектах приводит к потере контекста: к десятому файлу агент забывает, о чем договаривался в первом.
Ordewell разделяет жизненный цикл задачи на два независимых этапа: планирование и исполнение. При запуске планировщик работает в строгом режиме чтения. Он обходит кодовую базу, анализирует зависимости, задает инженеру уточняющие вопросы и строит направленный граф задач. Любые попытки модифицировать файлы на этом шаге блокируются. Разработчик видит наглядный чертеж предстоящих работ до того, как будет потрачен бюджет на генерацию кода.
Сначала декомпозиция, затем правки
Каждый узел сгенерированного графа автономен. Ordewell позволяет закрепить за конкретной задачей специализированного раннера (Claude Code, OpenAI Codex, OpenCode) и модель с нужной глубиной рассуждений. Например, проектирование сложной логики поручается мощной модели с максимальным аналитическим потенциалом, а рутинное написание типовых юнит-тестов или обновление документации — более быстрой и дешевой.
# Выбор провайдера для этапа аналитики и запуск декомпозиции цели
export AI_PROVIDER=claude-code
ordewell plan --goal "Добавить rate limiting для публичных API эндпоинтов и покрыть тестами"
Планировщик формирует структурированный граф задач с указанием связей, раннеров и изолированных веток:
Task 1 [core-middleware]:
Runner: claude-code (model: claude-3-7-sonnet, effort: high)
Prompt: "Реализовать middleware ограничения запросов на базе скользящего окна в Redis"
Dependencies: none
Branch: ordewell/task-1-core-middleware
Task 2 [unit-tests]:
Runner: opencode (model: gpt-4o, effort: medium)
Prompt: "Написать юнит-тесты для rate limiting middleware с моком Redis"
Dependencies: [1]
Branch: ordewell/task-2-unit-tests
Task 3 [docs-update]:
Runner: codex (model: o3-mini, effort: low)
Prompt: "Обновить спецификацию OpenAPI и README с описанием заголовков X-RateLimit"
Dependencies: [1]
Branch: ordewell/task-3-docs-update
Изоляция через Git Worktree и проверка маркеров
Вместо того чтобы пускать несколько агентов в одну рабочую папку, Ordewell задействует git worktree. Это стандартный механизм Git, позволяющий одновременно держать на диске несколько независимых рабочих каталогов, привязанных к разным веткам одного локального хранилища.
Каждая параллельная ветка графа выполняется в собственной изолированной директории. Агенты не мешают друг другу и физически не могут испортить незакоммиченные файлы инженера в основном каталоге.
Еще одна важная деталь — проверка фактической готовности. Языковые модели нередко завершают диалог фразой «все готово», хотя тесты упали с ошибкой. Ordewell верифицирует завершение работы раннера по детерминированному маркеру в потоке вывода (Completion Marker) и коду возврата процесса. Только после подтверждения маркерного сигнала задача переходит в статус выполненной.
Управляемый мерж и инженерные компромиссы
После того как агенты завершили работу в своих изолированных ветках, наступает этап слияния изменений (handoff). Ordewell собирает результаты в общую интеграционную ветку, проверяя целостность сборки. Разработчик может скорректировать назначенных исполнителей, запустить конвейер и проинспектировать итоговый diff:
# Ручная корректировка модели для отдельной задачи в графе
ordewell task-model 3 claude-3-5-haiku
# Запуск параллельного конвейера исполнения в изолированных worktrees
ordewell run
# Просмотр сводного диффа изменений перед интеграцией в рабочую ветку
ordewell handoff review
# Финальное принятие правок и объединение ветки с основной базой кода
ordewell handoff merge
Инструмент доступен как в виде глобальной CLI-утилиты на Node.js, так и в виде расширения для редактора VS Code. За удобство изоляции приходится платить дисковым пространством: каждый активный worktree создает на диске физическую копию рабочих файлов проекта (хотя история и объекты делятся через общий каталог .git). Кроме того, на операционной системе Windows для корректной работы с псевдотерминалами требуется подсистема WSL.
Ordewell превращает работу с кодинг-агентами из непредсказуемой лотереи в структурированный инженерный процесс. Четкая граница между планированием и кодингом в связке с физической изоляцией рабочих копий дает контроль, необходимый для внедрения ИИ в реальные командные репозитории.
