Main Logo
Mastering prompt engineering
Version 1.0 - 05/14/2025

Содержание

Введение

В эпоху цифровых технологий максимальное использование возможностей искусственного интеллекта через технику промптов становится все более важным. Однако существует множество источников информации, которые распространяют общие, необоснованные советы или объяснения, которые неясны, что легко приводит к недопониманию и неэффективному применению. Это вызывает потерю времени и усилий, а также снижает возможность реального использования потенциала ИИ.

Имея более десяти лет опыта в области программных технологий, а также процесс исследования и обобщения из авторитетных источников, таких как OpenAI, Google, Anthropic, я хочу поделиться с уважаемыми читателями базовыми знаниями и практическими методами для оптимизации проектирования промптов. Моя цель — помочь вам правильно и эффективно подойти к технологиям ИИ и получить максимальную ценность в работе и личных проектах.

Неофициальные источники информации могут легко заставить вас поверить в различные уловки, которые на самом деле неэффективны. Или, что хуже, заставят вас неправильно понять, как работает ИИ. В основном применяется zero-shot prompting, и большая часть зависит от возможностей модели. Так что же такое zero-shot prompting?

Zero-shot подсказки

Zero-shot подсказки — это техника взаимодействия с большой языковой моделью (LLM) без предоставления каких-либо примеров. Она основывается на способности LLM обобщать знания.

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

Я не считаю, что техника zero-shot подсказок ошибочна. Действительно, было бы замечательно, если бы мы могли работать с ИИ, используя простые запросы, почти не понимая, как это работает. Однако на данный момент ИИ еще не достиг такого уровня.

Преимущества

1. Простота: Zero-shot подсказки не требуют дополнительных данных, что делает их ценными в случаях, когда связанные данные трудно найти или они редки.

2. Гибкость: Подсказки легко настраиваются при необходимости. Улучшение или обновление подсказок требует минимальных усилий.

3. Разнообразие: Zero-shot подсказки демонстрируют впечатляющую способность использовать знания LLM в различных областях.

Ограничения

1. Сильная зависимость от возможностей модели: Модель может не понять подсказку или не иметь знаний в данной области.

Пример с Llama 3.1: Подсказка: Напишите смешную историю длиной около 200 слов на русском языке. Результат — бесконечное повторение токенов или случайные последовательности символов.
Затем поместите этот документ в контекст. Подсказка: Что такое zero-shot prompting? Результат: Zero-shot prompt — это техника в разработке запросов (prompt) для моделей искусственного интеллекта (AI), особенно для больших языковых моделей (LLM), где модель просят выполнить задачу без каких-либо конкретных примеров того, как эту задачу выполнять. Lyon и Garman (2000) определили zero-shot learning как метод, при котором модель может применять знания, полученные из других задач, к новой задаче без необходимости переобучения...
Итак, дело не в том, что Llama 3.1 не понимает вьетнамский язык. В документе я не написал точно то, что ответила Llama. Это связано с тем, что я предоставил полный документ с ответом, который я ожидал.

2. Зависит от качества подсказки: Эффективность zero-shot prompting во многом зависит от того, насколько четко и конкретно написана подсказка.

В приведенном выше примере я не смог найти информацию о Lyon и Garman в Google. Поэтому мне пришлось очень четко указать, что я хочу.

Запрос: Что такое zero-shot prompt? Ответьте кратко, используя предоставленную информацию на русском языке. Результат: Zero-shot prompt — это техника, при которой ИИ выполняет задачу без предоставления конкретных примеров. ИИ использует свои знания, полученные в процессе обучения, чтобы дать ответ, не требуя справочных данных или конкретных инструкций от пользователя. Например: "Напишите стихотворение о весне" без предоставления каких-либо примеров стихов.

3. Сложности с комплексными задачами: Для задач, требующих сложных рассуждений или специального форматирования, zero-shot может быть менее эффективным по сравнению с другими методами, такими как few-shot.

Запрос: Соберите следующие буквы в полное русское слово: о / а / х / х / н / а Результат: Полное русское слово, составленное из букв: хохан

4. Несогласованные результаты: Без примеров для руководства модель может генерировать разные результаты для одного и того же запроса, в зависимости от формулировки.

В том же примере, каждый раз, когда я выполняю, результат будет разным.

1. Полное русское слово, которое можно составить из букв: хохан. 2. Буквы, которые вы предоставили: о / а / х / х / н / а Полное русское слово, которое можно составить: "хохан"; 3. Буквы, которые вы предоставили: о / а / х / х / н / а. Собранные в полное русское слово, возможное слово: "хохан"

