Ответ в нужном формате
Урок 14 из 23 курса «ИИ: курс с нуля». Бесплатно, с анимациями и тестом.
Формат тоже часть задачи
Без указаний модель часто отвечает сплошным текстом. Пример: ты сравниваешь три подработки и получаешь абзац, где всё смешано. Скажи формат прямо: «таблица: оплата в час, график, дорога», «список из 5 пунктов», «не больше 100 слов». Для программ подходит JSON: текст, где данные записаны полями, вроде "имя": "Аня". Короче: скажи, в каком виде тебе удобно.
Дай скелет для заполнения
Самый надёжный способ: дать готовый шаблон и попросить заполнить только его. Пример для конспекта лекции: «Тема: … / Главная мысль: … / 3 термина с объяснением: … / Вопрос для самопроверки: …». Модель видит поля и их порядок и почти не уходит в сторону. Тот же шаблон подойдёт для каждой лекции, и все конспекты будут выглядеть одинаково.
Отдели данные от инструкций
Когда вставляешь чужой текст, отдели его метками. Разделитель: знаки вроде ### или кавычек, которые показывают, где начинается и кончается вставка. Пример: «Сократи до 3 пунктов письмо между ###». Зачем: в письме может быть фраза «ответь до пятницы», и без меток модель примет её за задание себе. С метками понятно: это данные, а команды только твои.
Разреши сказать «не знаю»
Шаблон с полями давит на модель: ей хочется заполнить всё. Если данных нет, она может выдумать. Это та самая галлюцинация, то есть уверенный вымысел. Пример: просишь вытащить из вакансии оплату, а её там нет, и в таблице появляется цифра с потолка. Добавь в промпт: «Если в тексте этого нет или ты не уверен, пиши: нет данных».
Проверь, прежде чем использовать
Формат проверить проще, чем смысл, так что начни с него. Все ли столбцы на месте? Сходятся ли суммы? Соблюдён ли лимит по длине? Модели считают слова лишь примерно, ведь видят токены, а не слова. Если JSON пойдёт в программу, одна потерянная кавычка может всё сломать. База: красивая таблица не значит верные данные. Цифры и факты всё равно сверяй.
Проверь себя
- Хочешь сравнить три подработки так, чтобы было удобно читать. Как попросить?
Правильный ответ: Таблицей: оплата в час, график, дорога. Чем точнее формат, тем удобнее результат. Таблица с нужными столбцами сразу раскладывает всё по полочкам. - Зачем вставленный текст обрамлять ###?
Правильный ответ: Чтобы модель отличала твои данные от инструкций. Разделитель показывает, где кончается вставка. Тогда фразу из письма модель не примет за твою команду. - Ты заполняешь шаблон по тексту вакансии, но оплата там не указана. Что добавить в промпт?
Правильный ответ: «Если данных нет, пиши: нет данных». Без такого разрешения модель может выдумать цифру, чтобы заполнить поле. «Нет данных» честнее вымысла.