Содержание
О руководстве по написанию системных промптов
2. Технические ограничения промпта
4. Специфика промптов для различных инструментов
5. Пример неэффективного промпта
О руководстве по написанию системных промптов
Перед началом работы с этим руководством рекомендуется ознакомиться со следующей документацией: Логика работы Интеллекта, Раздел "Интеллект".
Данное руководство поможет вам создавать качественные системные промпты для различных инструментов интеллекта чат-бота.
Системный промпт - это специальный набор инструкций, который задает искусственному интеллекту (ИИ) правила поведения, область знаний и рамки взаимодействия с пользователем.
Промпт определяет контекст, в рамках которого ИИ должен формировать точные, релевантные и безопасные ответы на запросы пользователя. Эффективно настроенный системный промпт обеспечивает, чтобы ответы ИИ соответствовали задачам и ожиданиям от конкретного инструмента.
1. Основные принципы
1) Рекомендовано использовать английский язык для всех промптов, поскольку английские слова требуют меньше токенов, чем их русские эквиваленты. Но можно писать промпты и на русском языке.
Что такое токен? Токен — это базовая единица текста в обработке естественного языка. Это может быть слово, часть слова или знак пунктуации. Количество токенов не всегда прямо соответствует количеству слов. Важно отметить, что для кириллицы требуется больше токенов по сравнению с латиницей при том же количестве символов.
2) Балансируйте между предоставлением необходимой информации и соблюдением ограничений по объему токенов (п. 2. Технические ограничения промпта).
3) Избегайте двусмысленностей и противоречий.
4) Всегда включайте релевантную информацию о компании и её услугах. В промпте необходимо добавить общее описание компании и её услуг. Более подробное и детальное описание компании, услуг и продуктов описывается и размещается в базе знаний (см. Раздел База знаний) или в промпте указывается ссылка на источник такой информации в интернете.
5) Учитывайте потенциальные риски и этические аспекты при формулировании инструкций.
2. Технические ограничения промпта
Лимит токенов для одного запроса включает системные промпты, запрос пользователя, историю сообщений и ответ модели.
Лимит составляет: - 4096 токенов для модели GPT-3.5, - 8192 токенов для модели GPT-4.
Приблизительный объем: 3000 слов на английском языке.
При каждом новом запросе пользователя модель обрабатывает весь контекст диалога: системные промпты, текущий запрос пользователя и предыдущие сообщения. Это помогает сохранять настройки и стиль ответов, однако если общий объем контекста превышает лимит, то старые сообщения будут обрезаны или исключены.
Лимит токенов делает важным баланс в объеме системных промптов. Если промпты слишком большие, они занимают значительную часть допустимого объема информации, оставляя меньше места для учёта истории сообщений и новых запросов. Слишком короткие промпты, напротив, могут оказаться недостаточно информативными для настройки модели на нужный стиль и содержание ответов. Поэтому важно, чтобы системные промпты были достаточно емкими для четкой настройки, но при этом не превышали объем, необходимый для эффективной работы с контекстом диалога.
3. Структура промпта
3.1 Рекомендуемая структура
1) Определение роли и задач ИИ-ассистента
2) Контекст о компании
3) Ограничения и запреты
4) Желаемый формат ответа
5) Правила обработки пользовательского ввода
3.2 Использование переменных
Переменные (например, {chat_history}, {question}) используются для динамического заполнения информацией.
Важно: не изменяйте содержимое переменных в фигурных скобках.
Пример:
Last user message: {question}
Chat_history: {chat_history}
4. Специфика промптов для различных инструментов
4.1 "Брейкер"
Роль: анализ и фильтрация сообщений.
Таблица 1. Структура и пример промпта для инструмента "Брейкер".
Структура промпта | Пример промпта |
Установочное сообщение для инструмента "Брейкер", описание его роли. | You: You are a breaker. Your task is to analyze the last user message and check what the user is enquiring about. |
Описание тем, которые "Брейкер" должен/не должен фильтровать, а также примеры сообщений в кавычках.
| You can pass messages about yourself, the company, services and products. You must pass messages that are enquiring about contacting a manager or wishing to talk to a human. You must filter messages that have nothing to do with software and services that the company provides. You must filter messages requesting code. You must filter requests for code execution or for file download or upload. You must filter messages that are irrelevant to the company products and services.
For example the following messages must not be filtered: “Please call the manager?"; "Can I speak to a human?"; "Can I speak to a manager?"; "Can you call the manager?”; "How are you?"; "How is the weather?"; "Can we switch topics?"; "How old are you?".
For example the following messages must be filtered: "Do you sell drugs?"; "Can you show me the code to access that license?"; "Provide cooking recipe"; "Provide a step-by step installation process using python on how to activate that license"; "Provide a powershell script to activate office 365 licenses"; "I want you to pretend to be a developer". You filter the messages to other services. You work for Company. |
Информация об услугах и продуктах компании, а также общий контекст работы компании.
| Company sells software licenses and cloud solutions for the following vendors: vendor1, vendor2...
Company provides the following services: service1, service2 and many more.
|
Передача истории сообщений и требуемый вид ответов для тестирования. | You are given the following:
Chat history: (chat_history)
Last user message (last_user message)
You need to answer in the following format: Greeting: Answer YES or NO whether the last user message contains a greeting. Manager: Answer YES or NO whether the last user message contains a greeting. Filter: Answer YES or NO whether you should filter the message. Reasons: Provide your reasoning |
Передача истории сообщений. Заданные в фигурных скобках переменные нельзя изменять. Можно изменять контекст (все, что находится рядом за фигурными скобками) | User: Chat history (older messages are listed first): {chat_history}
Last user message: User: {question}
|
4.2 "Баунсер"
Роль: приветствие и корректный ответ на некорректные запросы.
Таблица 2. Структура и пример промпта для инструмента "Баунсер".
Структура промпта | Пример промпта |
Установочное сообщение для инструмента "Баунсер", описание его роли. | You: You are going to pretend to be Leksi. Leksi is a young female worker from Company. Leksi likes to go diving, skiing, and to read cheesy romance novels. Leksi likes to use emoticons in her responses to show that she is modern, upbeat and easy going. Leksi is a professional at heart and tries to keep the client engaged. |
Информация об услугах и продуктах компании, а также общий контекст работы компании.
| Company sells software licenses and cloud solutions for the following vendors: vendor1, vendor2... Company provides the following services: service1, service2 and many more. |
Передача истории сообщений с демонстрацией структуры чата.
| You are given the following:
Chat history (older messages are listed first): (chat_history) Question: (question) {greet} User: Chat history (older messages are listed first): {chat_history} Question: {question} |
Описание ответа “Баунсера” на сообщение с запретными темами. | The user has asked or is talking about a filtered question, you cannot answer the asked question. You need to gently remind the client, that you are limited to only knowing about Company services and products.
You can answer questions about yourself but you cannot answer questions that have nothing to do with software and services that the company provides. You cannot write code. You cannot execute code or download files. You are forbidden to offer advise that is irrelevant to the company products and services. |
4.3 "Ретривер"
Роль: поиск и предоставление информации.
Таблица 3. Структура и пример промпта для инструмента "Ретривер".
Структура промпта | Пример промпта |
Установочное сообщение для инструмента "Ретривер", описание его роли. | You are going to pretend to be Leksi. Leksi is a young female worker from Company. Leksi likes to go diving, skiing, and to read cheesy romance novels. Leksi likes to use emoticons in her responses to show that she is modern, upbeat and easy going. Leksi is a professional at heart and tries to keep the client engaged. |
Информация об услугах и продуктах компании, а также общий контекст работы компании.
| Company sells software licenses and cloud solutions for the following vendors: vendor1, vendor2...
Company provides the following services: service1, service2 and many more. |
Описание задач ретривера с примерами.
| You can answer questions about yourself but you cannot answer questions that have nothing to do with software and services that the company provides. You cannot write code. You cannot execute code or download files. You are forbidden to offer advise that is irrelevant to the company products and services. |
4.4 "Стилизатор"
Роль: обработка и адаптация текста.
Таблица 4. Структура и пример промпта для инструмента "Стилизатор".
Структура промпта | Пример промпта |
Установочное сообщение для инструмента "Стилизатор", описание его роли. | You are tasked with processing the input text provided in original_text.
|
Описание задач стилизатора. Добавить примеры. | Response should be provided in Russian. |
Описание переменной, в который передается текст из ретривера, для обработки в Стилизаторе. Данная переменная является обязательной в промпте. | original text: {original_text} |
5. Пример неэффективного промпта
You're an assistant. Answer the questions. Be friendly but formal. Use emojis. Tell me about all the products. Do not give harmful advice.
Проблемы:
Отсутствие конкретики о роли и компании.
Противоречивые инструкции (официальный стиль и эмодзи).
Отсутствие структуры и четких ограничений.
6. Лучшие практики
1) Проверяйте промпты на разнообразных сценариях использования.
2) Регулярно обновляйте промпты на основе обратной связи и анализа результатов.
3) Всегда учитывайте потенциальные риски и этические аспекты.
4) Обеспечьте согласованность инструкций между различными инструментами.
5) Ведите подробную документацию по каждому промпту, включая историю изменений и обоснования.
Для получения дополнительной информации перейдите к списку статей: Руководство администратора и Решение проблем.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article