Оперативные стратегии проектирования

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

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

В Google AI Studio имеется простая галерея подсказок, предназначенная для интерактивной демонстрации многих концепций, представленных в этом руководстве. В оставшейся части этого руководства вы узнаете о следующих стратегиях создания подсказок:

Дайте четкие и конкретные инструкции

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

Определите задачу для выполнения

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

Summarize this text:
Text: A quantum computer exploits quantum mechanical phenomena to perform calculations exponentially
faster than any modern traditional computer. At very tiny scales, physical matter acts as both
particles and as waves, and quantum computing uses specialized hardware to leverage this behavior.
The operating principles of quantum devices is beyond the scope of classical physics. When deployed
at scale, quantum computers could be used in a wide variety of applications such as: in
cybersecurity to break existing encryption methods while helping researchers create new ones, in
meteorology to develop better weather forecasting etc. However, the current state of the art quantum
computers are still largely experimental and impractical.
  
    Quantum computers leverage the wave-particle duality of matter at tiny scales to perform
    calculations exponentially faster than traditional computers. They harness quantum phenomena,
    which are beyond the scope of classical physics, to achieve this speed advantage. While
    promising for applications like cybersecurity, weather forecasting, and beyond, current
    quantum computers are still experimental and not yet practical for widespread use.
  

Укажите любые ограничения

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

Summarize this text in two sentences:
Text: A quantum computer exploits quantum mechanical phenomena to perform calculations exponentially
faster than any modern traditional computer. At very tiny scales, physical matter acts as both
particles and as waves, and quantum computing uses specialized hardware to leverage this behavior.
The operating principles of quantum devices is beyond the scope of classical physics. When deployed
at scale, quantum computers could be used in a wide variety of applications such as: in
cybersecurity to break existing encryption methods while helping researchers create new ones, in
meteorology to develop better weather forecasting etc. However, the current state of the art quantum
computers are still largely experimental and impractical.
    

      Quantum computers harness the wave-particle duality of matter at the quantum level to perform
      computations exponentially faster than traditional computers. While these machines hold
      immense potential for fields like cybersecurity and weather forecasting, they are currently
      in their early stages of development and not yet practical for widespread use.
    

Определите формат ответа

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

    All questions should be answered comprehensively with details, unless the user requests a
    concise response specifically. Respond in the same language as the query.
  
    What is a smart way to create a lemonade business?
  
Launching a Successful Lemonade Stand: A Smart Approach
Creating a lemonade business, whether a simple stand or a larger operation, requires strategic thinking. Here's a breakdown of how to approach it smartly:

1. Define Your Business:
Scope: Are you aiming for a small, seasonal lemonade stand, a food truck, a delivery service, or something else entirely?
Target Audience: Who are you selling to? Families, office workers, tourists?
Unique Selling Proposition: What sets your lemonade apart? Special flavors, organic ingredients, a unique recipe?

Pricing: Research competitor prices and determine a profitable pricing structure.
Location: Consider foot traffic, accessibility, and regulations for your chosen location.
.....
  

Краткое содержание

  • Дайте моделям инструкции, что делать.
  • Сделайте инструкции ясными и конкретными.
  • Укажите любые ограничения или требования к форматированию вывода.

Включите несколько примеров

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

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

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

Следующая подсказка с нулевым результатом предлагает модели выбрать лучшее объяснение.

Please choose the best explanation to the question:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice crystals in the
atmosphere, which can combine and grow into snowflakes as they fall through the atmosphere and
accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Explanation 1 is the best explanation.
  

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

В следующей подсказке представлены два примера, в которых предпочтение отдается более коротким объяснениям. В ответе вы можете видеть, что примеры помогли модели выбрать более короткое объяснение (Объяснение 2), а не более длинное объяснение (Объяснение 1), как это было раньше.

Below are some examples showing a question, explanation, and answer format:

Question: Why is sky blue?
Explanation1: The sky appears blue because of Rayleigh scattering, which causes shorter blue
wavelengths of light to be scattered more easily than longer red wavelengths, making the sky look
blue.
Explanation2: Due to Rayleigh scattering effect.
Answer: Explanation2

Question: What is the cause of earthquakes?
Explanation1: Sudden release of energy in the Earth's crust.
Explanation2: Earthquakes happen when tectonic plates suddenly slip or break apart, causing a
release of energy that creates seismic waves that can shake the ground and cause damage.
Answer: Explanation1

Now, Answer the following question given the example formats above:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice crystals in the
atmosphere, which can combine and grow into snowflakes as they fall through the atmosphere and
accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Answer: Explanation2
  

Найдите оптимальное количество примеров

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

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

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

Негативный паттерн :

Don't end haikus with a question:
Haiku are fun
A short and simple poem
Don't you enjoy them?
  

