> 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/human-in-the-loop.md).

# Human-in-the-Loop (HITL)

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

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

***

## Зачем нужен HITL

### Ограничения AI, которые делают HITL необходимым

| Ограничение AI                           | Риск без HITL                                        |
| ---------------------------------------- | ---------------------------------------------------- |
| Галлюцинации (уверенные неверные ответы) | Некорректный код или решение без обнаружения         |
| Оптимизация метрик вместо цели           | Агент «починил» тест, а не баг                       |
| Отсутствие понимания бизнес-контекста    | Технически верное, но бизнесово неправильное решение |
| Ограниченное понимание domain knowledge  | Упущены доменные ограничения                         |
| Недетерминированность                    | Разные результаты при одинаковых условиях            |
| Обучение на исторических данных          | Не учитывает актуальный контекст                     |

{% hint style="info" %}
HITL — не признак недоверия к AI. Это признак зрелой инженерной практики: чем выше стоимость ошибки, тем важнее человеческий контроль.
{% endhint %}

***

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

### По этапам SDLC

| Этап        | AI делает                            | Человек проверяет                       |
| ----------- | ------------------------------------ | --------------------------------------- |
| Требования  | Генерирует user stories из интервью  | Верифицирует полноту и корректность     |
| Дизайн      | Предлагает архитектурные решения     | Оценивает соответствие ограничениям     |
| Реализация  | Пишет код по спецификации            | Code review: логика и безопасность      |
| Тест-дизайн | Генерирует тест-кейсы                | Оценивает полноту, добавляет edge cases |
| Code Review | AI-анализ: стиль, потенциальные баги | Подтверждение перед мержем              |
| Деплой      | Подготавливает пайплайн, запускает   | Разрешает выкатку на production         |
| Мониторинг  | Детектирует аномалии                 | Принимает решение об эскалации          |
| Инциденты   | Анализирует логи, предлагает фикс    | Подтверждает и применяет фикс           |

### Матрица HITL по рискам

```
Стоимость ошибки
      │  Высокая
      │
      │  [Обязательный   [Блокирующий
      │   HITL]          HITL + эскалация]
      │
      │  [Опциональный   [Обязательный
      │   HITL]          HITL]
      │  Низкая
      └──────────────────────────────────
         Низкая          Высокая
                    Автономия AI
```

***

## Уровни HITL

### Уровень 1: Full Automation (нет HITL)

AI действует полностью автономно. Применимо только для:

* Низкорисковых, полностью детерминированных задач
* Reversible-операций с автоматическим откатом
* Non-production окружений

**Пример:** автоматическое форматирование кода по стайлгайду.

### Уровень 2: Human-on-the-Loop (периодический мониторинг)

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

**Пример:** агент проводит автоматическое регрессионное тестирование — QA просматривает сводные отчёты ежедневно.

### Уровень 3: Human-in-the-Loop (проверка на ключевых точках)

AI выполняет шаги, останавливается в критических точках и ждёт подтверждения человека.

**Пример:** агент пишет код и тесты → человек ревьюит PR → агент продолжает только после approve.

### Уровень 4: Human-over-the-Loop (контроль каждого шага)

Каждое действие AI требует одобрения. Применимо при высоких рисках или при настройке нового агента.

**Пример:** первые запуски агента в новом проекте — каждое изменение файла требует подтверждения.

### Уровень 5: Human-in-Command (AI только консультирует)

AI предоставляет рекомендации, все решения принимает человек. AI не имеет права на какие-либо действия без явного запроса.

**Пример:** AI-ассистент предлагает тест-кейсы, QA-инженер выбирает и выполняет их самостоятельно.

***

## HITL в QA-процессах

### Где HITL критически важен для QA

#### 1. Ревью AI-сгенерированных тест-кейсов

AI генерирует черновик — QA верифицирует:

* Соответствие требованиям
* Полнота покрытия (особенно edge cases)
* Корректность ожидаемых результатов
* Отсутствие тест-кейсов, проверяющих не то, что нужно

**Антипаттерн:** принять AI-тест-кейсы без ревью, основываясь на их количестве или структурном соответствии.

#### 2. Ревью агентных изменений

Когда агент создаёт PR — обязательный HITL перед мержем. QA проверяет:

* Агент не изменил тесты вместо кода
* Изменения соответствуют scope задачи
* Нет нежелательных побочных эффектов

#### 3. Классификация дефектов

AI может классифицировать баги по severity автоматически. HITL на этом этапе предотвращает:

