Добавление инструментов в пользовательские агенты

Note

Функции, описанные в этой статье, питаются стандартным жгутом, который использует опции выставления счетов, описанные в разделе «Лицензирование для агентов, работающих на стандартном жгуте». Узнайте, как получить доступ к стандартным функциям в стандартных агентах и потоках агентов доступа.

Инструменты — это базовые элементы, которые позволяют вашему агенту взаимодействовать с внешними системами. Инструменты расширяют возможности вашего агента, позволяя ему выполнять различные действия в ответ на запросы пользователей или автономные триггеры. Каждый инструмент представляет собой отдельную возможность, которую ваш агент может выполнять. Например, вы можете оснастить вашего агента инструментами, которые выполняют такие задачи, как:

  • Отправка писем с помощью соединителя Office 365 Outlook
  • Проверка текущих погодных условий и прогнозов
  • Чтение и запись данных в Dataverse
  • Чтение и публикация сообщений в Teams

Механизмы добавления инструментов в агенты

Вы можете расширить возможности пользовательского агента, добавив один или несколько инструментов. Ваш агент может использовать инструменты для автоматического ответа пользователям с помощью генеративной оркестрации. Вы также можете явно вызывать инструменты из темы.

Когда генеративная оркестрация активна (по умолчанию), ваш агент может автоматически выбирать наиболее подходящий инструмент или тему либо выполнять поиск по знаниям для ответа пользователю. Этот режим оркестрации обеспечивает более динамичный и интеллектуальный разговорный опыт.

В классическом режиме (при отключенной генеративной оркестрации) агент может отвечать пользователю только на основе тем. Тем не менее, вы по-прежнему можете спроектировать агент для явного вызова инструментов из тем.

Существует несколько способов добавить инструменты вашему агенту:

  • Соединитель: позволяет подключаться к защищаемым интерфейсам API и сервисам с помощью соединителей Power Platform для получения данных или выполнения действий.
    • Готовый соединитель: выберите из набора предустановленных подключений к тысячам популярных интерфейсов API как от службы Microsoft, так и от сторонних сервисов.
    • Пользовательский соединитель: определите подключение к пользовательской службе или системе для включения опций пользовательских инструментов с помощью соединителей Power Platform. Для того чтобы агент мог использовать соединитель, такой соединитель должен иметь права на просмотр и совместное использование в организации.
  • Поток агента: определите поток агента, включающий одно или несколько действий для выполнения.
  • Запрос: одноэтапный запрос на основе модели, который может использовать предоставленные вами знания и генерировать код для анализа данных.
  • REST API: определите подключение к REST API и выберите одну или несколько конечных точек и методов для добавления в качестве инструментов.
  • Протокол контекста модели: подключитесь к серверу MCP для доступа к инструментам и ресурсам.
  • Использование компьютера: позволяет вашему агенту взаимодействовать с любой системой, имеющей графический пользовательский интерфейс, включая веб-сайты и настольные приложения, выбирая кнопки, элементы меню и вводя текст в поля на экране.

Два других механизма, которые вы можете использовать для добавления инструментоподобного поведения к вашему агенту:

Note

Навыки в контексте классического опыта агента отличаются от тех, что используются в программировании агентов. В новом опыте агента можно добавлять навыки агента по программированию.

Создание и добавление нового инструмента на уровне агента

Создание новых инструментов непосредственно в Copilot Studio упрощает процесс разработки и обеспечивает правильную интеграцию с вашим агентом. Инструменты, добавленные к агенту, доступны для автоматической оркестрации на протяжении всех разговоров вашего агента.

  1. Откройте агент, выбрав Агенты на левой панели навигации и выбрав агент из списка.

  2. Перейдите на страницу Инструменты агента.

  3. Выберите "Добавить инструмент".

  4. В области Добавить инструмент выберите Новый инструмент.

  5. Выберите тип инструмента, который хотите добавить, из появившегося списка:

    • Prompt
    • Поток агента
    • Использование компьютера
    • Настраиваемый соединитель
    • Протокол контекста модели
    • REST API

    Снимок экрана с выбором типа нового инструмента для добавления к агенту

  6. Выполните шаги конфигурации, соответствующие выбранному инструменту. Например, если вы выберете Запрос, необходимо выполнить следующие шаги:

    • Определение шаблона и инструкций запроса
    • Задание входных параметров
    • Настройка источников знаний
    • Задание формата и ограничений ответа
  7. Нажмите Сохранить или Опубликовать в зависимости от потребностей, чтобы создать новый инструмент.

  8. Выберите Добавить и настроить. Инструмент добавляется в ваш агент. Открывается страница настройки вашего инструмента. Вы можете просматривать и вносить изменения в конфигурацию инструмента здесь.

Новый инструмент можно просмотреть на странице «Инструменты» агента.

Просмотр и внесение изменений в конфигурацию инструмента

В любой момент вы можете просмотреть и изменить настройки инструмента: перейдите на страницу Инструменты вашего агента и выберите инструмент из списка.

Открывается страница настройки вашего инструмента. Подробные сведения представлены в трех разделах:

  • Сведения
  • Входные данные
  • Завершение