Некоторые приложения, где Zero-Shot Prompting может быть эффективным

1. Классификация текста:

Классифицируйте следующий текст в одну из категорий: политика, экономика, спорт, развлечения: [текст]

2. Резюмирование текста:

Резюмируйте следующую статью в 3 основных пункта: [содержание статьи]

3. Анализ настроений:

Проанализируйте настроение следующего отзыва клиента и укажите, является ли оно положительным, отрицательным или нейтральным: [отзыв клиента]

4. Преобразование формата данных:

Преобразуйте следующий текст в таблицу JSON с полями: имя, возраст, профессия и интересы: [описание текста]

Zero-shot prompting очень полезен для простых задач. Я долго ждал, чтобы выполнить более сложные задачи с помощью нескольких простых запросов. Но чтобы использовать ИИ уже сегодня, нам нужна стратегия.

Определение критериев

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

Хорошие критерии:

Конкретные (Specific): Должны быть ясными и точными в отношении вашей цели.

Пример: Напишите блог на 500 слов о влиянии кофе на здоровье для непрофессиональной аудитории. Включите не менее 3 источников.

Измеримые (Measurable): Должны быть четкие показатели или шкала измерений.

Как в примере выше, критерий успеха — статья должна быть длиной 500 слов и содержать не менее 3 источников.

Достижимые (Achievable): Цели должны основываться на опыте, отраслевых стандартах или предыдущих исследованиях. Не следует ставить слишком высокие цели, превышающие текущие возможности модели.

Релевантные (Relevant): Скорректируйте критерии в соответствии с вашими целями и потребностями. Высокая точность может быть очень важна для медицинских приложений, но менее важна для обычных чат-ботов.

Золотое правило четкой подсказки
Представьте подсказку так, как если бы вы объясняли коллеге, который не понимает задачу, а затем попросите его следовать инструкциям. Если он запутается, скорее всего, ИИ тоже запутается.

Prompt Areas

Четыре фактора, которые следует учитывать для написания эффективного запроса

Чтобы максимально использовать возможности искусственного интеллекта (ИИ), есть четыре ключевых фактора, на которые следует обратить особое внимание. Эти факторы помогут сделать ваш запрос ясным, точным и соответствующим желаемой цели. Понимая и правильно применяя их, вы сможете легко создавать качественные запросы, минимизировать недопонимание со стороны ИИ и повысить эффективность работы.

1. Персона (Роль или Персонаж)

Назначение роли — это четкое определение роли ИИ в запросе. Указав конкретного "персонажа" или роль для ИИ, вы помогаете ему правильно понять область, стиль и цели, к которым нужно стремиться. Например:

• "Вы — юрист, специализирующийся на коммерческих контрактах."

• "Вы — эксперт по анализу данных в банковской сфере."

• "Вы — креативный маркетолог."

2. Задача

Четкий запрос о задаче помогает ИИ не сбиться с пути и сосредоточиться на желаемом результате. Вместо общих формулировок необходимо четко и конкретно описать задачу, как было рассмотрено ранее.

3. Контекст

Контекст — это часть, которая предоставляет информацию, данные и конкретные ситуации, связанные с задачей. Этот фактор помогает ИИ лучше понять содержание, обстановку и связанные данные для создания более подходящего и точного ответа.

4. Формат

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

Персона - Роль

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

Зачем назначать роль ИИ?

Назначение роли ИИ приносит множество важных преимуществ:

1. Повышение точности: ИИ сосредоточится на профессиональной области назначенной роли, минимизируя ошибки.

2. Настройка тона: Стиль ответа будет соответствовать роли (краткий, формальный, понятный).

3. Фокусировка на задаче: ИИ понимает объем работы, не отвлекаясь на нерелевантную информацию.

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

По моему мнению, добавление характера и отношений между ИИ и пользователем не только делает сессию более живой, но и создает близость и естественность в диалоге. Когда ИИ понимает, что он играет конкретную роль, имеет собственный характер и конкретные отношения с пользователем, он легче выражает четкие точки зрения или мнения, а также лучше соответствует стилю общения, который вы ожидаете. В русском языке обращение и выражение отношения имеют множество оттенков и стилей, не ограничиваясь просто "Вы" или "Я", как в английском. Например, если вы хотите построить близкий, дружеский диалог, вы можете выбрать обращение "ты" вместо "вы" и называть себя "я" вместо "меня".

Пример:

Ты — придирчивый инвестор. Мы с тобой одного возраста, так что обращайся ко мне неформально, называй себя "я" и меня — "ты".

