Как задать контекст так, чтобы модель не домысливала детали

Модель отлично умеет заполнять пробелы в информации. Если в контексте говорится «разработка заняла три месяца, потом релиз», модель может домыслить, что было двадцать испытаний, три больших багфикса и встреча с инвесторами — всё то, что обычно происходит перед релизом. На самом деле релиз произошел гладко, но модель добавила реалистичные детали, которых не было в данных.

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

Техники борьбы с домыслами

Первый способ — явно обозначить границы: «опиши только то, что указано в контексте; если информации не хватает, напиши 'неизвестно'». Модель обычно это слышит и воздерживается от додумывания. Второй способ — избегать нейтральных формулировок, которые провоцируют домыслы. Вместо «разработка шла хорошо» лучше «разработка прошла без задержек, один критический баг найден на тестировании».

Третий способ — структурировать контекст как список фактов, а не как нарратив. Нарратив естественно наполняется деталями, а структурированный список позволяет модели ясно видеть, где кончается факт и начинается предположение. Таблицы, JSON, маркированные списки — всё это уменьшает вероятность домыслов.

На практике полезно проверять промпты на домыслы: передать одни и те же данные модели несколько раз и посмотреть, добавляет ли она каждый раз одни и те же детали. Если да — стоит ужесточить формулировку контекста, чтобы исключить места, откуда модель берет воображение.