Инженерная альтернатива TDD: как разработчик собрал собственный набор ИИ-скиллов для гибкой работы с агентами

Habr AI · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Разработчик представил open-source проект ai-bro, который предлагает структурированный подход к работе с ИИ-агентами без жесткой привязки к методологии TDD. Инструмент разделяет задачи на этапы обсуждения, планирования и реализации, используя многоуровневую оркестрацию моделей для повышения эффективности.

Материал демонстрирует практический пример адаптации ИИ-инструментов под реальные рабочие процессы, предлагая альтернативу популярным, но спорным подходам вроде TDD. Это важно для понимания того, как инженеры оптимизируют взаимодействие с LLM в условиях растущей сложности задач.

В среде разработки ИИ-инструментов наблюдается полярное отношение к методологии TDD (тестирование-ориентированное проектирование). Хотя этот подход пропагандируется многими популярными плагинами, автор проекта ai-bro описывает свой опыт работы с ним как негативный. По его словам, написание e2e-тестов до реализации часто приводит к циклической переработке кода и потере времени на проверку «красных» и «зеленых» тестов, что он характеризует как бессмысленное перекладывание байтов. Вместо этого разработчик создал собственный набор скиллов, основанный на трех ключевых этапах: обсуждении, планировании и реализации.

Первый этап, «обсуждение», реализован через скилл bro-think-with-me. Автор отмечает, что ИИ-агенты склонны к беспрекословному повиновению и могут выполнять неадекватные запросы, если их не ограничить. Поэтому в этом режиме заложено правило задавать строго по одному вопросу за раз, что помогает структурировать диалог и экономить контекст оркестратора. Второй этап предполагает создание артефактов: плана (bro-give-me-plan) или спецификации (bro-give-me-spec). В отличие от многословных спецификаций в других инструментах, здесь фиксируется конечный результат без детализации шагов реализации, что обеспечивает большую гибкость. При этом качество кода контролируется не скиллами, а инструкциями самого проекта.

Этап реализации запускается командой bro-do-it. Скилл работает как с созданными ранее артефактами, так и с прямыми текстовыми задачами из чата. Внутри процесса агент действует по итерациям, ограниченным максимумом в 10 циклов. Механика включает определение задачи, запуск субагента на реализацию, детальное ревью кода и проверку соответствия результата поставленной цели. Если возникают проблемы, процесс возвращается к этапу реализации. Автор подчеркивает, что эскалация к человеку происходит крайне редко, обычно когда агент исчерпывает лимит итераций на этапе ревью.

Особое внимание уделено оркестрации моделей. Используя Cursor как основной harness, разработчик разделил доступные модели на тиры ответственности: junior для простых задач, middle для задач со средней неопределенностью и senior для сложных случаев. Позднее был добавлен тир critical для вопросов безопасности и финансовых операций. Такое разделение позволяет эффективно использовать разные LLM (включая Claude, Codex и другие) в зависимости от сложности подзадачи.

Завершающий этап, bro-finish-it, предназначен для очистки временных документов. Автор утверждает, что хранение спецификаций и планов после принятия PR мешает агенту при исследовании базы знаний проекта. Эти документы трансформируются в постоянный слой знаний, а сами артефакты удаляются, чтобы избежать путаницы со статусами.

Проект ai-bro позиционируется как универсальный инструмент для гибкой работы с ИИ-агентами, который регулярно развивается автором. Исходный код написан на понятном русском языке и доступен на GitHub, что позволяет другим разработчикам изучать логику составления скиллов и адаптировать подход под свои нужды. Лендинг проекта содержит подробное описание всех компонентов системы.