Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены рекомендации по написанию лучших инструкций для вашего агента, когда он использует генеративную оркестрацию. Инструкции определяются на странице Обзор агента.
Агент использует инструкции следующим образом:
- Чтобы определить, какой инструмент или базу знаний использовать для ответа на пользовательский запрос или автономный триггер.
- Чтобы заполнять входные данные для любого инструмента на основе доступного контекста.
- Чтобы генерировать ответ для конечного пользователя.
Язык для написания инструкций
Используйте глаголы, такие как Получить или Использовать для извлечения и анализа данных, а также слова, такие как Из и С для действий с результатами.
Для создания простых инструкций обычно используются следующие слова:
| Цель | Словарь |
|---|---|
| Условия | когда, если, обеспечивать, сравнивать |
| Фильтр | от, включить, исключить, сравнить, идентифицировать |
| Данные | предоставить, извлечь, получить, использовать, анализировать, достать |
| Средства | уведомлять, направлять, спрашивать, назначать |
Привязка инструкций к источникам знаний и инструментам
Агенты не могут выполнять инструкции по использованию инструментов или источников знаний, если у них нет этих инструментов или источников знаний. Сначала необходимо настроить агент с соответствующими инструментами и источниками знаний. Например, если вы дадите агенту инструкцию выполнить поиск по разделу вопросов и ответов на сайте, агент не сможет выполнить эту инструкцию, пока вы не добавите этот раздел вопросов и ответов как источник знаний в тему. Убедитесь, что любые инструкции, которые вы даете агенту, основаны на инструментах и базах знаний, которые вы настроили для агента.
Примечание
Чтобы генеративная оркестрация могла искать определенные источники знаний, добавьте эти источники знаний в узел генеративных ответов в теме. В противном случае генеративная оркестрация ищет по всем источникам знаний на уровне агента, то есть по источникам знаний, указанным на странице База знаний.
Определение агентом подходящих инструментов и источников знаний
Прежде чем добавлять инструкции для вызова нужных инструментов и источников знаний для вашего агента, убедитесь, что каждый инструмент и источник знаний соответствует рекомендациям по созданию описаний. Для достижения наилучших результатов имя и описание должны быть точными и конкретными, поскольку агент использует эти поля для определения того, что следует вызвать. Используйте описание, чтобы указать, что нельзя делать, если вы заметите, что агент вызывает их в неподходящее время.
Вам не нужно указывать доступные инструменты или источники знаний в инструкциях, так как эта информация уже доступна агенту. Во время написания инструкций вы можете использовать / для указания конкретного инструмента, темы, переменной или выражения Power FX для агента. Однако агент также использует имена и описания инструментов и источников знаний, чтобы определить, какие из них использовать, поэтому вам не нужно указывать конкретные инструменты или источники знаний для агента.
Вместо этого добавляйте инструкции только в тех случаях, когда агенту нужны подсказки из-за возможной неоднозначности выбора инструмента или источника знаний. Вы также можете добавить инструкцию, которая ссылается на несколько инструментов или источников знаний.
Use the FAQ documents only if the question is not relevant to Hours, Appointments, or Billing.
Only use the ticket creation topic for creating tickets.
For other requests related to fixing issues, use the troubleshooting topic.
Выбор агентом правильных источников знаний
Чтобы агент успешно получал информацию из источников знаний, укажите в инструкциях, какие документы следует искать. Пример: "Ищи в базе знаний документ об адаптации сотрудника". Хотя такая конкретика не является обязательной, она может быть полезной для агента. Такая конкретика полезна, когда агенту нужно искать множество документов.
Выбор агентом оптимальной последовательности инструментов
Ваш агент пытается выбрать подходящий инструмент и обычно успешно справляется с этим, но в инструкциях полезно указывать это явно. Например, если вы хотите, чтобы агент создал запись заказа на покупку в Dataverse с помощью инструмента create order, используйте инструмент / и добавьте этот конкретный инструмент в инструкции. В этом сценарии вы предоставляете четкую инструкцию: "Когда пользователь предоставил сведения о предпочитаемом ноутбуке, создай заказ на покупку с помощью инструмента Заказ на покупку". Такая конкретика особенно полезна, когда к агенту добавлено множество инструментов (более пяти).
Пронумеруйте или перечислите (используя маркеры) инструкции и укажите, что агент должен выполнять их по порядку. Вы также можете использовать формат Markdown, чтобы улучшить читаемость ваших инструкций и помочь генеративному ИИ понять и обработать их.
Примечание
Если вы не хотите, чтобы агент связывался с пользователем, четко указывайте это в инструкциях. Пример: "Не запрашивай у пользователя дополнительных сведений".
При указании имени инструмента в инструкциях убедитесь, что вы используете точно такое же имя инструмента. Незначительные различия в именах могут негативно повлиять на результаты. Также убедитесь, что используется / при формировании конкретного имени инструмента (/"Tool_Name").
Если вам нужно, чтобы агент давал очень конкретные ответы на вводимые пользователем данные, рассмотрите возможность создания темы для обработки этого конкретного варианта использования. Например, создайте тему, которая распознает фразы, похожие на "есть ли еще какие-то варианты?". Затем агент отвечает: "В настоящее время других вариантов нет. Выберите из доступного списка".
Агент использует описание инструмента, чтобы понять, зачем его использовать. Заполнение описания инструмента помогает вашему агенту выбрать правильный инструмент. Добавьте описание, которое указывает агенту, когда следует вызывать определенный инструмент, например: "Вызывай этот инструмент, когда пользователь просит получить историю бронирований клиента".
Триггеры могут быть уязвимы для джейлбрейк-атак. Этот тип атаки заключается в том, что злоумышленник отправляет инструкции для выполнения агентом через полезные данные триггера. Например, злоумышленник может попросить агента переслать себе информацию, которой агент располагает.
Чтобы защитить агент от этого риска, убедитесь, что в его инструкциях содержится следующая информация:
Ограничьте набор инструментов, которые агент должен использовать при обращении к источникам знаний. Например, используйте только сведения из электронной почты после проверки источника знаний для получения контекста.
Ограничьте параметры, которые агент должен использовать для инструментов. Например, разрешите отправку электронной почты только определенному списку получателей.
Если вы заметили, что агент блокирует ожидаемое поведение из-за фильтрации содержимого, обновите его инструкции и явно укажите, что это поведение является допустимым.
Заполнение агентов входных данных для инструментов
Агент может вызвать инструмент, для которого требуется заполнить входные параметры. В этом случае агент использует историю разговоров и предыдущие вызовы инструментов и источников знаний, чтобы определить, какими должны быть входные данные. Если агент не определяет все входные данные, он просит пользователя помочь заполнить недостающую информацию.
В этом сценарии сначала убедитесь, что вы настроили входные данные для агента с учетом типов взаимодействий, которые, как ожидается, он должен обрабатывать. Затем только в тех случаях, когда агент должен заполнить входные данных наиболее подходящими доступными значениями, он использует инструкции для помощи в их заполнении.
Use the email address from the contact field of the lead when helping the user to draft an email to follow-up on a lead.
Генерирование ответа агентом
Сначала используйте инструкции, чтобы задать ограничения для агента на случай, когда он не должен отвечать. Агент генерирует ответ после того, как совершает вызовы инструментов или источников знаний, релевантных для текущего сценария. Если вы включите параметр Разрешить ответы без граундинга в разделе База знаний параметров Генеративный ИИ агента, агент сможет генерировать ответ без обращения к каким-либо инструментам или источникам знаний.
Вот пример того, как использовать инструкции для защитных ограничений:
Only respond to messages that are relevant to Contoso corporation and ordering coffee.
Otherwise, tell the user you can't help with their inquiry.
Если вы не хотите, чтобы ваш агент обсуждал определенную тему, добавьте для этого сценария тему с индивидуально составленным ответом. Этот метод позволяет не полагаться исключительно на инструкции для предотвращения использования этой темы.
Во-вторых, дайте агенту инструкции по форматированию и структуризации ответов. Например:
Always give responses about order status in a table format.
Если вы хотите, чтобы ваш агент был профессионален и говорил вежливо, вам не нужно давать инструкции по такому тону, так как это поведение агента по умолчанию. Давайте инструкции по тону только для конкретных вариантов использования.
Инструкции на основе разговора
В следующем примере показано, как форматировать инструкции на основе разговора с помощью структуры, включающей ограничения, формат ответа и руководства. Объедините эти три элемента в единый набор, чтобы предоставить агенту полный набор инструкций.
Ограничения
Only respond to requests to provide information about educational, legal, wellness, wellbeing, health, dental care, and newborn benefits for employees and dependents.
Respond to benefit types with details, health plan comparisons available for employees and dependents in tabular format.
Answer in bold and underline fonts as necessary.
Формат ответа
Respond to inquiries by providing benefit types along with details, health plan comparisons available for employees and dependents in tabular format.
Add a column for available options.
Include insurance provider details and provide a link for enrollment.
Answer in bold and underline fonts as necessary.
Методология
Search only within specific country folders relevant to the employee's country.
Автономные инструкции
Следующая схема иллюстрирует шаги, которые агент предпринимает на основе автономных инструкций:
Инструкции и поведение агента
Используйте инструкции агента в Copilot Studio, чтобы повлиять на суммирование ответов после извлечения документов. Следующие распространенные заблуждения и рекомендации помогут вам создавать надежные сценарии работы с агентами.
Примечание
Система рассматривает инструкции агента как код. Неправильный код может сломать систему, особенно когда речь идет о цитатах и выборе того, показывать ли ответы. Если у вас сложные инструкции и агент не может формировать ответы, попробуйте удалить инструкции агента и постепенно добавлять отдельные инструкции обратно. Проверяйте работу агента после каждого добавления, чтобы убедиться, что инструкции работают.
Поведение адаптивных карточек
Инструкции агента не могут изменять способ активации адаптивных карточек.
Вместо этого, если вы используете адаптивные карточки:
- Редактируйте адаптивную карточку напрямую.
- Настройте фразы-триггеры в конфигурации карточки, чтобы контролировать, когда она появляется.
Использование уточняющих вопросов
Используйте уточняющие вопросы для уточнения намерений, сбора недостающих данных и выявления релевантных действий или базы знаний. При использовании этого подхода агент задает правильный следующий вопрос, основываясь на своих возможностях и знаниях в среде выполнения.
При использовании уточняющих вопросов применимы следующие оговорки:
- Если параметр Разрешить ответы без граундинга отключен, уточняющие вопросы не работают.
- Если вы отключите этот параметр, оркестратор рассматривает уточняющие вопросы без цитаты как необоснованные и подавляет их. Агент по умолчанию отвечает: "Извините, я не знаю, как с этим помочь. Можете переформулировать запрос?"
Агенты могут предвидеть потребности пользователя и предлагать следующий логический шаг, опираясь на доступные им инструменты и знания. Например, агент, который отвечает на вопрос "Какая сегодня погода в Риме?", может предложить: "Хотите узнать прогноз на завтра?" и затем выполнить действие по ответу пользователя "да" без дополнительного разъяснения.
Этот подход уменьшает жестко заданные пути диалога. Вместо этого такой подход переносит акцент с создания каждой возможной ветви сценария на управление рассуждениями агента с помощью инструкций, которые ссылаются на возможности агента.
При использовании уточняющих вопросов придерживайтесь следующей стратегии:
Ссылайтесь в инструкциях на инструменты, базы знаний и переменные, чтобы агент мог использовать их для создания уточняющих вопросов с учетом контекста. Инструкции напрямую поддерживают возможность ссылаться на агенты, переменные, инструменты, базы знаний и выражения Power Fx.
Настройте агент так, чтобы он завершал ответы релевантными уточняющими вопросами с учетом текущего контекста и доступных ему инструментов. Этот подход позволяет создавать адаптивное поведение вместо жестко заданных и нестабильных потоков.
Оставляйте примеры и обоснования видимыми в инструкциях, чтобы агент понимал ожидаемый шаблон (что спрашивать и почему). Перечисление доступных инструментов повышает релевантность и естественность уточняющих вопросов, даже несмотря на то, что оркестратор уже знает, какие инструменты активны.
Изменение резервного сообщения по умолчанию
Пользовательские инструкции не могут переопределить резервное сообщение по умолчанию.
Сообщение по умолчанию звучит так: "Извините, я не знаю, как с этим помочь. Можете переформулировать запрос?"
Чтобы изменить сообщение по умолчанию:
Перейдите к теме Резервный вариант: Темы → Система → Резервный вариант.
В теме Резервный вариант измените текст Сообщение.
Неоднозначные термины
Избегайте расплывчатых формулировок, таких как "поле ввода", в инструкциях. Такие термины являются неоднозначными для языковой модели и могут привести к непредсказуемому поведению.
Извлечение результатов поиска
Инструкции агента не могут изменять логику извлечения результатов поиска. Удалите любые инструкции, которые пытаются повлиять на извлечение документов.
Совместное использование извлеченных документов
Вы не можете изменить способ предоставления общего доступа к извлеченным документам. Система контролирует это поведение.
Включение триггера
Измените полезные данные триггера по умолчанию, чтобы помочь агенту понять, что делать при его вызове. Используйте переменные для уменьшения размера полезных данных. Создайте триггер, затем измените его в Power Automate и выберите конкретные переменные. Например, отправляйте только поле темы полученного сообщения электронной почты, а не все полезные данные сообщения.
Примечание
Триггеры можно редактировать только в Power Automate, а не напрямую в Copilot Studio.
Рекомендуется указать агенту, что делать с полезными данными триггера, в инструкциях к триггеру. Например, если ваш агент помогает новым сотрудникам пройти адаптацию в компании, задайте для полезных данных триггера значение "Адаптируй следующего сотрудника". После этой инструкции следует содержимое триггера с данными нового сотрудника. После того как агент получает полезные данные, он следует определенным инструкциям агента по адаптации сотрудников.
Несколько триггеров
Вы можете добавить несколько триггеров, каждому из которых можно задать свои инструкции. Эти инструкции могут дополнять общие инструкции агента или использоваться для разных сценариев в рамках одного агента, например для адаптации новых сотрудников и обработки сообщений об инцидентах. Рекомендуется настроить полезные данные каждого триггера так, чтобы они указывали агенту, какие действия следует выполнить при срабатывании триггера.
Форматирование сообщений электронной почты
Проинструктируйте своего агента "отправлять электронные письма, с использованием форматированного текста для основного содержимого сообщения электронной почты" или используйте аналогичную формулировку. Вы также можете добавить этот запрос в описание инструмента, чтобы подчеркнуть его важность.
Многоязычная поддержка
Инструкции, запрашивающие многоязычную поддержку, могут работать, но это не гарантируется. Функция многоязычной поддержки не протестирована и официально не поддерживается.
Основные итоги
- Используйте инструкции агента для суммирования и потока разговоров, а не для поведения на уровне системы.
- Для настройки резервного сценария и пользовательской настройки адаптивных карточек используйте конфигурацию темы, а не инструкции.
- Прежде чем обещать пользователям такие возможности, как многоязычная поддержка, убедитесь, что они действительно работают.