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