Промпты стилей: примеры работают лучше правил
Стилевой пресет переписывает надиктованный текст в нужном тоне, например более официально. Переписывает языковая модель, и работает она по письменной инструкции. Настраивая эту инструкцию, мы узнали то, чего не ждали: если сказать модели, чего не делать, будет хуже.
Что идёт не так
Иногда модель делает что-то неприятное. Начинает со слов «Конечно, вот неформальный вариант:». Копирует ваш текст дословно. Открывает ответ словом «Привет». Естественная реакция — дописать в инструкцию строку: не начинай со вступления, не говори «привет».
Мы так и делали и замеряли это четыре раза на трёх пресетах, на живой диктовке. Каждый раз добавленные запреты ухудшали результат:
- Запрет на вступление «Sure, here’s…» опустил результат ниже того, с чего мы начинали.
- Пять попыток подряд запретить приветствие «Hey» провалились.
- Правило без примера уронило число чистых случаев с 19 до 7.
Наше предположение: модель цепляется за те самые слова, которые ей велели обходить, вместо того чтобы их обходить.
Что работает
Готовая пара: фраза на входе и ответ, который мы хотим получить. Два таких примера дали на двенадцать исправленных фраз больше и только одну, которая стала хуже.
Не всякий пример помогает. Примеры, придуманные из головы, дали небольшой прирост. Заметный прирост дало другое: мы брали конкретные фразы, на которых модель села в лужу в прошлом прогоне, и писали к каждой правильный ответ. Получается цикл: прогнать тест, выбрать провалившиеся фразы, превратить их в примеры, прогнать снова.
Ещё одно, о чём легко не знать. Две худшие привычки, вступление и дословное копирование, проявляются только на длинных текстах с несколькими мыслями. На коротких фразах из одного предложения их почти не видно. Тест из коротких фраз скажет, что всё хорошо.
Как мы оцениваем
У нас есть постоянный набор фраз, разделённый на две половины. Настраиваем мы на одной половине. Вторая остаётся закрытой до самого конца, как экзамен, чтобы не подгонять промпт под фразы, которые мы видим.
Каждый ответ проходит простые проверки без модели: уцелели ли числа, остался ли вопрос вопросом, не появились ли чужие знаки письма. Затем вторая языковая модель работает судьёй и отвечает на пять постоянных вопросов о каждом результате. Если сменить судью, меняются все числа, поэтому кандидата и его исходный вариант всегда оценивает один и тот же судья.
Так мы сократили инструкцию для делового тона с 1699 до 1490 токенов, а оценка судьи выросла с 264 до 271 из 282. Промпт короче, оценка выше, и ни одного нового запрета.