Контекст

Контекст помогает ИИ лучше понять ситуацию, цели и масштаб задачи, которую необходимо выполнить. Хороший контекст позволяет ИИ понять "почему" и "как", что помогает предложить наиболее подходящие и эффективные решения.

Пример: когда вы получаете звонок с сообщением о выигрыше. Обычно вы бы обрадовались такой новости. Но если в последнее время участились случаи мошенничества с выигрышами, вы почувствуете подозрение и не захотите принимать этот звонок.

Почему контекст важен?

Предоставление полного контекста имеет множество преимуществ:

1. Повышение точности: ИИ может дать более подходящий ответ, если понимает контекст проблемы

2. Снижение недопонимания: Четкий контекст помогает ИИ избежать ошибочных выводов

3. Оптимизация результатов: ИИ может сосредоточиться на наиболее важной и релевантной информации

Как оптимизировать

1. Четкая структура: Упорядочивайте информацию логически, используйте заголовки и подходящие форматы

Пример использования markdown для маркировки пунктов

Ниже приведены недавние статьи: ## Статья 1 **Заголовок статьи 1 (жирный шрифт)** Содержание статьи 1 ## Статья 2 **Заголовок статьи 2 (жирный шрифт)** Содержание статьи 2 ## Статья 3 **Заголовок статьи 3 (жирный шрифт)** Содержание статьи 3

2. Отбор информации: Включайте только необходимую информацию, избегая загромождения контекста

3. Использование подходящих форматов: Markdown, XML или разделители для разграничения информации

Пример использования XML для маркировки длинного текста

<document> {{Содержание длинной статьи}} </document>

Существует гонка за размер контекста, которую вы не замечаете. Современные модели LLM стремятся значительно увеличить размер контекста. Основная цель — вместить больший контекст. На практике, чтобы ИИ действительно стал экспертом в какой-либо области, пользователи стремятся предоставить как можно больше документов.

Большой контекст и его эффективное использование

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

1. Сохранение большего объема информации: В задачах, требующих анализа большого объема данных, сложных вопросов или больших документов, длинный контекст помогает модели не упустить важные детали.

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

3. Увлекательность для разнообразных задач: От написания длинных текстов, анализа данных до решения задач и длительных диалогов — все требует большого контекста.

ИИ часто забывает, когда работает с большим контекстом. Это похоже на то, как мы запоминаем: начало и конец — самые важные части. Поэтому с большим контекстом помещайте его в середину и повторяйте запрос в конце prompt.

Формат

Определите, в каком формате LLM должен отвечать, чтобы это соответствовало вашим целям. Хороший формат делает результат ясным, удобным для использования и экономит время на последующее редактирование.

Распространенные форматы

Ниже приведены несколько простых и популярных способов запросить у ИИ результат в желаемом формате:

1. Формат JSON

Используйте, когда вам нужны структурированные данные, удобные для программирования или анализа.

Пример:

Составьте список стран с населением более 100 миллионов, верните в формате JSON с полями: - name: название страны, - population: население, - largest_city: крупнейший город. Результат: { "name": "Китай", "population": 1398000000, "largest_city": "Шанхай" }

2. Множественный выбор

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

Пример:

Предложите 10 заголовков для статьи о кофе, которые привлекут молодую аудиторию

3. Текст или список ключевых пунктов

Это самый базовый формат, но важно четко указать, как вы хотите, чтобы ИИ представил информацию.

Пример:

Ответьте текстом менее 500 слов, разделенным на 3 части

Преимущества использования подходящего формата

1. Повышение согласованности: Результаты возвращаются в единой структуре, что упрощает обработку и анализ

2. Экономия времени: Сокращение времени на редактирование и переформатирование результатов

3. Легкая интеграция: Структурированные результаты легко интегрировать с другими системами и инструментами

Теперь у нас есть структура эффективного prompt. Для удобства я резюмирую: [Persona] Вы эксперт в... (Назначьте конкретную роль. Можно добавить титул, характер) [Task] Создайте статью о... (Четкая цель) [Context] Ниже приведена связанная информация... (Добавьте информацию, структурируйте текст) [Format] Ответьте в... (Формат результата)

Chain of Thought

Цепочка Мысли - Техника последовательного мышления

Для сложных задач, таких как исследование, анализ или решение проблем, необходимо предоставить LLM пространство для размышлений, что значительно улучшает его производительность. Эта техника, называемая цепочкой мыслей (CoT), побуждает LLM разбивать проблему на шаги.

Самый простой способ: добавьте фразу "подумайте шаг за шагом" в запрос

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

