> For the complete documentation index, see [llms.txt](https://vladislaveremeev.gitbook.io/qa_bible/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vladislaveremeev.gitbook.io/qa_bible/ai-v-testirovanii/ai-driven-development.md).

# 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, соответствия бизнес-логике, отсутствия двусмысленностей.

{% hint style="info" %}
На этом этапе QA-инженер становится соавтором промптов для AI: чем точнее сформулированы требования, тем меньше дефектов возникнет на этапе реализации.
{% endhint %}

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

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

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

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

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

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

{% hint style="warning" %}
AI оптимизирует тест-кейсы под видимую логику кода. Дефекты в самой логике — требования к которым AI неверно понял — такие тесты не найдут.
{% endhint %}

#### 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 генерирует рабочий, но не всегда поддерживаемый код
* Разработчик затрудняется объяснить логику кода — это усложняет составление тест-кейсов

{% hint style="warning" %}
При Vibe Coding регрессионное тестирование становится особенно критичным: AI может сломать ранее работающую логику при следующей итерации промпта.
{% endhint %}

***

## 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 на ранних этапах: качество спецификации напрямую определяет качество сгенерированного кода. Неточное требование → неверный код и тест → дефект на проде.

{% hint style="info" %}
Spec-Driven AI Development — естественная эволюция BDD: Gherkin-сценарии становятся не только документацией, но и промптами для AI-генерации шагов автотеста.
{% endhint %}

***

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

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

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

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

```
Задача → Планирование → Чтение кода → Написание → Тесты → Запуск → Фикс → PR
```

### Риски для 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-действий (что агент мог сломать)

***

## Источники

* [Andrej Karpathy — Vibe Coding (Twitter/X, February 2025)](https://x.com/karpathy/status/1886192184808149435) — оригинальный пост, вводящий термин Vibe Coding
* [GitHub — The AI-Native Developer Survey 2024](https://github.blog/news-insights/research/survey-ai-wave-grows/) — данные о распространении AI-ассистентов в разработке

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

* [Anthropic — Building with Claude: Agentic Patterns](https://docs.anthropic.com/en/docs/build-with-claude/tool-use) — паттерны агентной разработки с примерами
* [Simon Willison — Prompt Engineering Is Real Engineering](https://simonwillison.net/) — аргументы в пользу системного подхода к промптам
* [DORA — Accelerate State of DevOps 2024](https://dora.dev/research/) — ежегодный отчёт, с 2024 включает раздел о влиянии AI на метрики DevOps
