Обзор оркестратора Microsoft 365 Copilot
Microsoft 365 Copilot — это ваш личный помощник для работы. Он помогает в выполнении различных общих задач, таких как написание, обобщение, исследование и многое другое. Copilot имеет различные навыки, которые соответствуют этим разным типам задач. Например, Copilot может суммировать действия из собрания, предлагать изменения в файле или отслеживать ресурсы и экспертов по заданной теме в организации. Каждый навык имеет собственные параметры и выходные данные, адаптированные к конкретной задаче.
Как и любой другой copilot, Microsoft 365 Copilot обучается с данными в определенный момент времени. Для получения и обработки новой информации в режиме реального времени, особенно данных, относящихся к вашей организации и рабочим процессам, агентам требуются подключаемые модули. Подключаемые модули в агенте расширяют навыки и служебные возможности Microsoft 365 Copilot для конечных пользователей, позволяя ему выбрать нужный навык из полного репертуара.
Но как агент узнает, какой навык следует использовать при запросе помощи? Как он интерпретирует ваш запрос и сопоставляет его с лучшим доступным навыком? Это работа оркестратора Microsoft 365 Copilot.
В этой статье объясняется логика процесса выбора навыков Copilot и как вы можете гарантировать, что Copilot использует правильный подключаемый модуль от вашего агента при каждой возможности, чтобы принести пользу вашим пользователям.
Важно!
- Подключаемые модули API в настоящее время поддерживаются только в качестве действий в декларативных агентах. Они не включены в Microsoft 365 Copilot. Пример добавления подключаемого модуля API к декларативному агенту см. в разделе Добавление подключаемого модуля.
- Эта возможность включена по умолчанию во всех клиентах с лицензией Microsoft 365 Copilot. Администраторы могут отключить эту функцию на уровне пользователей и групп, а также контролировать, как отдельные подключаемые модули утверждаются для использования и какие подключаемые модули включены. Дополнительные сведения см. в разделе Управление агентами в интегрированных приложениях.
Оркестратор Copilot
Между вводом естественного языка пользователя и выходными данными на естественном языке Copilot оркестратор Copilot работает в фоновом режиме, чтобы выбрать и запустить нужные навыки из правильных подключаемых модулей для задачи пользователя.
Уровень оркестрации представляет интерфейс между базовыми крупными языковыми моделями (LLM) и множеством способов расширения, обогащения и настройки Copilot в соответствии с работой ваших клиентов.
На следующей схеме показано, как оркестратор Microsoft 365 Copilot выбирает правильный подключаемый модуль с нужным навыком в нужное время, даже если есть несколько вариантов выбора.
Входные данные на естественном языке. Пользователь отправляет агенту запрос, например "Какие билеты мне назначены сейчас?"
Предварительные проверки. Copilot проводит несколько проверок запроса, включая ответственные проверки ИИ и меры безопасности, чтобы убедиться, что он не представляет никаких рисков. Если запрос не проходит ни одной из этих проверок, Copilot прерывает взаимодействие.
Обоснование. Оркестратор Copilot формулирует план, состоящий из нескольких действий, которые он выполняет в попытке ответить на запрос пользователя.
Контекст и выбор инструментов. Оркестратор извлекает контекст беседы пользователя из контекстного хранилища и интегрирует данные из Microsoft Graph для уточнения контекста. Затем он корректирует исходный запрос на основе этого обновленного контекста и перенаправит его в LLM (модель большого языка) для выполнения следующих действий.
LLM может приступить к созданию ответа с помощью встроенных возможностей Copilot или определить, что необходимы дополнительные данные.
Если требуется дополнительная информация, оркестратор выполняет поиск подключаемых модулей (инструментов) с правильным навыком для задачи из подключаемых модулей с поддержкой агента на основе описания подключаемых модулей и их функций.
Сопоставление функций и определение параметров. Оркестратор формулирует новый запрос, включающий начальный запрос пользователя, обновленный контекст и выбранные подключаемые модули, и представляет его LLM. LLM оценивает входные данные и задает оптимальный подключаемый модуль и функцию в этом подключаемом модуле для решения задачи. Затем он предоставляет оркестратору необходимые сведения о функциях и параметрах, необходимых для сбора необходимой информации.
Запуск инструмента. Оркестратор использует ответ от LLM для создания запроса API и отправки запроса инициатору средства, который безопасно извлекает запрошенные сведения, расположенные за пределами инфраструктуры Copilot. Он выполняет запрос и отправляет результаты обратно оркестратору для дальнейшей обработки.
Анализ результатов и формулировка ответа. Оркестратор интегрирует ответ API в текущий контекст и обращается к LLM в цикле непрерывного рассуждения до тех пор, пока LLM не сочтет нужным создать окончательный ответ.
Реагирование. Оркестратор компилирует всю информацию, собранную в процессе рассуждения, и отправляет ее в LLM для создания окончательного ответа. После того как ответ соответствует рекомендациям ответственного ИИ, он отправляет ответ обратно оркестратору, который регистрирует его в хранилище контекста и доставляет его пользователю через пользовательский интерфейс Copilot.
Выходные данные естественного языка. Наконец, оркестратор передает пользователю ответ и обновляет состояние беседы. Copilot готов к следующему запросу.
Как оркестратор Copilot сопоставляет подключаемые модули с запросами пользователей
Когда пользователь отправляет запрос агенту, оркестратор выполняет поиск полного каталога навыков (функций) агента из установленных подключаемых модулей, чтобы определить до пяти навыков, которые лучше всего соответствуют запросу. Оркестратор сначала пытается сопоставить точные слова (лексическое совпадение) и расширяет область поиска по мере необходимости, чтобы включить совпадения по описательным значениям (семантические совпадения), работая от конкретных имен функций до общих описаний подключаемых модулей, пока не будут заполнены все пять слотов-кандидатов функций. В частности, в следующем списке показана иерархия механизмов сопоставления для выбора функции подключаемого модуля Copilot:
- Лексическое совпадение по имени функции.
- Семантические совпадения в описании функции.
- Лексическое совпадение по имени подключаемого модуля (добавляет все функции подключаемого модуля в список кандидатов).
- Семантические совпадения по имени подключаемого модуля (добавляет все функции подключаемого модуля в список кандидатов).
Оркестратор работает с этим списком до тех пор, пока не будут заполнены все пять слотов-кандидатов функций.
Ознакомьтесь с рекомендациями по проверке для агентов, чтобы узнать больше о написании хороших описаний, чтобы убедиться, что Copilot выбирает правильный навык для каждого запроса пользователя к агенту.