Позитивный паттерн :

Always end haikus with an assertion:
Haiku are fun
A short and simple poem
A joy to write
  

Используйте единообразное форматирование в примерах.

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

Краткое содержание

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

Добавьте контекстную информацию

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

В следующем примере модель запрашивает рекомендации по устранению неполадок маршрутизатора:

What should I do to fix my disconnected wifi? The light on my Google Wifi router is yellow and
blinking slowly.
  
  A yellow blinking light on your Google Wifi router usually indicates a problem with the internet connection. Here are some steps to troubleshoot and fix the issue:
  1. Restart your router and modem:
    - Unplug your modem from the power outlet and wait for 30 seconds.
    - Plug your modem back in and wait for it to fully boot up.
    - Unplug your Google Wifi router and wait for 30 seconds.
    - Plug your Google Wifi router back in and wait for it to fully boot up.
.....
  

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

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

Answer the question using the text below. Respond with only the text provided.
Question: What should I do to fix my disconnected wifi? The light on my Google Wifi router is yellow and blinking slowly.

Text:
Color: Slowly pulsing yellow
What it means: There is a network error.
What to do:
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.

Color: Fast blinking yellow
What it means: You are holding down the reset button and are factory resetting this device.
What to do:
If you keep holding down the reset button, after about 12 seconds, the light will turn solid yellow. Once it is solid yellow, let go of the factory reset button.

Color: Solid yellow
What it means: Router is factory resetting.
What to do:
This can take up to 10 minutes. When it's done, the device will reset itself and start pulsing white, letting you know it's ready for setup.

Color: Solid red
What it means: Something is wrong.
What to do:
Critical failure. Factory reset the router. If the light stays red, contact Wifi customer support.
  
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.
  

Краткое содержание

  • Включите в приглашение информацию (контекст), которую модель будет использовать при генерации ответа.
  • Дайте модели инструкции о том, как использовать контекстную информацию.

Добавить префиксы

Префикс — это слово или фраза, которые вы добавляете к содержимому приглашения и которое может служить нескольким целям, в зависимости от того, где вы поместили префикс:

  • Входной префикс: добавление префикса к входным сигналам сигнализирует о семантически значимых частях входных данных модели. Например, префиксы «Английский:» и «Французский:» обозначают два разных языка.
  • Префикс вывода. Несмотря на то, что выходные данные создаются моделью, вы можете добавить префикс для выходных данных в приглашении. Выходной префикс предоставляет модели информацию о том, что ожидается в качестве ответа. Например, выходной префикс «JSON:» сигнализирует модели, что выходные данные должны быть в формате JSON.
  • Пример префикса. В подсказках с несколькими фрагментами добавление префиксов к примерам обеспечивает метки, которые модель может использовать при создании выходных данных, что упрощает анализ выходного содержимого.

В следующем примере «Текст:» — это входной префикс, а «Ответ:» — выходной префикс.

Classify the text as one of the following categories.
- large
- small
Text: Rhino
The answer is: large
Text: Mouse
The answer is: small
Text: Snail
The answer is: small
Text: Elephant
The answer is:
  
The answer is: large
  

Пусть модель завершит частичный ввод

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

В следующем примере представлено приглашение с инструкцией и вводом сущности:

For the given order, return a JSON object that has the fields cheeseburger, hamburger, fries, or
drink, with the value being the quantity.

Order: A burger and a drink.
  
```
{
  "hamburger": 1,
  "drink": 1
}
```
  

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

Valid fields are cheeseburger, hamburger, fries, and drink.
Order: Give me a cheeseburger and fries
Output:
```
{
  "cheeseburger": 1,
  "fries": 1
}
```
Order: I want two burgers, a drink, and fries.
Output:
  
```
{
  "hamburger": 2,
  "drink": 1,
  "fries": 1
}
```
  

Обратите внимание, что слово «чизбургер» было исключено из вывода, поскольку оно не было частью заказа.

Предложите модели отформатировать свой ответ

Стратегия завершения также может помочь сформулировать ответ. В следующем примере модели предлагается создать план эссе:

Create an outline for an essay about hummingbirds.
  
  Hummingbirds: A Symphony of Speed and Color
    I. Introduction
    A. Hummingbirds are fascinating creatures known for their dazzling colors, lightning-fast flight, and unique feeding habits.
    B. Brief overview of the diversity of hummingbird species and their geographic distribution.
    C. Thesis statement: Hummingbirds are an embodiment of resilience, adaptation, and the wonders of the natural world.
.....
  

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

