Проектирование запросов (Prompt engineering)
Проектирование запросов (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-продукта, ориентированного на малый и средний бизнес. Отформатируйте ответ так: Канал: Целевая аудитория: Потенциальная рентабельность инвестиций (ROI): Необходимые ресурсы:
Например: Канал: LinkedIn Advertising Целевая аудитория: конкретные должности, отрасли, размер компании Потенциальная рентабельность инвестиций: высокая при правильном таргетинге Необходимые ресурсы: бюджет на рекламу, создание контента, управление кампаниями
Этот метод называется «output templates» (шаблоны вывода).
Ниже приведен ответ языковой модели на промпт с шаблоном вывода
Канал: Контент-маркетинг (блог и SEO) Целевая аудитория: компании, активно ищущие решения своих проблем, органический трафик Потенциальная рентабельность инвестиций: высокая в долгосрочной перспективе, формирует авторитет Необходимые ресурсы: копирайтеры, SEO-специалист, время на исследование ключевых слов и продвижение контента
Канал: Google Ads (поиск) Целевая аудитория: компании, активно ищущие конкретные ключевые слова, связанные с SaaS-продуктом Потенциальная рентабельность инвестиций: от средней до высокой, зависит от конкуренции и стоимости клика Необходимые ресурсы: рекламный бюджет, исследование ключевых слов, оптимизация посадочных страниц, управление кампаниями
Канал: Email-маркетинг (воспитание лидов) Целевая аудитория: лиды, собранные через сайт, вебинары или другие каналы Потенциальная рентабельность инвестиций: высокая, эффективен для конверсии лидов в клиентов Необходимые ресурсы: платформа email-маркетинга, контент для email-секвенций, навыки сегментации
Техника 3 — предоставление подсказки (hint)
Чтобы языковая модель начала и написала ответ определенным образом, дайте подсказку. Здесь подсказка пишется в конце промпта.
Пример промпта: Можешь ли ты кратко изложить для меня этот отчет по маркетинговым исследованиям? (вставьте соответствующие разделы отчета). Начни ответ с: Основные выводы из этого маркетингового исследования:
- ВСТАВЬТЕ ТЕКСТ ОТЧЕТА
Этот метод называется «cues and hints» (подсказки и намеки). В этом примере используется вымышленный отчет.
Ниже приведен ответ языковой модели на промпт с подсказкой
Основные выводы из этого маркетингового исследования:
- Спрос на облачное программное обеспечение для управления проектами в МСБ вырос за последние два года на 35%.
- Основные факторы принятия решений для МСБ — удобство использования, возможности интеграции с существующими инструментами и ценообразование.
- Конкурент А занимает 25% рынка, за ним следует Конкурент Б с 18%. Есть место для новых игроков, ориентированных на специфические ниши или предлагающих превосходный пользовательский опыт.
- Основные проблемы для МСБ при внедрении нового ПО — первоначальные инвестиции и время, необходимое для обучения сотрудников.
- Ожидается, что рынок будет расти ежегодно на 15% в течение следующих пяти лет.
Техника 4 — разделение контента инструкций
Иногда промпт получается очень длинным из-за дополнительного контента, и модель не точно понимает, что вы хотите. Вы, вероятно, уже видели это в предыдущем примере. В таком случае разделите контент, заключив текст в тройные кавычки в начале и конце, отделив его от остальной части промпта.
Пример промпта: Можешь ли ты кратко изложить эту статью? “”” (вставьте текст статьи). “”” Начни ответ с: Основные моменты из этой статьи:
Этот метод называется «content splitting» (разделение контента). В этом примере снова используется статья из интернета: https://www.leraar24.nl/2619420/onderwijs-op-afstand-wat-hebben-we-geleerd/
Ниже приведен ответ языковой модели на промпт с разделенным контентом. Мы используем тройные кавычки или три звездочки, чтобы отделить контекст вопроса.
Основные моменты из этой статьи:
- Во время кризиса COVID-19 учителям пришлось разрабатывать стратегии и методы для максимально эффективного дистанционного обучения, в то время как родители брали на себя большую роль в поддержке своих детей.
- Важными факторами успешного дистанционного обучения были организация структурированного распорядка дня, поддержание открытой коммуникации между учителем и учеником, а также взвешенный выбор, какие учебные материалы выполнять онлайн или на бумаге.
- Проблемы касались поиска способов поддержки уязвимых учеников и дополнительной нагрузки на родителей, особенно тех, кто также работает из дома.
- Быстрое увеличение цифровизации в школах с добавлением новых цифровых инструментов и методов. В статье приводится пример учителя Мэнди де Врис, которая, несмотря на небольшой опыт в образовании, смогла помочь коллегам благодаря своим цифровым навыкам.
- В статье также подчеркивается важность постоянного контакта и внимания к ученикам, особенно в специальных школах, и даются практические советы для учителей и родителей.
- Наконец, в статье выражается надежда, что вовлеченность родителей в дистанционное обучение детей сохранится и после пандемии.
Техника 5 — сначала задавать дополнительные вопросы
Вы можете давать инструкции сначала задавать уточняющие вопросы, прежде чем генерировать ответ. Это помогает модели уточнить и конкретизировать ваш запрос.
Пример промпта: «Я хочу подготовить проектное предложение для разработки нового мобильного приложения для внутренней коммуникации. В приложении должны быть функции новостных обновлений, справочника сотрудников и прямых сообщений. Прежде чем писать предложение, можешь ли ты задать мне дополнительные вопросы, чтобы улучшить предложение?»
Этот метод называется «ask before answer prompting» (спросить перед ответом).
Ниже приведен ответ языковой модели на промпт с просьбой задать дополнительные вопросы
Конечно! Вот несколько вопросов, которые я могу задать, чтобы улучшить проектное предложение: Какова основная цель приложения для внутренней коммуникации? (Напр., повышение вовлеченности, улучшение распространения информации, облегчение сотрудничества) Кто конкретная целевая аудитория внутри компании? (Напр., все сотрудники, определенные отделы, полевые сотрудники) Существуют ли системы или платформы, с которыми приложение должно интегрироваться? (Напр., интранет, HR-система, Active Directory) Каков предполагаемый бюджет и желаемые сроки разработки и внедрения? Есть ли специфические требования по безопасности или соответствию? (Напр., GDPR, политика хранения данных) Какие ключевые показатели эффективности (KPI) будут использоваться для оценки успеха приложения? Есть ли идеи по дизайну или брендингу приложения? Должно ли оно соответствовать корпоративному стилю? Есть ли предпочтения по платформе разработки (iOS, Android, кроссплатформенное)?
С этой дополнительной информацией мы сможем лучше понять объем и требования и подготовить более сильное проектное предложение.
Техника 6 — эмоциональный промпт
Вы можете давать инструкции, чтобы тон текста соответствовал определенным эмоциям или вызывал конкретную эмоциональную реакцию. Это полезно для службы поддержки, внутренней коммуникации или маркетинга.
Пример промпта: «Мне нужно составить письмо клиенту, который недоволен недавним сбоем в сервисе. Клиент написал следующее: """ …. """ (вставьте текст клиента). Я хочу, чтобы письмо было эмпатичным, признающим разочарование клиента и предлагало конструктивное решение.»
Этот метод называется «emotional prompting» (эмоциональное проектирование). В этом примере используется вымышленная жалоба.
Полный промпт:
Мне нужно составить письмо клиенту, который недоволен недавним сбоем в сервисе. Клиент написал следующее: """Уважаемые дамы и господа,
Я крайне разочарован неожиданным сбоем сервиса вчера днем. Это серьезно нарушило нашу работу и привело к потере производительности. Мы рассчитываем на ваши услуги, и такие инциденты неприемлемы. Ожидаю четких объяснений и соответствующей компенсации."""
Я хочу, чтобы письмо было эмпатичным, признающим разочарование клиента и предлагало конструктивное решение.
Ниже приведен ответ, который мы получили от языковой модели
Уважаемый [Имя клиента],
Благодарим вас за сообщение и приносим искренние извинения за сбой в сервисе, который вы испытали вчера днем. Я полностью понимаю ваше разочарование и влияние, которое это оказало на вашу работу. Нам очень жаль, что мы не оправдали ваши ожидания и наши стандарты обслуживания.
Сбой был вызван [краткое и ясное объяснение причины, например, непредвиденная техническая неисправность в нашем дата-центре]. Мы сразу же приняли меры, и наши техники усердно работали, чтобы как можно скорее восстановить сервис. Сервис полностью восстановлен с [время].
Мы относимся к этому инциденту очень серьезно и уже проводим оценку причин, чтобы предотвратить повторение в будущем.
Чтобы частично компенсировать неудобства, мы рады предложить вам [конкретное предложение, например, скидку на следующий счет / бесплатное обновление на месяц / сервисный кредит]. Один из наших менеджеров по работе с клиентами свяжется с вами в течение 24 часов, чтобы обсудить это лично и ответить на любые дополнительные вопросы.
Еще раз приносим извинения за неудобства. Мы ценим ваше сотрудничество и стремимся предоставлять надежный сервис, которого вы ожидаете.
С уважением,
[Ваше имя/название компании]
Техника 7 — запрос нескольких версий
Вы запрашиваете несколько вариантов ответа, чтобы иметь выбор. Например, вы хотите, чтобы модель помогла сгенерировать разные маркетинговые слоганы для нового продукта. Существует множество подходов, поэтому вы хотите получить несколько опций. Это можно эффективно сочетать с установкой конкретной роли для модели и системным промптом для дополнительного управления.
Подробнее о ролях можно прочитать в соответствующей статье. Пример с несколькими версиями находится в конце статьи и здесь не повторяется полностью.
Техника 8 — комбинирование с системным промптом
Системный промпт позволяет задавать модели ИИ инструкции. Это указание, которое вы даете модели, чтобы конкретно сформировать задачу или поведение модели. Вы можете указать, какой тип вывода ожидаете от модели ИИ. Это способ управлять моделью и предотвращать нерелевантные или нежелательные ответы.
Примеры простых и общих системных промптов:
«Я хочу, чтобы ты был дружелюбным и полезным ассистентом.»
«Всегда оставайся профессиональным и уважительным в языке.»
«Сосредоточься на конкретных, лаконичных ответах без лишних деталей.»
Системный промпт задает тон и ожидания для конкретного диалога или задачи, которую вы хотите выполнить с помощью модели ИИ.
Вы также можете придумать более сложные системные промпты для конкретных задач, например, для резюмирования текста: «Тщательно проанализируй данный текст и дай краткое, но информативное резюме основных пунктов. Определи основное сообщение и ключевые детали.»
Системные промпты не всегда одинаково влияют на результат в разных моделях ИИ. В chatGPT влияние очень сильное, в Claude тоже, у других моделей влияние системного промпта меньше. Интересно попробовать и посмотреть, какая модель лучше подходит для вашего ввода.
Вы можете установить общий системный промпт в настройках, но лучше придумывать системные промпты для каждой задачи, которую хотите автоматизировать. Мы называем это ролями.
Подробнее о ролях можно прочитать в соответствующей статье.
Аннотирование фрагмента
Выделите текст в завершенном сообщении чата и выберите Аннотировать. В появившемся окне напишите вопрос или инструкцию по изменению, например «Сделайте только это предложение проще», и выберите Сохранить. Вы можете аннотировать несколько фрагментов. Затем отправьте сообщение; дополнительный промпт в поле ввода не обязателен, но допускается. Фрагмент сохраняется вместе с комментарием, даже если вы переключитесь на другое окно. Аннотацию можно удалить до отправки. На мобильном устройстве удерживайте текст для выделения.