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