githubEdit

AI Driven Development

Появление мощных языковых моделей изменило не только инструменты разработки, но и сами подходы к созданию ПО. AI Driven Development описывает, как команды организуют процесс, когда AI-ассистент становится полноправным участником написания кода, генерации тестов и архитектурных решений. Для QA-специалиста понимание этих подходов важно: они меняют природу дефектов, скорость итераций и требования к тестовому покрытию.

Определение

AI Driven Development (AIDD) — совокупность подходов, при которых AI-инструменты встроены в ключевые этапы разработки: от написания спецификаций и кода до генерации тестов и ревью.

Методологии отличаются по степени автономии AI:

Степень автономии AI
Роль разработчика
Примеры подходов

AI как ассистент

Пишет код сам, AI помогает

AI-Augmented Development

AI как основной исполнитель

Ставит задачи, ревьюит результат

Vibe Coding, Spec-Driven AI Dev

AI как агент

Задаёт цели, AI действует автономно

Agentic Development


AI-Driven Development Lifecycle (AI-DLC)

AI-Driven Development Lifecycle (AI-DLC) — адаптация классического SDLC под реалии AI-ассистированной разработки. В отличие от традиционного жизненного цикла, AI участвует на каждой фазе: не только на этапе кодирования, но и при формировании требований, тест-дизайне, ревью и мониторинге.

Фазы AI-DLC

1. Discovery & Ideation (обнаружение и идеация)

AI анализирует рыночный контекст, синтезирует пользовательские интервью, генерирует гипотезы и user stories из неструктурированных данных.

Роль QA: участие в формулировке acceptance criteria с самого начала — AI-сгенерированные истории требуют ревью на полноту и тестируемость.

2. Specification (спецификация)

AI преобразует высокоуровневые требования в детальные спецификации, генерирует примеры граничных условий, выявляет противоречия в требованиях.

Роль QA: верификация AI-сгенерированных спецификаций — проверка покрытия edge cases, соответствия бизнес-логике, отсутствия двусмысленностей.

circle-info

На этом этапе QA-инженер становится соавтором промптов для AI: чем точнее сформулированы требования, тем меньше дефектов возникнет на этапе реализации.

3. Implementation (реализация)

AI генерирует код по спецификации (Vibe Coding, Agentic Development) или ускоряет работу разработчика (AI-Augmented Development). Скорость итераций кратно выше, чем в традиционном SDLC.

Роль QA: непрерывный параллельный тест-дизайн — тест-кейсы пишутся одновременно с кодом, а не после.

4. Testing (тестирование)

AI генерирует тест-кейсы по коду и спецификации, помогает анализировать покрытие, предсказывает зоны риска на основе истории дефектов.

Роль QA: ревью AI-сгенерированных тестов на корректность и полноту, добавление исследовательских сценариев, которые AI не предусмотрел.

circle-exclamation

5. Review & Integration (ревью и интеграция)

AI проводит статический анализ, выявляет потенциальные уязвимости, проверяет соответствие code style. CI/CD-пайплайн запускается автоматически; агент может итерировать фикс до прохождения всех проверок.

Роль QA: аудит AI-решений в пайплайне, контроль того, что агент не «починил» тесты вместо кода.

6. Deployment & Monitoring (деплой и мониторинг)

AI анализирует логи в реальном времени, кластеризует ошибки, предсказывает аномалии до того, как они становятся инцидентами.

Роль QA: настройка правил алертинга, верификация того, что AI-мониторинг покрывает бизнес-критичные метрики, а не только технические.

7. Feedback Loop (петля обратной связи)

AI синтезирует данные из production (логи, метрики, отзывы пользователей) и генерирует предложения по улучшению — новые user stories для следующей итерации.

Роль QA: оценка качества AI-синтеза обратной связи, проверка что критические дефекты из прода попадают в backlog.

AI-DLC vs традиционный SDLC

Параметр
Традиционный SDLC
AI-DLC

Скорость итерации

Недели — месяцы

Дни — недели

Генерация требований

Аналитик вручную

AI + аналитик

Написание кода

Разработчик

Разработчик + AI / AI-агент

Тест-дизайн

QA вручную

AI генерирует, QA ревьюит

Ревью кода

Человек

Человек + AI-анализ

Мониторинг

Дашборды + алерты

AI-аномалии + дашборды

Узкое место

Разработка

Спецификация и ревью

Ключевые риски AI-DLC для QA

  • Ускорение без качества: скорость растёт, но если QA не масштабируется пропорционально — дефекты накапливаются

  • Дрейф требований: AI на каждой фазе интерпретирует требования заново — итоговый продукт может расходиться с исходным замыслом

  • Потеря аудируемости: когда AI участвует на всех этапах, сложно восстановить, почему было принято то или иное решение

  • Зависимость от модели: смена или обновление модели может изменить поведение всего пайплайна


Vibe Coding

Vibe Coding — подход, при котором разработчик описывает желаемое поведение на естественном языке, а AI генерирует весь код. Разработчик проверяет результат на глаз и итерирует промптами, не вникая в детали реализации.

Термин ввёл Андрей Карпатий в феврале 2025 года.

Характеристики

  • Скорость прототипирования кратно выше — от идеи до работающего MVP за часы

  • Разработчик не обязательно понимает каждую строку кода

  • Качество сильно зависит от навыков промптинга

Риски для QA

  • Код может работать «примерно правильно», но содержать скрытые логические ошибки

  • Edge cases и граничные условия часто не покрыты — AI оптимизирует под «happy path»

  • Технический долг накапливается быстро: AI генерирует рабочий, но не всегда поддерживаемый код

  • Разработчик затрудняется объяснить логику кода — это усложняет составление тест-кейсов

