Инжиниринг запросов (Prompt engineering)
Инжиниринг запросов — это, проще говоря, умение задавать хорошие вопросы ИИ. Промпт — это ваш ввод с вашим вопросом или запросом.
Инжиниринг запросов означает продумывание целенаправленных вопросов и указаний, чтобы помочь моделям ИИ давать правильные ответы в чатах. С лучшими промптами вы получаете лучшие результаты.
Вместе со спецификациями выбранной модели это определяет качество ответа.
Элементы промпта (вопроса)
Чтобы получить лучшие результаты, нужно учитывать следующие моменты:
- Цель: что именно вы хотите от языковой модели?
- Роль: какую роль играет языковая модель? (Например, «Маркетинговый аналитик», «Юридический консультант», «Менеджер проекта»)
- Контекст: фоновые сведения о запросе (например, цели компании, детали проекта, рыночная информация)
- Стиль: какой стиль вы хотите использовать? (например, формальный, убедительный, краткий)
- Вывод: в каком формате вы хотите получить ответ? (например, отчет, электронное письмо, план презентации, фрагмент кода)
Цель
Точное описание цели вашего вопроса крайне важно и не может быть опущено.
Что вы хотите узнать?
- Можно задавать фактические вопросы, но учитывайте ограничения (например, отсутствие актуальных знаний)
- Как и в Google, вы не получите точно одинаковый ответ при повторных вопросах
- Преимущество — функция «чат», позволяющая задавать уточняющие вопросы
Пример промпта с чёткой целью:
Дайте описание основных проблем при внедрении новой AI-платформы в среднюю компанию.
Внедрение новой AI-платформы в среднюю компанию связано с рядом проблем. Некоторые из основных проблем:
- Сопротивление изменениям: Сотрудники привыкли к существующим процессам и системам. Новая AI-платформа требует адаптации и может вызвать сопротивление, особенно если влияние на рабочие процессы неясно.
- Качество и доступность данных: AI-платформы сильно зависят от данных. Сбор, очистка и структурирование данных для новой платформы могут быть сложными и трудоемкими.
- Интеграция с существующими системами: AI-платформа часто должна интегрироваться с другими корпоративными приложениями (ERP, источники данных, BI-инструменты). Это может вызвать технические сложности.
- Затраты: Помимо лицензионных платежей за платформу, есть расходы на внедрение, обучение, инфраструктуру данных и, возможно, специализированный персонал.
- Обучение и принятие: Сотрудников нужно обучить использованию новой платформы и интерпретации результатов. Без хорошего обучения и постоянной поддержки уровень принятия может оставаться низким.
- Выбор правильной платформы и кейсов использования: Существует множество AI-платформ и технологий. Крайне важно выбрать платформу и определить релевантные кейсы, соответствующие специфическим потребностям и стратегическим целям компании.
- Этические соображения и соответствие требованиям: В зависимости от применения AI-платформы могут возникать этические вопросы и требования соответствия (например, GDPR), которые нужно тщательно учитывать.
- Управление проектом: Успешное внедрение требует грамотного управления проектом, чётких целей и вовлечённости заинтересованных сторон из разных отделов.
Добавление роли и контекста
Добавление роли и контекста обеспечивает более точные и специфичные ответы.
Пример того же вопроса с ролью и контекстом:
В качестве менеджера проекта, ответственного за внедрение новой AI-платформы для анализа данных и оптимизации процессов в B2B-компании с 150 сотрудниками, опишите основные проблемы и возможные стратегии их смягчения.
В качестве менеджера проекта по внедрению новой AI-платформы для анализа данных и оптимизации процессов в B2B-компании с 150 сотрудниками, я вижу следующие основные проблемы и возможные стратегии их смягчения:
- Сопротивление изменениям и принятие пользователями:
- Проблема: Сотрудники, особенно те, чьи задачи напрямую затрагиваются, могут неохотно отказываться от привычных методов работы и принимать новые AI-решения.
- Смягчение: Раннее вовлечение ключевых пользователей. Чёткое донесение преимуществ (эффективность, лучшее принятие решений, новые инсайты). Обеспечение обширного обучения по ролям и постоянной поддержки. Назначение «AI-чемпионов» в отделах.
- Качество данных, управление и миграция:
- Проблема: Эффективность AI-платформы зависит от качественных, хорошо управляемых данных. Данные из существующих систем часто непоследовательны, неполны или некорректны.
- Смягчение: Начать с тщательного аудита данных, определить рамки управления данными и провести очистку данных до интеграции/миграции. Определить чёткие модели и потоки данных. Провести тестирование и валидацию данных.
- Интеграция с существующей IT-инфраструктурой:
- Проблема: Связи с существующими источниками данных, ERP, CRM и другими системами должны работать без сбоев и безопасно.
- Смягчение: Раннее выявление всех необходимых интеграций. Выбор AI-платформы с надёжными API или стандартными коннекторами. Тщательное тестирование интеграций.
- Расширение объёма работ и превышение бюджета:
- Проблема: В ходе проекта могут появляться новые требования к AI-приложениям, расширяющие объём и увеличивающие затраты.
- Смягчение: Определить чёткий, ограниченный объём с ясными кейсами (MVP — минимально жизнеспособный продукт) для первой фазы. Применять строгий процесс управления изменениями. Соблюдать реалистичные сроки и бюджет с резервом.
- Выбор правильной технологии и партнёра по внедрению:
- Проблема: Рынок AI сложен. Неправильный выбор технологии или неопытный партнёр могут привести к провалу проекта.
- Смягчение: Провести тщательное исследование подходящих AI-технологий для определённых кейсов. Выбрать партнёра с доказанным опытом в вашей отрасли и с выбранными технологиями. Запросить рекомендации.
- Недостаток знаний и навыков в области AI внутри организации:
- Проблема: Возможно, недостаточно внутренней экспертизы для эффективного использования, поддержки и развития AI-платформы.
- Смягчение: Инвестировать в обучение и повышение квалификации. Рассмотреть возможность найма специалистов или тесного сотрудничества с партнёром по внедрению для передачи знаний. Создать культуру непрерывного обучения.
- Этические соображения и объяснимость (Explainable AI):
- Проблема: Решения, принимаемые или поддерживаемые AI, должны быть прозрачными и объяснимыми, особенно если они влияют на клиентов или сотрудников. Смещение данных может привести к несправедливым результатам.
- Смягчение: Разработать этические руководства по использованию AI. По возможности выбирать интерпретируемые модели. Внедрять процессы для выявления и смягчения смещения. Обеспечить человеческий контроль за критическими AI-решениями.
Проактивное решение этих проблем увеличивает шансы на успешное внедрение AI-платформы, которая действительно способствует достижению бизнес-целей.
Техники
Ниже описаны несколько техник, которые вы можете использовать для более продвинутых промптов.
Техника 1 — предоставление примеров
Чтобы языковая модель использовала желаемый стиль, приведите один или два примера.
Метод называется «one & few-shot prompting» (один и несколько примеров).
Напишите черновик письма клиентам о предстоящем плановом обновлении системы. Используйте нашу внутреннюю политику коммуникации с клиентами (вставьте соответствующие пункты политики). В качестве стиля используйте эту недавнюю рассылку, но не копируйте содержимое: (вставьте текст рассылки)
Полный промпт выглядит так:
Внутренняя политика коммуникации с клиентами:
- Всегда быть профессиональными и вежливыми.
- Своевременно информировать о важных изменениях или сбоях.
- Предоставлять чёткую и краткую информацию.
- Предлагать решение или компенсацию, если это применимо.
Используйте стиль этой рассылки, но не используйте информацию из неё. Уважаемый клиент,
Мы хотим сообщить вам о предстоящем обновлении системы, которое может повлиять на наши услуги.
Дата и время обновления: [дата и время] Ожидаемая продолжительность перерыва: [продолжительность] Затронутые услуги: [услуги]
В этот период наши услуги могут быть временно недоступны. Мы сделаем всё возможное, чтобы минимизировать неудобства и как можно быстрее восстановить работу.
Ниже приведён ответ языковой модели на расширенный промпт с примерами
Уважаемый клиент,
Мы хотим сообщить вам о предстоящем обновлении системы, которое может повлиять на наши услуги.
Дата и время обновления: [дата и время]
Ожидаемая продолжительность перерыва: [продолжительность]
Затронутые услуги: [услуги]
В этот период наши услуги могут быть временно недоступны. Мы сделаем всё возможное, чтобы минимизировать неудобства и как можно быстрее восстановить работу.
Если у вас есть вопросы, пожалуйста, свяжитесь с нами.
С уважением,
[Ваше имя]
[Ваша должность]
[Название компании]
[Контактная информация]
Техника 2 — предоставление шаблона
Чтобы языковая модель использовала определённый формат, дайте шаблон и пример. Это заставляет модель формировать или структурировать ответ определённым образом. Можно использовать разные форматы, полезные в ситуациях, например:
- CSV-вывод для импорта в Excel или инструменты анализа данных
- JSON-вывод для API-интеграций или конфигурационных файлов
- План повестки для проектного совещания
Пример промпта:
Сгенерируйте список из трёх потенциальных маркетинговых каналов для нового SaaS-продукта, ориентированного на малый и средний бизнес. Отформатируйте ответ так:
Канал:
Целевая аудитория:
Потенциальная окупаемость:
Необходимые ресурсы:
Например:
Канал: LinkedIn Advertising
Целевая аудитория: Конкретные должности, отрасли, размер компании
Потенциальная окупаемость: Высокая при правильном таргетинге
Необходимые ресурсы: Бюджет на рекламу, создание контента, управление кампаниями
Метод называется «output templates» (шаблоны вывода).
Ниже приведён ответ языковой модели на промпт с шаблоном вывода
Канал: Контент-маркетинг (блог и SEO)
Целевая аудитория: Компании, активно ищущие решения своих проблем, органический трафик
Потенциальная окупаемость: Высокая в долгосрочной перспективе, формирует авторитет
Необходимые ресурсы: Копирайтеры, SEO-специалист, время на исследование ключевых слов и продвижение контента
Канал: Google Ads (поиск)
Целевая аудитория: Компании, активно ищущие конкретные ключевые слова, связанные с SaaS-продуктом
Потенциальная окупаемость: От средней до высокой, зависит от конкуренции и стоимости клика
Необходимые ресурсы: Бюджет на рекламу, исследование ключевых слов, оптимизация посадочных страниц, управление кампаниями
Канал: Email-маркетинг (воспитание лидов)
Целевая аудитория: Лиды, собранные через сайт, вебинары или другие каналы
Потенциальная окупаемость: Высокая, эффективен для конверсии лидов в клиентов
Необходимые ресурсы: Платформа email-маркетинга, контент для email-цепочек, навыки сегментации
Техника 3 — предоставление подсказки
Чтобы модель начала и написала ответ определённым образом, дайте подсказку. Здесь подсказка пишется в конце промпта.
Пример промпта:
Можешь ли ты кратко изложить для меня этот отчёт по маркетинговому исследованию? (вставьте релевантные разделы отчёта). Начни ответ с:
Основные выводы из этого маркетингового исследования таковы:
- ВСТАВЬТЕ ТЕКСТ ОТЧЁТА
Метод называется «cues and hints» (подсказки и намёки).
Этот пример использует вымышленный отчёт.
Ниже приведён ответ языковой модели на промпт с подсказкой
Основные выводы из этого маркетингового исследования таковы:
- Спрос на облачное ПО для управления проектами в МСБ вырос за последние два года на 35%.
- Основные факторы принятия решений для МСБ — удобство использования, возможности интеграции с существующими инструментами и ценообразование.
- Конкурент А занимает 25% рынка, за ним следует Конкурент Б с 18%. Есть место для новых игроков, ориентирующихся на ниши или предлагающих превосходный пользовательский опыт.
- Главные проблемы для МСБ при внедрении нового ПО — первоначальные инвестиции и время на обучение сотрудников.
- Ожидается, что рынок будет расти на 15% ежегодно в течение следующих пяти лет.
Техника 4 — разделение контента и инструкций
Иногда промпт получается очень длинным из-за дополнительного контента, и модель не совсем понимает, что вы хотите. Вы, вероятно, уже видели это в предыдущем примере. В таком случае разделите контент с помощью трёх кавычек в начале и конце текста, отделив его от остальной части промпта.
Пример промпта:
Можешь ли ты кратко изложить эту статью для меня?
"""
(вставьте текст статьи).
"""
Начни ответ с:
Основные моменты из этой статьи:
Метод называется «content splitting» (разделение контента).
Этот пример использует статью или отчёт из интернета в качестве исходного материала. Вы можете использовать, например, политический документ, исследовательский отчёт или публичную информационную страницу.
Ниже приведён ответ языковой модели на промпт с разделённым контентом. Мы используем тройные кавычки или три звёздочки, чтобы отделить контекст вопроса.
Основные моменты из этого источника:
- В отчёте описываются целевые группы, на которые влияет политика.
- Источник называет условия для аккуратного исполнения, такие как конфиденциальность, доступность и чёткая коммуникация.
- Анализ показывает, какие риски и зависимости нужно учитывать заранее.
- Документ содержит рекомендации, которые можно перевести в конкретные действия для команд или отделов.
- Для принятия решений важно явно обозначить предположения, неопределённости и последующие шаги.
Техника 5 — сначала запросить дополнительную информацию
Вы можете дать инструкцию сначала задать уточняющие вопросы, прежде чем генерировать ответ. Так модель поможет вам уточнить и конкретизировать ваш запрос.
Пример промпта:
«Я хочу подготовить проектное предложение для разработки нового мобильного приложения для внутренней коммуникации. В приложении должны быть функции новостных обновлений, справочника сотрудников и прямых сообщений. Прежде чем писать предложение, можешь задать мне дополнительные вопросы, чтобы улучшить его?»
Метод называется «ask before answer prompting» (спросить перед ответом).
Ниже приведён ответ языковой модели на промпт с просьбой задать уточняющие вопросы
Конечно! Вот несколько вопросов, которые я могу задать, чтобы улучшить проектное предложение:
Какова основная цель приложения для внутренней коммуникации? (например, повышение вовлечённости, улучшение распространения информации, облегчение сотрудничества)
Кто является конкретной целевой аудиторией внутри компании? (например, все сотрудники, отдельные отделы, полевые сотрудники)
Есть ли существующие системы или платформы, с которыми приложение должно интегрироваться? (например, интранет, HR-система, Active Directory)
Каков предполагаемый бюджет и желаемые сроки разработки и внедрения?
Есть ли специфические требования по безопасности или соответствию? (например, GDPR, политика хранения данных)
Какие ключевые показатели эффективности (KPI) будут использоваться для оценки успеха приложения?
Есть ли идеи по дизайну или брендингу приложения? Должно ли оно соответствовать корпоративному стилю?
Есть ли предпочтения по платформе разработки (iOS, Android, кроссплатформенное)?
С этой дополнительной информацией мы сможем лучше понять объём и требования и подготовить более сильное проектное предложение.
Техника 6 — эмоциональный промпт
Вы можете дать инструкцию адаптировать тон текста под определённые эмоции или вызвать конкретную эмоциональную реакцию. Это полезно для службы поддержки, внутренней коммуникации или маркетинга.
Пример промпта:
«Мне нужно составить письмо клиенту, который недоволен недавним сбоем сервиса. Клиент написал следующее: """ …. """ (вставьте текст клиента). Я хочу, чтобы письмо было эмпатичным, признало разочарование клиента и предложило конструктивное решение.»
Метод называется «emotional prompting» (эмоциональный промпт).
Этот пример использует вымышленную жалобу.
Полный промпт звучит так:
Мне нужно составить письмо клиенту, который недоволен недавним сбоем сервиса. Клиент написал следующее:
"""Уважаемые господа,
Я крайне разочарован неожиданным сбоем сервиса вчера днём. Это серьёзно нарушило нашу работу и привело к потере продуктивности. Мы рассчитываем на ваши услуги, и такие инциденты неприемлемы. Ожидаю чёткого объяснения и соответствующей компенсации."""
Я хочу, чтобы письмо было эмпатичным, признало разочарование клиента и предложило конструктивное решение.
Ниже приведён ответ, который мы получили от языковой модели
Уважаемый [Имя клиента],
Благодарим вас за ваше сообщение и приносим искренние извинения за сбой сервиса, который вы испытали вчера днём. Я полностью понимаю ваше разочарование и влияние, которое это оказало на вашу работу. Нам очень жаль, что мы не оправдали ваши ожидания и наши стандарты обслуживания.
Сбой был вызван [краткое и понятное объяснение причины, например, непредвиденная техническая неисправность в нашем дата-центре]. Мы сразу же приняли меры, и наши техники усердно работали, чтобы как можно скорее восстановить сервис. Сервис полностью восстановлен с [время].
Мы относимся к этому инциденту очень серьёзно и уже проводим оценку причин, чтобы предотвратить повторение в будущем.
Чтобы частично компенсировать неудобства, мы предлагаем вам [конкретное предложение, например, скидку на следующий счёт / бесплатное обновление на месяц / сервисный кредит]. Один из наших менеджеров свяжется с вами в течение 24 часов, чтобы обсудить это лично и ответить на любые дополнительные вопросы.
Ещё раз приносим извинения за неудобства. Мы ценим ваше сотрудничество и стремимся в будущем предоставлять надёжный сервис, который вы ожидаете от нас.
С уважением,
[Ваше имя/название компании]
Техника 7 — запрос нескольких вариантов
Вы запрашиваете у модели несколько вариантов ответа, чтобы иметь выбор. Например, вы хотите, чтобы модель помогла сгенерировать разные маркетинговые слоганы для нового продукта. Существует множество подходов, поэтому полезно получить несколько опций. Это можно эффективно сочетать с установкой конкретной роли для модели и системным промптом для дополнительного управления.
Подробнее о ролях можно прочитать в соответствующей статье. Пример с несколькими вариантами находится в конце статьи. Здесь он не приводится полностью.
Техника 8 — комбинирование с системным промптом
Системный промпт позволяет задавать модели ИИ инструкции. Это указание, которое вы даёте модели, чтобы конкретно сформировать задачу или поведение модели. Вы можете указать, какой тип вывода ожидаете от модели ИИ. Это способ управлять моделью и предотвращать нерелевантные или нежелательные ответы.
Примеры простых и общих системных промптов:
«Я хочу, чтобы ты был дружелюбным и полезным ассистентом.»
«Всегда оставайся профессиональным и уважительным в языке.»
«Сосредоточься на конкретных, лаконичных ответах без лишних деталей.»
Системный промпт задаёт тон и ожидания для конкретного диалога или задачи, которую вы хотите выполнить с моделью ИИ.
Вы также можете придумать более сложные системные промпты для конкретных задач, например, для резюмирования текста:
«Тщательно проанализируй данный текст и дай краткое, но информативное резюме основных пунктов. Определи ключевое сообщение и важные детали.»
Системные промпты не всегда одинаково влияют на результат в разных моделях ИИ. В chatGPT влияние очень сильное, в Claude тоже, у других моделей влияние системного промпта меньше. Интересно попробовать и посмотреть, какая модель лучше подходит для вашего ввода.
Вы можете установить общий системный промпт в настройках, но лучше придумывать системные промпты для каждой задачи, которую хотите автоматизировать. Мы называем это ролями.
Подробнее о ролях можно прочитать в соответствующей статье.
Аннотирование фрагмента
Выделите текст в завершённом сообщении чата и выберите Аннотировать. В появившемся окне напишите вопрос или инструкцию по изменению, например «Сделай только это предложение проще», и нажмите Сохранить. Вы можете аннотировать несколько фрагментов. Затем отправьте сообщение; дополнительный промпт в поле ввода не обязателен, но разрешён. Фрагмент сохраняется вместе с комментарием, даже если вы переключитесь на другое окно. Аннотацию можно удалить до отправки. На мобильном устройстве удерживайте текст для выделения.