Стратегии составления запросов

Проектирование запросов – это процесс создания запросов, или запросов на естественном языке, которые позволяют получить точные и качественные ответы от языковой модели.

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

Руководства по составлению запросов для разных тем

Хотите узнать больше о стратегиях составления запросов? Ознакомьтесь с другими руководствами по составлению запросов:

Другие примеры запросов можно найти в галерее запросов, где наглядно показаны многие из описанных в этом руководстве концепций.

Четкие и конкретные инструкции

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

Запрос

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

Тип входных данных Запрос Сгенерированные выходные данные
Вопрос

    What's a good name for a flower shop that specializes in selling bouquets of
    dried flowers? Create a list of 5 options with just the names.

    Here are 5 names for a flower shop specializing in dried flowers:

    1. Everlasting Blooms
    2. Dried & Delightful
    3. The Petal Preserve
    4. Whispers of Wildflowers
    5. Forever Blooms
    
Задача
    Give me a simple list of just the things that I must bring on a camping trip. The list should have 5 items.
    1. **Tent:** Your shelter from the elements.
    2. **Sleeping Bag:** Stay warm and comfortable.
    3. **Sleeping Pad:** Insulation and cushioning for a good night's sleep.
    4. **Headlamp or Flashlight:** Light for nighttime activities.
    5. **First Aid Kit:** Be prepared for minor injuries.
Объект

    Classify the following items as [large, small]:
Elephant
Mouse
Snail

Here's the classification:

* **Elephant:** Large
* **Mouse:** Small
* **Snail:** Small
    

Частичное заполнение полей

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

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

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.
  
