Итеративный подход: тестируй и улучшай

Итеративный подход: тестируй и улучшай

В уроке 10.1 мы научились измерять качество. Теперь — сам процесс. Итеративный подход — это не «написал и забыл», а цикл непрерывного улучшения, основанный на метриках.

Цикл улучшения промпта

Измерь текущее качество (baseline)
    ↓
Найди самую частую ошибку
    ↓
Сформулируй гипотезу: «Если изменить X, ошибка уйдёт»
    ↓
Внеси ОДНО изменение в промпт
    ↓
Измерь качество снова
    ↓
Стало лучше? → Оставь изменение, повтори цикл
Стало хуже? → Откати, попробуй другую гипотезу

Реальный пример цикла

Задача: промпт классифицирует обращения клиентов. Eval set из 20 примеров. Базовая точность: 65% (13/20).

Итерация 1

Анализ ошибок: 4 из 7 ошибок — модель путает «жалобу» и «вопрос с претензией».

Пример ошибки:

  • Текст: «Когда уже починят сайт? Неделю не могу зайти!»
  • Модель: «жалоба»
  • Ожидалось: «вопрос»

Гипотеза: модель не различает «вопрос» и «жалобу». Нужны примеры.

Изменение: добавил few-shot с 3 примерами.

Результат: точность 75% (15/20). Улучшилось! Ошибок «жалоба vs вопрос» стало 1 вместо 4.

Итерация 2

Анализ оставшихся ошибок: 3 из 5 — модель не отличает «предложение» от «вопроса».

Пример ошибки:

  • Текст: «Было бы удобно, если бы добавили чат с оператором»
  • Модель: «вопрос»
  • Ожидалось: «предложение»

Гипотеза: в инструкции плохо описана категория «предложение».

Изменение: уточнил описание категории «предложение» — добавил примеры фраз-маркеров («было бы удобно», «предлагаю», «сделайте пожалуйста»).

Результат: точность 85% (17/20). Снова улучшение.

Итерация 3

Анализ: 3 ошибки остались. Все три — на сверхкоротких обращениях («Спасибо!», «Ок», «???»).

Гипотеза: на коротких текстах модели не хватает контекста.

Изменение: добавил правило «Если обращение короче 5 слов и нет явных маркеров — классифицируй как "другое"».

Результат: точность 90% (18/20). Две оставшиеся ошибки — действительно спорные случаи, где даже человек не уверен.

Правило одного изменения

На каждой итерации меняй ТОЛЬКО ОДНО. Если изменить три вещи за раз и качество выросло — ты не знаешь, какое из трёх изменений сработало. Если качество упало — не знаешь, какое откатывать.

Плохо (всё сразу): «Добавлю примеры, поменяю формат ответа, уточню категории и перепишу введение.»

Хорошо (одно за раз): Итерация 1: добавляю примеры → измеряю. Итерация 2: уточняю категории → измеряю. Итерация 3: меняю формат → измеряю.

Когда остановиться

  • Точность достигла приемлемого уровня (какого? — зависит от задачи: для классификации спама 99%, для анализа тональности 85% может быть нормой).
  • Оставшиеся ошибки — действительно спорные случаи, где и человек ошибается.
  • Последние 2 итерации не дали улучшения > 2%.
  • Затраты на улучшение превышают выгоду.

Проверь себя

Твой промпт имеет точность 70%. Ты хочешь улучшить его. Опиши первую итерацию: какую гипотезу проверишь, какое изменение внесёшь, как измеришь результат.

Итог

  • Итеративный подход — это цикл: измерил → нашёл главную ошибку → гипотеза → одно изменение → измерил снова.
  • Каждая итерация — ОДНО изменение. Не смешивай.
  • Не угадывай, что улучшить — анализируй ошибки. Самая частая ошибка — первый кандидат на исправление.
  • Остановись, когда точность приемлема или дальнейшие улучшения не окупаются.
  • Итеративный подход превращает промпт-инжиниринг из магии в инженерию.

Что дальше

Ты освоил процесс улучшения. Но на результат влияет не только текст промпта. В следующем уроке — параметры модели: temperature, top_p, max_tokens. Как эти «ручки настройки» меняют поведение модели и когда их крутить.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике