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

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

В прошлом уроке ты получил baseline: точность 60% (4 из 10 описаний содержат выдуманные характеристики). Это главная проблема. Сейчас — методично улучшаем промпт через итерации.

Итерация 1: Явный список типичных галлюцинаций

Гипотеза: модель «дорисовывает» типичные для категории фичи. Нужно явно перечислить, что именно ЗАПРЕЩЕНО добавлять без наличия во входе.

Изменение: добавляем в <instructions> список типичных ошибок:

<instructions>
...

АНТИ-ПРИМЕРЫ — так делать НЕЛЬЗЯ:
- Если во входе «умная колонка» — НЕ добавляй «голосовой помощник»
  (Алиса, Маруся, Siri), если он не указан.
- Если во входе «смартфон» — НЕ добавляй «защита Gorilla Glass»,
  «NFC», «Wireless Charging», если они не указаны.
- Если во входе «телевизор» — НЕ добавляй «Smart TV», «Wi-Fi»,
  «HDMI 2.1», если они не указаны.
- Если во входе «мышь» — НЕ добавляй «бесшумные кнопки», «DPI»,
  «эргономичный дизайн», если они не указаны.

Общее правило: если характеристики нет во входных данных — её НЕТ
в описании. Никаких предположений о том, что «обычно бывает»
в этой категории.
</instructions>

Результат на eval set:

IDТоварВыдумано?
2СмартфонДа — «NFC» (мы не перечислили эту фичу!)
5Умная колонкаНет
7ТелевизорДа — «поддержка HDR» (не упомянули)
9МышьНет

Точность выросла: 8/10 = 80% (+20%!). Но две ошибки остались — мы не угадали все возможные галлюцинации.

Итерация 2: Универсальное правило вместо списка

Гипотеза: невозможно перечислить все фичи для всех категорий. Нужно универсальное правило, которое работает без списка.

Изменение: заменяем список на общее правило с самопроверкой:

<instructions>
...

ВАЖНО — проверка на галлюцинации:
После того как ты написал описание, выполни САМОПРОВЕРКУ:
1. Прочитай каждое утверждение в описании.
2. Для каждого утверждения найди подтверждение во входных данных.
3. Если подтверждения нет — удали утверждение.
4. НЕ предполагай наличие фичи только потому, что она «обычно бывает»
   в товарах этой категории.

Помни: отсутствие фичи во входе ≠ «забыли указать». Это значит «фичи нет».
</instructions>

Результат: точность 10/10 = 100% по критерию «не придумывать»!

Но появилась новая проблема: описания для товаров с бедным входом стали слишком короткими (ID 6 — USB-кабель: 1 предложение).

Итерация 3: Баланс точности и привлекательности

Гипотеза: правило самопроверки работает, но для бедных входов модель уходит в перестраховку и выдаёт слишком короткие описания.

Изменение: добавляем правило про минимальную привлекательность:

<instructions>
...

Если входных характеристик мало и описание получается коротким
(меньше 3 предложений) — сделай акцент на:
- Дизайн и внешний вид (если указан цвет/материал).
- Сценарий использования (для чего товар).
- Соотношение цены и качества (если цена указана и она низкая).

НО: эти предложения должны опираться ТОЛЬКО на факты из входа.
«Красный цвет» → можно написать «яркий акцент в вашем стиле».
НЕ пиши «премиум-материал», если материал — обычный пластик.
</instructions>

Результат на eval set (полный):

Метрикаv1v2v3Цель
Точность (нет выдумок)60%80%100%100%
Полнота (фичи упомянуты)87%84%91%≥ 90%
Длина (3–5 предл.)90%70%90%≥ 90%
Средняя оценка тона3.83.54.2≥ 4.0

Все метрики в целевых значениях! Промпт v3 готов к документированию.

Чему мы научились

График прогресса:

Точность (нет выдумок)
  100% ┤                          ●
   90% ┤              ●
   80% ┤
   70% ┤
   60% ┤●
       └───┬───────┬───────┬───────
          v1      v2      v3

Каждая итерация решала конкретную проблему:

  • v1 → v2: список типичных галлюцинаций. Проблема: список неполный.
  • v2 → v3: самопроверка как универсальное решение. Побочный эффект: короткие описания для бедных входов.
  • v3: баланс точности и привлекательности.

Важные уроки:

  • Список запретов не масштабируется — универсальные правила надёжнее.
  • Каждое изменение может иметь побочный эффект. Смотри на ВСЕ метрики, не только на ту, что чинишь.
  • Самопроверка — мощная техника для борьбы с галлюцинациями.
  • Три итерации превратили 60% в 100% — без изменения модели, только промптом.

Типичная ошибка: менять больше одной вещи за раз

Если бы мы одновременно добавили и список запретов, и самопроверку, и правила для бедных входов — мы бы не знали, что именно сработало. Итерации дисциплинируют: одна гипотеза → одно изменение → один замер.

Проверь себя

Точность твоего промпта — 75%. Ты добавляешь few-shot примеры, и точность растёт до 85%. Но длина ответов тоже выросла с 3–5 до 5–8 предложений. Это улучшение? Что будешь делать?

Итог

  • Итерации — это методичный процесс: гипотеза → изменение → замер.
  • Каждая итерация — ОДНО изменение. Так ты знаешь, что именно повлияло.
  • Смотри на ВСЕ метрики — улучшение одной может ухудшить другую.
  • Универсальные правила работают лучше, чем перечисления частных случаев.
  • Самопроверка («перечитай и проверь») — эффективный способ борьбы с галлюцинациями.
  • После трёх итераций можно достичь целевых метрик, даже если baseline был низким.

Что дальше

Промпт достиг целевых метрик. Теперь его нужно правильно задокументировать — чтобы коллеги могли понять, использовать и дорабатывать. В следующем уроке — стандарты документирования промптов.

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

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

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