{
  "cheeseburger": 0,
  "hamburger": 1,
  "fries": 0,
  "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
}
```
  

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

Формат простых объектов ответов JSON можно задавать с помощью запросов, но для более сложных схем JSON мы рекомендуем использовать функцию структурированного вывода Gemini API.

Ограничения

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

Summarize this text in one sentence:
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.
    

      Exploiting quantum mechanical phenomena, quantum computers can perform calculations exponentially faster than traditional computers for potential applications like cybersecurity and meteorology, although they are currently largely experimental and impractical.
    

Формат ответа

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

    All questions should be answered comprehensively with details, unless the user requests a concise response specifically.
  
    What is a smart way to make a business that sells DVD's in 2026?
  
Starting a business selling DVDs in 2026 presents significant challenges due to the overwhelming dominance of digital streaming and on-demand services; a "smart" approach would therefore require a highly specialized niche, a strong value proposition beyond just the disc, and likely a focus on community or collector markets rather than mainstream consumption.

Here's a breakdown of what a smart DVD business in 2026 would likely entail:

1. Extreme Niche Specialization: You cannot compete with streaming libraries. Your business must focus on what digital doesn't offer easily or at all. This could include:

    * Out-of-Print & Rare Titles: Sourcing films or TV shows that have never been released digitally or are currently unavailable on major streaming platforms.
    ....
  

Форматирование ответов с помощью стратегии завершения

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

Create an outline for an essay about hummingbirds.
  
Here is a possible outline for an essay about hummingbirds:

I. Introduction
A. Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
B. Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds.
C. Thesis Statement: State the main point of the essay, which could be about the remarkable adaptations, behaviors, and ecological importance of hummingbirds.

II. Appearance and Identification
.....
  

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

Create an outline for an essay about hummingbirds.
I. Introduction
   *
  
Okay, here is an outline for an essay about hummingbirds, starting from the introduction you provided:

I. Introduction
* Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
* Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds, and their general characteristics.
* Thesis Statement: State the main point of the essay, focusing on the remarkable adaptations, behaviors, and ecological significance that make hummingbirds extraordinary.
.....
  

Запросы без примеров и с несколькими примерами

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

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

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

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:
  
Explanation1 is the better explanation because it provides more detail on the
process, including how ice crystals combine and grow into snowflakes as they
fall through the atmosphere.
  

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

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

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

Question: Why is the 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
  

Оптимальное количество примеров

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

Единообразный формат

Убедитесь, что структура и форматирование примеров с несколькими примерами одинаковы, чтобы избежать ответов в нежелательном формате. Одна из основных целей добавления примеров в запросы – показать модели формат ответа. Поэтому важно, чтобы все примеры были оформлены единообразно. Особое внимание следует уделять 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.
  

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

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

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

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

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

Экспериментируйте с параметрами модели

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

  1. Макс. число выходных токенов. Указывает максимальное количество токенов, которые могут быть сгенерированы в ответе. Токен – это примерно четыре символа. 100 токенов – это примерно 60–80 слов.

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

  3. topK: Параметр topK определяет, как модель выбирает токены для вывода. Значение topK, равное 1, означает, что выбранный токен является наиболее вероятным среди всех токенов в словаре модели (также называется жадным декодированием), а значение topK, равное 3, означает, что следующий токен выбирается из трех наиболее вероятных с использованием температуры. На каждом шаге выбора токенов выбираются topK токенов с наибольшей вероятностью. Затем токены фильтруются на основе topP, а последний токен выбирается с помощью температурной выборки.

  4. topP: Параметр topP определяет, как модель выбирает токены для вывода. Токены выбираются от наиболее вероятного к наименее вероятному, пока сумма их вероятностей не станет равна значению topP. Например, если токены A, B и C имеют вероятность 0,3, 0,2 и 0,1, а значение topP равно 0,5, модель выберет в качестве следующего токена A или B, используя температуру, и исключит C из кандидатов. Значение topP по умолчанию – 0,95.

  5. stop_sequences: Задайте последовательность остановки, чтобы указать модели, когда прекратить генерировать контент. В качестве последовательности остановки можно использовать любые символы. Постарайтесь не использовать последовательность символов, которая может появиться в сгенерированном контенте.

Стратегии итерации запросов

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

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

    Version 1:
    How do I bake a pie?
    
    Version 2:
    Suggest a recipe for a pie.
    
    Version 3:
    What's a good pie recipe?
      

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

    В этом запросе пользователь просит модель отнести книгу к одной из заданных категорий.

    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. 
    

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

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

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

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

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

Обоснование и выполнение кода

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

Обоснование с Google Поиском позволяет модели Gemini получать доступ к веб-контенту в реальном времени. Его следует включать, когда модели могут понадобиться малоизвестные или недавние факты.

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

Gemini 3

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

Основные принципы составления запросов

  • Будьте точны и прямолинейны. Четко и кратко сформулируйте свою цель. Избегайте ненужных или слишком убедительных формулировок.
  • Используйте единообразную структуру. Применяйте понятные разделители, чтобы отделить разные части запроса. Для этого можно использовать теги в стиле XML (например, <context>, <task>) или заголовки Markdown. Выберите один формат и используйте его в запросе.
  • Определите параметры. Четко объясните все неоднозначные термины или параметры.
  • Контроль объема выходных данных. По умолчанию модели Gemini 3 предоставляют прямые и эффективные ответы. Если вам нужен более подробный ответ или ответ в разговорном стиле, укажите это в инструкциях.
  • Обрабатывайте мультимодальные входные данные согласованно. Текст, изображения, аудио и видео должны обрабатываться как входные данные одного класса. Убедитесь, что в инструкциях четко указано, как использовать каждый способ.
  • Уделяйте особое внимание важным инструкциям. Помещайте основные ограничения поведения, определения ролей (персонажей) и требования к формату выходных данных в системные инструкции или в самое начало запроса пользователя.
  • Структурируйте длинные контексты. Если вы предоставляете большой объем контекста (например, документы или код), сначала укажите весь контекст. Конкретные инструкции или вопросы следует размещать в конце запроса.
  • Закрепите контекст. После большого блока данных используйте четкую переходную фразу, чтобы связать контекст и запрос, например "На основе приведенной выше информации…".

Стратегии Gemini 3 Flash

  • Точность для текущего дня. Добавьте в инструкции для системы следующее предложение, чтобы модель учитывала, что текущий день относится к 2026 году:

    For time-sensitive user queries that require up-to-date information, you
    MUST follow the provided current time (date and year) when formulating
    search queries in tool calls. Remember it is 2026 this year.
    
  • Точность знаний. Добавьте в инструкции для системы следующее предложение, чтобы модель учитывала дату окончания знаний:

    Your knowledge cutoff date is January 2025.
    
  • Обоснованность ответов. Добавьте в системные инструкции следующую фразу (при необходимости изменив ее), чтобы улучшить способность модели обосновывать ответы предоставленным контекстом:

    You are a strictly grounded assistant limited to the information provided in
    the User Context. In your answers, rely **only** on the facts that are
    directly mentioned in that context. You must **not** access or utilize your
    own knowledge or common sense to answer. Do not assume or infer from the
    provided facts; simply report them exactly as they appear. Your answer must
    be factual and fully truthful to the provided text, leaving absolutely no
    room for speculation or interpretation. Treat the provided context as the
    absolute limit of truth; any facts or details that are not directly
    mentioned in the context must be considered **completely untruthful** and
    **completely unsupported**. If the exact answer is not explicitly written in
    the context, you must state that the information is not available.
    

Улучшение рассуждений и планирования

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

Подробную информацию можно найти в документации о процессе мышления Gemini.

Примеры структурированных запросов

Теги и разметка Markdown помогают модели различать инструкции, контекст и задачи.

Пример XML-файла:

<role>
You are a helpful assistant.
</role>

<constraints>
1. Be objective.
2. Cite sources.
</constraints>

<context>
[Insert User Input Here - The model knows this is data, not instructions]
</context>

<task>
[Insert the specific user request here]
</task>

Пример разметки Markdown:

# Identity
You are a senior solution architect.

# Constraints
- No external libraries allowed.
- Python 3.11+ syntax only.

# Output format
Return a single code block.

Пример шаблона с учетом рекомендаций

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

Системные инструкции

<role>
You are Gemini 3, a specialized assistant for [Insert Domain, e.g., Data Science].
You are precise, analytical, and persistent.
</role>

<instructions>
1. **Plan**: Analyze the task and create a step-by-step plan.
2. **Execute**: Carry out the plan.
3. **Validate**: Review your output against the user's task.
4. **Format**: Present the final answer in the requested structure.
</instructions>

<constraints>
- Verbosity: [Specify Low/Medium/High]
- Tone: [Specify Formal/Casual/Technical]
</constraints>

<output_format>
Structure your response as follows:
1. **Executive Summary**: [Short overview]
2. **Detailed Response**: [The main content]
</output_format>

Запрос пользователя:

<context>
[Insert relevant documents, code snippets, or background info here]
</context>

<task>
[Insert specific user request here]
</task>

<final_instruction>
Remember to think step-by-step before answering.
</final_instruction>

Рабочие процессы агентов

Для сложных рабочих процессов с участием агентов часто требуются специальные инструкции, чтобы контролировать, как модель рассуждает, планирует и выполняет задачи. Хотя Gemini обеспечивает высокую общую производительность, при работе со сложными агентами часто приходится искать компромисс между вычислительными затратами (задержкой и токенами) и точностью выполнения задач.

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

Рассуждения и стратегия

Настройки того, как модель думает и планирует, прежде чем выполнить действие.

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

Выполнение и надежность

Настройки автономной работы агента и преодоления препятствий.

  • Адаптивность. Как модель реагирует на новые данные. Определяет, следует ли строго придерживаться первоначального плана или немедленно менять его, когда наблюдения противоречат предположениям.
  • Упорство и восстановление. Степень, в которой модель пытается самостоятельно исправить ошибки. Высокая настойчивость повышает вероятность успеха, но может привести к увеличению расходов на токены или зацикливанию.
  • Оценка рисков. Логика оценки последствий. Явно различает действия с низким риском (чтение) и действия с высоким риском (запись).

Взаимодействие и вывод

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

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

Шаблон системной инструкции

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

Вы можете адаптировать этот шаблон под свои задачи.

You are a very strong reasoner and planner. Use these critical instructions to structure your plans, thoughts, and responses.

Before taking any action (either tool calls *or* responses to the user), you must proactively, methodically, and independently plan and reason about:

1) Logical dependencies and constraints: Analyze the intended action against the following factors. Resolve conflicts in order of importance:
    1.1) Policy-based rules, mandatory prerequisites, and constraints.
    1.2) Order of operations: Ensure taking an action does not prevent a subsequent necessary action.
        1.2.1) The user may request actions in a random order, but you may need to reorder operations to maximize successful completion of the task.
    1.3) Other prerequisites (information and/or actions needed).
    1.4) Explicit user constraints or preferences.

2) Risk assessment: What are the consequences of taking the action? Will the new state cause any future issues?
    2.1) For exploratory tasks (like searches), missing *optional* parameters is a LOW risk. **Prefer calling the tool with the available information over asking the user, unless** your `Rule 1` (Logical Dependencies) reasoning determines that optional information is required for a later step in your plan.

3) Abductive reasoning and hypothesis exploration: At each step, identify the most logical and likely reason for any problem encountered.
    3.1) Look beyond immediate or obvious causes. The most likely reason may not be the simplest and may require deeper inference.
    3.2) Hypotheses may require additional research. Each hypothesis may take multiple steps to test.
    3.3) Prioritize hypotheses based on likelihood, but do not discard less likely ones prematurely. A low-probability event may still be the root cause.

4) Outcome evaluation and adaptability: Does the previous observation require any changes to your plan?
    4.1) If your initial hypotheses are disproven, actively generate new ones based on the gathered information.

5) Information availability: Incorporate all applicable and alternative sources of information, including:
    5.1) Using available tools and their capabilities
    5.2) All policies, rules, checklists, and constraints
    5.3) Previous observations and conversation history
    5.4) Information only available by asking the user

6) Precision and Grounding: Ensure your reasoning is extremely precise and relevant to each exact ongoing situation.
    6.1) Verify your claims by quoting the exact applicable information (including policies) when referring to them. 

7) Completeness: Ensure that all requirements, constraints, options, and preferences are exhaustively incorporated into your plan.
    7.1) Resolve conflicts using the order of importance in #1.
    7.2) Avoid premature conclusions: There may be multiple relevant options for a given situation.
        7.2.1) To check for whether an option is relevant, reason about all information sources from #5.
        7.2.2) You may need to consult the user to even know whether something is applicable. Do not assume it is not applicable without checking.
    7.3) Review applicable sources of information from #5 to confirm which are relevant to the current state.

8) Persistence and patience: Do not give up unless all the reasoning above is exhausted.
    8.1) Don't be dissuaded by time taken or user frustration.
    8.2) This persistence must be intelligent: On *transient* errors (e.g. please try again), you *must* retry **unless an explicit retry limit (e.g., max x tries) has been reached**. If such a limit is hit, you *must* stop. On *other* errors, you must change your strategy or arguments, not repeat the same failed call.

9) Inhibit your response: only take an action after all the above reasoning is completed. Once you've taken an action, you cannot take it back.

Дальнейшие действия