Create an outline for an essay about hummingbirds.
I. Introduction
   *
  
  Hummingbirds: Jewels of the Air
    **I. Introduction**
       * **Hook:** Begin with a captivating image or anecdote about hummingbirds, emphasizing their vibrant colors, rapid flight, and unique feeding habits.
       * **Background:** Briefly introduce hummingbirds as the smallest birds in the world and their fascinating adaptations for a nectar-rich diet.
       * **Thesis:** State the main argument or focus of the essay. Examples: 
            * **The incredible adaptations of hummingbirds enable them to thrive in diverse ecosystems.**
            * **Hummingbirds play a crucial role in pollination and biodiversity.**
            * **The beauty and grace of hummingbirds make them captivating subjects for both scientific study and artistic appreciation.**
  

Краткое содержание

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

Разбейте подсказки на простые компоненты

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

Разобрать инструкции

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

Цепочка подсказок

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

Совокупные ответы

Агрегация — это когда вы хотите выполнить разные параллельные задачи над разными частями данных и агрегировать результаты для получения окончательного результата. Например, вы можете указать модели выполнить одну операцию с первой частью данных, выполнить другую операцию с остальными данными и агрегировать результаты.

Краткое содержание

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

Экспериментируйте с разными значениями параметров

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

  • Максимальное количество токенов вывода
  • Температура
  • Топ-К
  • Топ-П

Максимальное количество токенов вывода

Максимальное количество токенов, которое может быть сгенерировано в ответе. Токен состоит примерно из четырех символов. 100 токенов соответствуют примерно 20 словам.

Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.

Температура

Температура используется для выборки во время генерации ответа, которая происходит при применении topP и topK . Температура контролирует степень случайности при выборе токенов. Более низкие температуры хороши для подсказок, которые требуют более детерминированного и менее открытого или творческого ответа, в то время как более высокие температуры могут привести к более разнообразным и творческим результатам. Температура 0 является детерминированной, что означает, что всегда выбирается ответ с наибольшей вероятностью.

В большинстве случаев попробуйте начать с температуры 0.2 . Если модель возвращает слишком общий или слишком короткий ответ или модель дает запасной ответ, попробуйте увеличить температуру.

Топ-К

Top-K меняет способ выбора токенов моделью для вывода. Значение top-K, равное 1 , означает, что следующий выбранный токен является наиболее вероятным среди всех токенов в словаре модели (также называемое жадным декодированием), а значение top-K, равное 3 , означает, что следующий токен выбирается из трех наиболее вероятных токенов. с помощью температуры.

На каждом этапе выбора токенов отбираются топ-K токенов с наибольшей вероятностью. Затем токены дополнительно фильтруются на основе top-P, причем последний токен выбирается с использованием температурной выборки.

Укажите меньшее значение для менее случайных ответов и более высокое значение для более случайных ответов. Значение top-K по умолчанию равно 40 .

Топ-П

Top-P изменяет способ выбора токенов моделью для вывода. Токены выбираются от наиболее (см. top-K) до наименее вероятных до тех пор, пока сумма их вероятностей не станет равна значению top-P. Например, если токены A, B и C имеют вероятность 0,3, 0,2 и 0,1, а значение top-P равно 0.5 , то модель выберет либо A, либо B в качестве следующего токена, используя температуру, и исключит C как кандидат.

Укажите меньшее значение для менее случайных ответов и более высокое значение для более случайных ответов. Значение top-P по умолчанию равно 0.95 .

Подскажите стратегии итерации

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

Используйте разные формулировки

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

Version 1:
How do I bake a pie?

Version 2:
Suggest a recipe for a pie.

Version 3:
What's a good pie recipe?
  

Переключиться на аналогичную задачу

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

Это приглашение сообщает модели классифицировать книгу, используя предопределенные категории.

Which category does The Odyssey belong to:
thriller
sci-fi
mythology
biography
  
    The Odyssey belongs to the category of **mythology**. 

    Here's why:
    
    * **Mythology:** The Odyssey tells the story of Odysseus, a hero from Greek mythology, and his
    journey home after the Trojan War. It features gods, monsters, and supernatural events common to
    Greek mythology.
.....
  

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

Multiple choice problem: Which of the following options describes the book The Odyssey?
Options:
- thriller
- sci-fi
- mythology
- biography
  
The correct answer is **mythology**. 
  

Изменение порядка содержимого подсказок

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

Version 1:
[examples]
[context]
[input]

Version 2:
[input]
[examples]
[context]

Version 3:
[examples]
[input]
[context]

Резервные ответы

Резервный ответ — это ответ, возвращаемый моделью, когда подсказка или ответ запускает фильтр безопасности. Пример запасного ответа: «Я не могу с этим помочь, поскольку я всего лишь языковая модель».

Если модель реагирует возвратным сигналом, попробуйте увеличить температуру.

Чего следует избегать

  • Не полагайтесь на модели для получения фактической информации.
  • Используйте с осторожностью при решении математических и логических задач.

Следующие шаги