Промпты на практике.

ИИгорь

Кулинар
В сети уже полным полно статей о написании промптов. Как адекватных так и сказок о чудо промптах с секретными инструкциями. Но тема развивается и не все еще разобрались на практике. Собрал тут несколько актуальных проверенных на практике советов по написанию промптов. Надеюсь кому-то будет полезно.

1759164708679.png

Основные принципы и подходы

1. Четкость и Специфичность
Фундаментальный принцип - быть максимально четким и конкретным в запросе. Неоднозначные или расплывчатые инструкции ведут к нерелевантным или обобщенным ответам

Рекомендации по структуре:
• Предоставьте детальный контекст;
• Укажите желаемый формат (например, три маркированных пункта, JSON, код);
• Определите желаемую длину ответа и уровень детализации;
• Установите тон и стиль (например, формальный тон);
• Вместо того чтобы говорить, что не делать, лучше давать положительные инструкции (что делать);
• Используйте четкие разделители (например, теги XML или секции Markdown) для разделения различных типов контента (роль, инструкции, примеры, данные), особенно в длинных запросах, чтобы избежать смешивания контекста и инструкций.

2. Использование Примеров (Shot-Based Prompting)
Методики, основанные на "шотах", определяют количество примеров, предоставляемых в промпте для направления вывода модели.
One-Shot Prompting (один пример): Включает один пример в промпт перед новой задачей, что помогает уточнить ожидаемый формат или стиль.
Few-Shot Prompting (несколько примеров): Предоставление нескольких примеров (обычно от двух до десяти). Эта техника, известная как обучение в контексте (in-context learning), позволяет модели распознавать шаблоны и обобщать их для новых задач, что повышает точность и согласованность. Практический диапазон обычно составляет от двух до пяти примеров.

3. Техники Цепочки Рассуждений (Chain-of-Thought, CoT)
Промптинг с цепочкой рассуждений позволяет моделям демонстрировать сложные возможности рассуждения через промежуточные шаги.
Chain-of-Thought (CoT): Побуждает модель разбивать сложные задачи на логическую последовательность промежуточных шагов рассуждения. Это повышает возможности рассуждения модели и делает ее мыслительный процесс более прозрачным.
Zero-Shot CoT: Более простой вариант, который включает добавление фразы типа "Let's think step by step" ("Давай подумаем шаг за шагом") к исходному промпту. Это побуждает модель к декомпозиции задачи, пошаговому рассуждению и артикуляции этого рассуждения. Стоит использовать если хотите посмотреть за рассуждениями или попробовать улучшить уже имеющийся результат. Часто не имеет влияние на качество ответа современных моделей.

4. Структурированный Вывод и Роли
Использование Схем и JSON: Для задач, требующих высокой точности, структурированных рабочих процессов или интеграции инструментов, следует использовать JSON и JSON Schema. Это заставляет LLM "мыслить слотами", а вероятность неправильного толкования близка к нулю.
Description Directive (Директива Описания): В JSON Schema поле description является мощной инструкцией для LLM , направляющей ее семантическую интерпретацию и формирование вывода.
Ролевой промптинг (Role Prompting): Инструктирование модели принять определенную роль или персону (например, "Ты опытный разработчик", "Ты эксперт по классификации данных"). Как по мне этот подход влияет на стиль ответа но не на качество.

5. Итеративное уточнение: Не ожидайте идеального результата с первой попытки. Используйте многоходовое диалоговое редактирование, особенно для сложных задач, чтобы постепенно улучшать результат. По факту я часто запускаю явно сырой промпт, чтобы посмотреть на результат и допиливать инструкции по ходу.

6. Проактивное выяснение требований. В сложных задачах можно попросить LLM задавать вопросы с уточнениями задания где они нужны, или запрашивать данные которые могли бы улучшить ответ. Таким образом модель поможет сформировать промпт для себя. Можно вообще попросить модель написать промпт дав короткое описание, и только подредактировать под себя. Это называется self-prompting.

Основные заблуждения и распространенные ошибки

Многие методы промптинга, популярные в начале развития LLM, не имеют доказанной эффективности или могут быть контрпродуктивными в современных моделях

1. Эффект "Волшебных Фраз" и Суеверия
Идея о том, что добавление специфических, не связанных с задачей фраз гарантирует лучшие результаты, часто является заблуждением
Tipping (Обещание Чаевых): Обещание LLM денежного вознаграждения или, наоборот, угроза не дать чаевых, не приводит к заметному улучшению точности в современных моделях (GPT-3.5, Llama 2 13B/70B) и может даже ухудшить производительность.
EmotionPrompting (Эмоциональные Приписки): Фразы, давящие на эмоции (например, «This is very important to my career»), показали в исследованиях по репликации незначительный средний прирост точности (около 1%) и не являются надежной стратегией.
Грубость или Чрезмерная Вежливость: Чрезмерная вежливость не гарантирует улучшения, в то время как грубость однозначно вредит качеству ответов и может привести к отказам. Нейтральный стиль общения обычно является самым безопасным и эффективным.

2. Игнорирование Галлюцинаций: LLM склонны к "галлюцинациям" — генерированию вымышленной, нерелевантной или недостоверной информации. Пользователи должны проверять любую критически важную информацию.

3. Смешивание Инструкций и Контекста: Без четких разделителей модель может спутать инструкции с фактическими данными, особенно в длинных промптах.
 
Я бы зказала важен баланс. Когда жёстко загоняешь модель в рамки, она не может проявить "креатив".
 
У меня иногда возникают проблемы с контекстом. Бот тупо забывает начало разговора.
 

Тред просматривают: (Всего: 0, Свои: 0, Залетные: 0)

Назад
Сверху