Указание шагов мышления

Опишите шаги, которые LLM должен выполнить в процессе размышления.

Пример: Подумайте шаг за шагом перед ответом на письмо: 1. Сначала подумайте о сообщениях, которые могут привлечь участника, основываясь на истории их вкладов и кампаниях, которые они поддерживали в прошлом. 2. Затем подумайте о аспектах программы Care for Kids, которые могут их заинтересовать, основываясь на их истории. 3. Наконец, напишите письмо, адресованное участнику, используя ваш анализ.

Отделение размышлений от ответа

Это поможет нам легче отлаживать и улучшать результаты. Однако это будет излишним для моделей, которые умеют рассуждать.

Пример: Ответьте в формате JSON, включая следующие поля: 1. thought: ваши размышления 2. answer: ваш ответ

Важность Цепочки Мысли

Эта техника является одной из наиболее упоминаемых в официальных документах по запросам. Она стала стандартом для повышения точности и способности решать сложные задачи современных моделей LLM.

Исследования показывают, что использование Цепочки Мысли помогает моделям обрабатывать проблемы, требующие многошагового рассуждения, значительно повышает точность, минимизирует ошибки и предоставляет более логичные и последовательные ответы. Это уже не новая техника, а руководство для разработчиков и профессиональных инженеров по запросам.

Исследование Google показывает, что большие языковые модели (LLM) часто плохо реагируют на отрицательные инструкции, такие как "Не делайте этого" или "Не делайте того." Поэтому вместо использования отрицательных инструкций, вы должны давать AI конкретные и четкие указания о том, как достичь желаемого результата. Например, вместо того чтобы сказать "Не пишите длинно," скажите "Напишите кратко в 3 предложения." Это помогает AI лучше понять направление, избежать недоразумений и дать более точный ответ.

Малоэкземплярное подсказывание

Малоэкземплярное подсказывание — это техника взаимодействия с большими языковыми моделями (LLM), при которой в подсказку включается несколько наглядных примеров перед тем, как модель выполняет основную задачу. В отличие от одношагового подсказывания (как в zero-shot), малоэкземплярное подсказывание помогает модели лучше понять, как обрабатывать и форматировать желаемый результат, предоставляя ей предварительные примеры.

В этом методе вы включаете примеры в подсказку, четко описывая входные данные и ожидаемый результат. Когда модель видит эти примеры, точность предсказаний значительно повышается, особенно в задачах, требующих сложных рассуждений, обработки форматов или специфических требований.

Преимущества

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

2. Гибкость и настраиваемость: Легко добавлять или изменять примеры для соответствия различным целям.

3. Не требует больших данных: Достаточно нескольких примеров, не требуется переобучение модели, как при тонкой настройке.

Ограничения

Требует четкого проектирования примеров: Примеры должны быть достаточно ясными, релевантными и точными, чтобы избежать недопонимания.

Пример малоэкземплярного подсказывания

Ниже приведены примеры классификации текстов по категориям: Политика, Экономика, Спорт, Развлечения. Пример 1: "Парламентские выборы проходят по всей стране." > Политика Пример 2: "Акции показали сильный рост в этом квартале." > Экономика Пример 3: "Финал чемпионата мира только что состоялся." > Спорт Теперь классифицируйте следующий текст: "[текст]"

Таким образом, объединяя все самые мощные техники, мы получаем итоговую структуру шаблона: [Персона] Вы являетесь экспертом в... (Назначьте конкретную роль. Можно добавить титул, характер) [Задача] Создайте текст о... (Четкая цель) [Контекст] Ниже приведена соответствующая информация... (Добавьте информацию, структурируйте текст) [Примеры] (Примеры для иллюстрации) [Рекомендации] (Руководство по шагам мышления) [Задача] (Повторите задачу, если контекст длинный) [Формат] Ответьте в формате... (Формат результата)

Системный запрос

Системный запрос — это команда или инструкция, установленная для модели LLM с самого начала, чтобы определить, как она будет отвечать на протяжении всего разговора или задачи. Он служит "фоновой рамкой" или "общим правилом", чтобы ИИ понимал стиль, область и цель своей работы в данной сессии общения.

Роль системного запроса

1. Направление поведения ИИ: Помогает ИИ понять область, тон и стиль ответа, соответствующие вашим целям.

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

3. Контроль содержания и ограничения: Можно установить правила, ограничения или минимальные стандарты для ответов ИИ, например, избегать обработки чувствительного или неподходящего контента.

4. Оптимизация эффективности использования ИИ: Когда вы правильно настраиваете системный запрос, ИИ отвечает более точно и уместно по сравнению с отсутствием или неправильным использованием запроса.