* Понижение severity критических багов
* Автозакрытие багов, которые AI посчитал дублями

#### 4. Приёмка автоматически сгенерированного кода

Если команда использует Vibe Coding или Agentic Development — HITL перед деплоем обязателен. Нет HITL = прямой путь нетестированного AI-кода в production.

***

## Проектирование HITL-точек

### Принципы выбора точек HITL

**1. Необратимые операции** — всегда HITL:

* Деплой в production
* Изменение данных в БД
* Отправка уведомлений пользователям
* Удаление файлов или записей

**2. Широкое влияние** — HITL:

* Изменения общих компонентов
* Обновление зависимостей
* Изменения конфигурации

**3. Новые домены** — HITL:

* Первый раз агент работает с этим модулем
* Задача за пределами типичного для агента scope

**4. Высокая стоимость ошибки** — HITL:

* Финансовые транзакции
* Персональные данные
* Безопасность

### Паттерн реализации HITL в агентных системах

```python
class AgentWithHITL:
    def execute_task(self, task):
        plan = self.ai.create_plan(task)

        # HITL точка 1: подтверждение плана
        if not self.human.approve_plan(plan):
            return self.revise_plan(plan)

        for step in plan.steps:
            result = self.ai.execute_step(step)

            # HITL точка 2: проверка критических шагов
            if step.is_critical:
                if not self.human.approve_result(result):
                    return self.handle_rejection(result)

        # HITL точка 3: финальный ревью перед применением
        final_changes = self.ai.summarize_changes()
        if self.human.approve_changes(final_changes):
            self.apply_changes(final_changes)
```

***

## HITL и скорость разработки

Частый аргумент против HITL — он замедляет процесс. Это верно, но частично:

| Сценарий                     | Без HITL              | С HITL              |
| ---------------------------- | --------------------- | ------------------- |
| Скорость выполнения задачи   | Выше                  | Ниже                |
| Скорость обнаружения проблем | Ниже (на проде)       | Выше (до деплоя)    |
| Стоимость исправления        | Высокая               | Низкая              |
| Доверие к AI-результатам     | Снижается со временем | Строится постепенно |
| Итоговый throughput команды  | Может деградировать   | Стабильный          |

### Оптимизация HITL

**Пакетный ревью:** вместо проверки каждого изменения — асинхронный ревью пакета изменений.

**Матрица рисков:** не всё требует одинакового HITL. Автоматизируйте ревью низкорисковых изменений.

**Улучшение промптов:** чем лучше AI понимает задачу, тем реже нужна коррекция → меньше прерываний.

{% hint style="info" %}
По мере накопления доверия к конкретному агенту или рабочему процессу уровень HITL можно снижать. Начинайте с максимального контроля, снижайте его по мере валидации результатов.
{% endhint %}

***

## HITL в регуляторных контекстах

В некоторых доменах HITL — не выбор, а регуляторное требование:

| Домен            | Требование                                                         |
| ---------------- | ------------------------------------------------------------------ |
| Финансы          | Человеческое подтверждение транзакций выше порога                  |
| Медицина         | Врач подтверждает AI-диагноз перед лечением                        |
| Авиация          | Pilot-in-the-loop для критических систем                           |
| EU AI Act (2024) | High-risk AI системы требуют human oversight                       |
| GDPR             | Автоматизированные решения о людях требуют возможности обжалования |

Для QA-специалистов в таких доменах: HITL-требования должны быть явно задокументированы и протестированы как функциональные требования.

***

## Метрики HITL

### Что измерять

| Метрика                | Описание                                   | Целевое значение                     |
| ---------------------- | ------------------------------------------ | ------------------------------------ |
| HITL Intervention Rate | % случаев, когда человек скорректировал AI | Снижается по мере улучшения          |
| Correction Time        | Время на проверку и коррекцию              | Минимизировать без снижения качества |
| Error Escape Rate      | % ошибок, прошедших через HITL             | 0 для критических систем             |
| AI Acceptance Rate     | % AI-решений, принятых без корректировки   | Растёт по мере улучшения промптов    |

***

## Источники

* [Anthropic — Human-in-the-Loop Patterns](https://www.anthropic.com/research/building-effective-agents) — паттерны контроля в агентных системах
* [EU AI Act (2024)](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689) — регуляторные требования к human oversight
* [NIST AI Risk Management Framework](https://www.nist.gov/system/files/documents/2023/01/26/NIST.AI.100-1.pdf) — управление рисками AI-систем
