Red/Green TDD (*разработка через тестирование*)

Red/Green TDD (*разработка через тестирование*)

@ai_longreads

Лаконичный и эффективный подход к получению лучших результатов от кодирующих агентов — использование красно-зелёного цикла TDD.

Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.


Red/Green TDD (разработка через тестирование)

Red/green TDD Автор: Simon Willison Оригинальный текст:

Что такое Red/Green TDD

«Используй red/green TDD (разработка через тестирование)» — удивительно ёмкая формулировка, позволяющая получать более качественные результаты от кодирующего агента.

TDD расшифровывается как Test Driven Development — стиль программирования, при котором каждый фрагмент написанного кода сопровождается автоматическими тестами, подтверждающими его работоспособность.

Наиболее дисциплинированная форма TDD — это разработка «сначала тесты». Вы пишете автоматические тесты первыми, убеждаетесь, что они падают, а затем итерируете над реализацией до тех пор, пока тесты не пройдут.

Почему это отлично подходит для агентов

Этот подход оказывается превосходным для кодирующих агентов. Существенный риск при работе с агентами состоит в том, что они могут написать неработающий код, создать ненужный код, который никогда не будет использован, — или и то, и другое сразу.

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

Красная и зелёная фазы

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

Именно это означает «red/green»: красная фаза — наблюдение за падающими тестами, затем зелёная фаза — подтверждение того, что теперь они проходят.

Каждая хорошая модель понимает «red/green TDD» как сокращение для гораздо более длинной формулировки: «используй разработку через тестирование, напиши тесты первыми, убедись, что тесты падают, прежде чем реализовывать изменение, которое заставит их пройти».

Пример промпта

Пример prompt engineering (проектирование промптов):

Вот что получилось у Claude и у ChatGPT. Обычно для этого используется кодирующий агент вроде Claude Code или OpenAI Codex, но данный пример достаточно прост, чтобы и Claude, и ChatGPT справились с ним в своих стандартных средах выполнения кода.

Для ChatGPT пришлось добавить «Use your code environment» к промпту — без этого он писал код, не выполняя его.


Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!

Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot

Report Page