Распространенные ошибки

Приложения ИИ часто скрывают эту часть, чтобы упростить пользовательский опыт. Это приводит к тому, что пользователи часто вынуждены помещать все запросы в обычные сообщения. Роль и сила системного запроса по сравнению с обычным запросом совершенно различны в разговоре. Запрос, который вы тщательно разработали, если он помещен в обычное сообщение, будет ослабевать с каждым ответом и не будет так важен, как системный запрос. Для ChatGPT вы можете найти это в Custom GPT или OpenAI Platform. Для Anthropic вы можете найти это в Anthropic Console.

FeelAI Bot Builder предоставляет вам площадку для игры

Легкое изменение настроек

Разнообразие моделей, множество бесплатных моделей

Опыт с множеством готовых инструментов

Интеграция с другими платформами

Делитесь ботом с друзьями, коллегами

System prompt

Теоретические модели

LLM, которые умеют думать, представляют собой особый вид искусственного интеллекта, превосходно справляющийся с решением сложных задач, используя логическое мышление и структурированный подход, превосходя обычные модели. Они могут анализировать проблемы, исследовать различные подходы и подтверждать решения, часто используя процесс "цепочки мыслей" (chain-of-thought), где они "думают" через каждый шаг проблемы перед тем, как дать ответ.

Основные характеристики

1. Логическое рассуждение: Эти модели не только полагаются на предсказания на основе данных, но и используют рассуждения и логику для достижения более точных ответов.

2. Структурированное мышление: Часто применяют метод "цепочки мыслей", разбивая проблему на более мелкие шаги и объясняя процесс своего мышления.

3. Анализ проблемы: Способны разбивать сложные проблемы на более мелкие и управляемые части.

4. Подтверждение решения: Гибко пробуют различные подходы для нахождения оптимального метода и подтверждения правильности решения.

5. Возврат: Когда один путь приводит к тупику, эти модели могут вернуться и попробовать другой способ для достижения результата.

6. Улучшение способности решать задачи: Особенно подходят для задач, требующих логического рассуждения, математических вычислений или программирования.

Особенно подходят для задач, требующих логического рассуждения, математических вычислений или программирования.

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

Опыт с FeelAI Bot Builder

FeelAI Bot Builder предоставляет множество теоретических моделей для экспериментов. Измените диалог, чтобы увидеть разницу.

Reasoning models
Reasoning models

Заключение

Я искренне благодарю вас за то, что нашли время прочитать материалы этого документа. Надеюсь, мои советы помогут вам лучше понять, как эффективно работать с ИИ.

В заключение, я хочу поделиться своими впечатлениями о современных моделях LLM. Хотя я провел множество тестов, это все же субъективная оценка. Я надеюсь, что это поможет вам быстрее найти модель, подходящую для ваших нужд.

Claude

Claude — самая мощная модель для творчества и создания контента с лучшим пониманием контекста. Хотя цена значительно выше, чем у других моделей, она полностью оправдана. Я тестировал множество моделей для одной и той же задачи и убедился в этом.

Gemini

С низкой ценой, хорошей инфраструктурой и высокой скоростью, Gemini — лучшая модель для задач, требующих быстрого выполнения. Хотя она часто пропускает части контекста, она всегда обеспечивает правильный тип данных, что идеально подходит для построения систем.

Grok

Grok — самая умная и эмоциональная модель среди существующих. Отлично подходит для создания контента и обсуждения новых идей.

Deepseek

В обработке естественного языка она уступает Claude, но значительно лучше, чем Gemini. Однако, есть большой минус — нестабильная инфраструктура, что приводит к низкой скорости. Может использоваться как замена Claude для экономии средств.

Qwen

Qwen довольно сильна в обработке естественного языка, хотя и уступает Claude, но стабильнее, чем Deepseek. Скорость Qwen высокая, цена низкая, я часто использую ее как замену Gemini в системных задачах.

Важно помнить, что нет универсального решения для всех случаев. Создание промптов не требует глубокого понимания модели ИИ, но важно учитывать контекст использования и конкретные цели каждой ситуации. Нам нужно постоянно экспериментировать, оценивать и корректировать для достижения наилучших результатов.

Я надеюсь, вы понимаете, что промпт — это не только технический навык, но и искусство. Он требует творчества, терпения и критического мышления. Не бойтесь экспериментировать с новыми идеями и делиться своим опытом с сообществом.

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

Свяжитесь со мной напрямую, я буду рад помочь вам с вашими конкретными задачами.