circle-exclamation

AI-Augmented Development (AI-усиленная разработка)

AI-Augmented Development — классическая разработка с AI-ассистентом в роли умного автодополнения. Разработчик пишет код сам, AI ускоряет рутину: дополняет строки, генерирует шаблонный код, объясняет чужой код.

Инструменты: GitHub Copilot, Cursor, JetBrains AI Assistant, Codeium.

Что меняется для QA

  • Скорость разработки растёт — тестирование должно успевать за ней

  • Сгенерированный AI код часто не имеет комментариев и документации

  • AI склонен копировать паттерны из обучающих данных, включая устаревшие или небезопасные


Spec-Driven AI Development (разработка от спецификации)

Spec-Driven AI Development — подход, при котором команда вкладывает максимум усилий в создание детальной спецификации (требований, acceptance criteria, примеров поведения), а затем передаёт её AI для генерации кода и тестов.

Процесс

  1. Аналитик и QA совместно пишут подробную спецификацию с примерами

  2. Спецификация используется как промпт для AI

  3. AI генерирует код и тесты одновременно

  4. QA верифицирует соответствие результата спецификации

Значение для QA

Этот подход возвышает роль QA на ранних этапах: качество спецификации напрямую определяет качество сгенерированного кода. Неточное требование → неверный код и тест → дефект на проде.

circle-info

Spec-Driven AI Development — естественная эволюция BDD: Gherkin-сценарии становятся не только документацией, но и промптами для AI-генерации шагов автотеста.


Agentic Development (агентная разработка)

Agentic Development — подход, при котором AI-агент автономно выполняет многошаговые задачи: читает код, планирует изменения, пишет и запускает тесты, фиксит ошибки, создаёт PR.

Инструменты: Claude Code, GitHub Copilot Workspace, Devin, OpenHands.

Цикл работы агента

Риски для QA

  • Агент может «исправить» тест вместо исправления кода — тест адаптируется под баг

  • Агент оптимизирует под прохождение тестов, а не под корректность логики

  • Цепочка агентных действий сложна для аудита — непонятно, почему агент принял то или иное решение

  • При ошибке планирования агент уверенно движется в неверном направлении


Context Engineering (инженерия контекста)

Context Engineering — дисциплина создания оптимального контекста для AI: формулировка задач, подбор примеров, структурирование входных данных так, чтобы модель выдавала максимально точный результат.

В отличие от разовых промптов, Context Engineering — системная практика: шаблоны промптов, правила работы с кодовой базой, стандарты описания задач.

Применение в QA

  • Шаблоны промптов для генерации тест-кейсов по требованиям

  • Стандарты передачи контекста (какие файлы, какую историю дефектов прикладывать)

  • Оценка и улучшение качества AI-вывода как процесс, а не разовое действие


Prompt-Driven Development

Prompt-Driven Development — подход, при котором промпт становится артефактом разработки наравне с кодом: версионируется, ревьюится, поддерживается командой.

Артефакты подхода

  • Prompt Library — библиотека проверенных промптов для типовых задач

  • Prompt Templates — шаблоны с переменными под конкретные контексты

  • Prompt Tests — наборы входных данных и ожидаемых выводов для проверки промптов

Значение для QA

Промпты нуждаются в тестировании так же, как код:

  • Нужно проверить стабильность вывода (одинаковый промпт → похожий результат)

  • Граничные случаи: что происходит при неполном контексте, на другом языке, с противоречивыми требованиями

  • Регрессия промптов: обновление модели может изменить поведение существующих промптов


Human-in-the-Loop (HITL)

Human-in-the-Loop — принцип, при котором AI выполняет работу автономно, но критические решения требуют подтверждения человека. HITL — не методология целиком, а архитектурный паттерн, встраиваемый в любой из перечисленных подходов.

Точки HITL в разработке

Этап
AI делает
Человек проверяет

Генерация кода

Пишет реализацию

Ревью логики и безопасности

Генерация тестов

Создаёт тест-кейсы

Оценивает полноту покрытия

Исправление дефектов

Предлагает фикс

Подтверждает корректность

Деплой

Запускает пайплайн

Разрешает выкатку на прод


Сравнение методологий

Методология
Скорость
Контроль качества
Роль QA

AI-Augmented Development

Высокая

Стандартный

Традиционная

Vibe Coding

Очень высокая

Низкий без QA

Критически важна

Spec-Driven AI Dev

Средняя

Высокий при хорошей спеке

Сдвинута влево

Agentic Development

Высокая

Зависит от агента

Валидация + аудит

Prompt-Driven Development

Средняя

Требует prompt-тестирования

Расширяется на промпты


Влияние на процессы QA

Что ускоряется

  • Генерация черновых тест-кейсов по требованиям

  • Автоматизация типовых регрессионных сценариев

  • Анализ логов и трассировок после сбоев

Что усложняется

  • Аудит AI-решений: сложнее понять, почему код именно такой — это затрудняет тест-дизайн

  • Управление техническим долгом: AI-код накапливает долг быстро, регрессия растёт

  • Тестирование промптов: новый вид артефакта, требующий отдельного подхода

  • Воспроизводимость дефектов: при агентной разработке воссоздать условия дефекта сложнее

Новые обязанности QA

  • Ревью AI-сгенерированных тест-кейсов на полноту и корректность

  • Участие в составлении спецификаций как входных данных для AI

  • Тестирование самих промптов и агентных пайплайнов

  • Оценка рисков автономных AI-действий (что агент мог сломать)


Источники

Дополнительные материалы

Last updated