Для серверов MCP, используемых как инструменты агента, страница настройки отличается от других типов инструментов. Раздел Детали является аналогичным, но вместо пунктов Входные данные и Завершение здесь представлены разделы Инструменты и Ресурсы с информацией о доступных инструментах и ресурсах для сервера MCP. Для получения дополнительной информации см. Просмотр инструментов и ресурсов в существующем сервере MCP.

Сведения

В разделе Сведения можно настроить основные сведения об инструменте.

Здесь вы можете посмотреть и обновить:

  • Имя: имя инструмента. Это имя отображается в списке инструментов вашего агента. Выберите имя, которое четко отражает назначение инструмента.

  • Описание: описание инструмента. Генеративная оркестрация основывается на этом описании, чтобы решить, когда агенту следует использовать инструмент. Пишите четкие, конкретные описания, указывая, что делает инструмент и когда его следует использовать.

  • Дополнительные сведения:

    • Позвольте агенту динамически решать, когда использовать инструмент: при выборе этой опции агент может использовать генеративную оркестрацию для определения, когда использовать инструмент. При выборе этой опции агент использует инструмент только тогда, когда он явно вызывается из темы. (По умолчанию эта опция выбирается при включённой генеративной оркестрации.)
    • Спрашивать конечного пользователя перед запуском: в чате для конечных пользователей агент запрашивает подтверждение перед запуском средства. Этот параметр имеет значение Нет по умолчанию.
    • Аутентификация: выберите, чьи учетные данные использовать для инструмента: пользователя (конечный пользователь) или предоставленные создателем (создатель). По умолчанию применяется аутентификация пользователя.
    • Описание: по желанию вы можете добавить описание инструмента, который агент показывает пользователю при запуске инструмента. Это описание сообщает пользователю, что от него требуется аутентифицировать.

Входные данные

Здесь вы можете просматривать и настраивать входные данные для вашего инструмента. Входные данные используются для сбора информации от пользователя, чтобы заполнить необходимые входные данные инструмента. Информация отображается в виде таблицы, по одной строке для каждого параметра ввода.

По умолчанию для каждого входного параметра в качестве значения столбца Заполнять с использованием установлено значение Динамическое заполнение с помощью ИИ. Агент пытается извлечь значение из доступного контекста, например из сообщения пользователя. Если подходящее значение не найдено, он генерирует вопрос для запроса значения у пользователя. Выберите Настроить, чтобы получить доступ к более тонким настройкам для сбора и заполнения входных данных:

  • Отображаемое имя и описание: как входные данные отображаются пользователю.
  • Идентифицировать как: как интерпретируется ответ пользователя, например, как строка текста или сопоставляется с предопределенной сущностью.
  • Логика повторной попытки: если агент не идентифицировал сущность в словах пользователя, он может повторить вопрос.
  • Проверка ввода: настройте дополнительные параметры проверки пользовательского ввода сверх стандартных для данного типа сущности.

Вы также можете переопределить входные данные с явно заданным значением, вместо того чтобы позволять агенту извлекать его. Чтобы задать переопределение, установите для параметра Заполнить с помощью значение Пользовательское значение и введите значение, выберите переменную или используйте формулу Power Fx. Если для входного параметра задано переопределение, агент не запрашивает у пользователя значение.

Завершение

Здесь вы можете выбрать, что должно произойти после завершения работы инструмента.

Агент может автоматически формировать контекстный ответ для пользователя на основе его запроса и результата работы инструмента.

Кроме того, вы можете создать конкретный, отформатированный ответ, который будет возвращаться вашим инструментом. Вы можете вставлять ссылки на выходные переменные из инструмента с помощью функции выбора переменных. Вы также можете использовать формулы Power Fx для форматирования ответа.

В разделе После за выберите один из нескольких различных вариантов того, как инструмент должен реагировать на действия пользователя после его выполнения:

  • Не отвечать (по умолчанию): агент включает выходные данные инструмента в свой ответ
  • Написать ответ с генеративным ИИ: позвольте ИИ создать контекстуальный ответ, используя выходные данные инструмента
  • Отправка конкретного ответа: создание шаблонного ответа со вставкой переменных
  • Отправка адаптивной карточки: создание функциональных интерактивных ответов с кнопками и действиями

Вы также можете настроить, какие выходные переменные будут доступны агенту и другим инструментам.

Выбор инструментов и сбор входных данных

Когда вы определяете инструмент в Copilot Studio, вы также предоставляете информацию, описывающую его назначение. Эта информация позволяет агенту определить, когда использовать инструмент. Описание инструмента также помогает оркестратору использовать генеративный ИИ для генерации вопросов при необходимости для сбора входных данных. Ваш агент может задавать вопросы, чтобы собрать информацию, необходимую для заполнения входных данных, требуемых для использования инструмента. В результате вам не нужно вручную создавать узлы вопросов для сбора всех необходимых входных данных, например входных данных в потоке. Оркестратор агента осуществляет сбор входных данных для вас во время выполнения.

