Конвейер TDD с ИИ: Как плохие инструкции породили 3 400 тестов и что это исправило

Проблема: Буквальное толкование в масштабе
Разработчик создал многокомпонентный конвейер TDD с использованием Claude Code, где разные агенты выполняют конкретные задачи: один пишет тесты, другой пишет код для их прохождения, третий проводит ревью всего, а четвёртый ищет граничные случаи. Исходная инструкция была простой: «написать тесты для всего».
Система, казалось, работала — количество тестов продолжало расти, и CI был зелёным. Однако аудит выявил проблемы с 3400 сгенерированными тестами:
- 44% валидных
- 30% нуждались в доработке
- 26% полная ерунда
Бесполезные тесты включали:
- Тесты, которые создавали объект JSON-конфигурации, а затем утверждали, что он равен самому себе
- Тесты, которые проверяли, имеет ли интерфейс TypeScript правильную структуру, путём создания объекта и утверждения, что он соответствует только что созданному
- Тесты для статических файлов, которые никогда не изменятся
Разработчик удалил почти 20 000 строк тестового кода и определил основную проблему: «Claude не облажался. Это сделал я. Я сказал „написать тесты для всего“, и он услышал меня громко и чётко. Каждый файл. Каждый конфиг. Каждое определение типа. Мои инструкции были проблемой, и агент следовал им идеально».
Решение: Классификация и ревью
Исправление включало два ключевых изменения:
1. Классификация рабочих элементов перед тестированием:
- Функции получают 3–5 поведенческих тестов (действительно ли это работает?)
- Задачи получают 1–2 дымовых теста (не сломало ли что-то очевидное?)
- Ошибки получают 2–3 регрессионных теста (вернётся ли эта конкретная ошибка?)
- Улучшения тестируют только новое или изменённое поведение
2. Добавление агента ревью: Отдельный агент рассматривает и тесты, и реализацию с новым контекстом, выявляя проблемы, которые пропустили агенты-писатели, потому что были слишком близки к своему собственному выводу.
Результаты после исправления
- 3400 тестов сократились до 2525
- Время выполнения упало со 117 секунд до ~50 секунд
- Каждый оставшийся тест проверяет фактическое поведение
Ключевое понимание
«Создание с помощью ИИ-агентов делает ваше небрежное мышление видимым в масштабе. Человек пишет плохие тесты — вы получаете несколько плохих тестов. Дадите плохую инструкцию конвейеру агентов, обрабатывающему сотни рабочих элементов? Вы получите сотни плохих тестов. То же плохое мышление, просто усиленное во всём, к чему оно прикасается. Исправьте мышление — исправьте результат».
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Использование Claude Haiku в качестве фильтра для снижения затрат на API Sonnet на 80%
Разработчик создал двухэтапный конвейер, используя Claude Haiku для фильтрации 85% неструктурированного текста перед отправкой только релевантного контента в Claude Sonnet, что сократило затраты на API примерно на 80% при обработке тысяч комментариев.

Клод Опус 4.7 в реальном реагировании на инциденты: самостоятельное устранение утечки вредоносного ПО в здравоохранении за 5 часов
Инженер по безопасности использовал Claude Opus 4.7 для реверс-инжиниринга Python байткода RAT, составления оценки рисков HIPAA и написания 12 криминалистических скриптов — закрыв инцидент с вредоносным ПО в практике из 60 человек в одиночку за 5 часов вместо команды из 3–6 человек на неделю.

Разделение ИИ-агентов для предотвращения потери контекста
Разработчик на r/openclaw описывает свой подход к управлению ИИ-агентами, разделяя одного агента на несколько специализированных, чтобы решить проблему ограничений контекстного окна. Когда один агент пытался одновременно обрабатывать рабочую почту, личный календарь, проверку кода и планы на ужин, он начал терять контекст, что и привело к разделению.

Локальный многозадачный исследовательский помощник экономит 15–25 минут на задачу
ИТ-администратор создал локальный многокомпонентный исследовательский конвейер на моделях Ollama, который генерирует структурированные отчёты примерно за 2 минуты вместо 20-30 минут ручного исследования. Система работает на RTX 5090 с 64 ГБ ОЗУ и интегрирована с OpenClaw для управления агентами.