Агент учитывает несколько факторов при выборе инструмента:

  • Имя и описание инструмента
  • Контекст текущего разговора
  • Намерение пользователя, определяемое на основе его сообщения
  • Доступные входные и выходные данные
  • Предыдущее использование инструмента в разговоре

При использовании генеративного режима инструменты по умолчанию возвращают свои результаты агенту. На основе ответа инструмента агент может сгенерировать контекстный ответ на запрос пользователя. Кроме того, вы можете настроить свой инструмент так, чтобы он всегда отвечал немедленно, либо создавая сообщение, либо формируя явное сообщение.

Tip

При использовании сгенерированных инструментом сообщений уведомляйте пользователей, что некоторые сообщения в разговоре созданы ИИ.

Например, добавьте дополнительное сообщение в системную тему Начало разговора. Этот тема определяет сообщение, которое будет показано пользователям при начале нового разговора.

Вызов существующего инструмента внутри темы

Вы можете непосредственно вызвать инструмент внутри темы. В зависимости от сценария использования вы можете использовать свой инструмент как часть более широкой темы, в которой используется несколько узлов. Или, как в приведенном ниже примере, может быть достаточно добавить в тема один узел действия (инструмента).

Чтобы вызвать инструмент из темы:

  1. В Copilot Studio перейдите на страницу Темы для агента, которого вы хотите изменить.

  2. Создайте новую тему и назовите ее, например, Получить погоду.

  3. Добавьте соответствующие фразы-триггеры. Чтобы продолжить тот же пример с погодой из предыдущего шага, фразы-триггеры могут включать:

    • будет ли дождь
    • прогноз на сегодня
    • узнать погоду
    • какая погода
  4. Выберите Добавить узел (+), затем выберите Добавить инструмент.

  5. Выберите инструмент из доступных инструментов. Есть три вкладки, показывающие разные типы инструментов:

    • Базовые инструменты
    • Connector
    • инструмент

    Ваш узел Действия теперь добавлен в тему.

  6. Нажмите Сохранить.

Сведения о соединителе MCP

Для соединителя MCP вы можете просмотреть названия и описания инструментов и ресурсов MCP, которые предоставляются этим соединителем. Информация об инструментах и ресурсах отображается в таблице, по одной строке для каждого инструмента.

Аспекты аутентификации для инструментов

Некоторые инструменты требуют аутентификации для корректной работы, например, Dynamic Prompt или другие, которые обращаются к API Dataverse. Правильная настройка аутентификации обеспечивает безопасность и одновременно сохраняет удобство для пользователя.

Инструменты всегда работают в среде выполнения агента в пользовательском контексте и не могут работать без включенной аутентификации. Поддерживается два типа способов проверки подлинности:

  • Учетные данные конечного пользователя: агент использует учетные данные пользователя для аутентификации в сервисе. Этот метод гарантирует, что пользователи получат доступ только к тем данным, которые они имеют право просматривать.
  • Учетные данные, предоставленные создателем: агент использует учетные данные создателя для аутентификации в сервисе. Используйте этот режим аутентификации для общих ресурсов или когда пользователям не нужен индивидуальный доступ.

Протестируйте свой инструмент

При генеративной оркестрации оркестратор выбирает ваш инструмент, когда считает его релевантным для запроса пользователя.

Кроме того, вы можете вызвать существующий инструмент из темы.

Включение и выключение инструмента в агенте

Вы можете включить или выключить инструмент на странице конфигурации инструмента. Отключение инструмента не позволяет агенту использовать этот инструмент, однако инструмент остается подключенным к агенту и может быть вновь активирован позже. При добавлении инструмента в агент он по умолчанию включается.

Чтобы отключить инструмент в агенте:

  1. Откройте своего агента и выберите страницу Инструменты вашего агента.
  2. Выберите инструмент, чтобы перейти на страницу настройки инструмента.
  3. В верхней части страницы настройки отключите инструмент с помощью переключателя Включено.
  4. Чтобы применить изменение, щелкните Сохранить .

Инструмент все еще отображается в списке инструментов агента, но уже не активен.

Удаление инструмента из агента

Отключение инструмента блокирует его использование, но также дает возможность снова включить его позже. Вы также можете навсегда удалить инструмент из вашего агента. Чтобы удалить инструмент из агента:

  1. Откройте своего агента и выберите страницу Инструменты вашего агента.
  2. Найдите инструмент в списке инструментов и наведите курсор на имя инструмента. Нажмите три точки ().
  3. Нажмите кнопку "Удалить". Откроется окно подтверждения.
  4. Нажмите Удалить, чтобы удалить инструмент.

Инструмент исчезает из списка инструментов агента.

Note

Вы можете удалить инструменты только со страницы инструментов агента. Вы не можете удалить инструменты с основной страницы Copilot Studio Инструменты.

Ограничения на количество инструментов в агентах

  • При использовании генеративной оркестрации оркестратор может обрабатывать не более 128 инструментов для одного агента. Однако для достижения наилучшей производительности и результатов мы рекомендуем ограничить количество инструментов в вашем агенте до 25–30.
  • При использовании многоагентной оркестрации с дочерними агентами, дочерние агенты имеют собственную оркестрацию и могут управлять своим набором до 128 инструментов.