Реализация ваших агентов Copilot Studio требует тщательного подхода к интеграциям, каналам, инструментам, дизайну тем и поведению по заполнению слотов для обеспечения надежной работы агентов в масштабируемых условиях. В этом разделе представлены практические вопросы и рекомендации по лучшим практикам, которые помогут вам оценить правильность ваших решений по внедрению.
Оцените готовность к внедрению
Используйте следующий чек-лист, чтобы убедиться, что ваш агент технически надежен, эффективен и готов к эксплуатации.
Возможности ИИ и планирование функций
| Выполнено? |
Задача |
| ✓ |
Определили ли вы, какие возможности ИИ (генеративная оркестрация, генеративные ответы, генеративный конструктор, запросы, использование компьютера, утверждения) необходимы для вашего сценария? |
| ✓ |
Определили ли вы цель, объем и ограничения для каждой выбранной возможности? |
| ✓ |
Оценили ли вы риски или требования управления для высокопривилегированных возможностей (например, действий, подключенных агентов, использования компьютера)? |
| ✓ |
Проверили ли вы, что источники знаний достоверны, хорошо структурированы и готовы к привязке? |
| ✓ |
Проверили ли вы, каким образом сгенерированный ИИ контент будет проверяться, подтверждаться или заменяться при необходимости? |
Дизайн генеративной оркестрации
| Выполнено? |
Задача |
| ✓ |
Четко ли вы определили инструменты, темы, действия и дочерних элементов или связанных агентов с информативными именами и описаниями? |
| ✓ |
Определили ли вы границы принятия решений, в рамках которых ИИ может действовать автономно, а когда требуется подтверждение или одобрение человека? |
| ✓ |
Вы проектировали входные и выходные данные тем и действий таким образом, чтобы оркестратор мог естественно автоматически выдавать запросы и соединять шаги в цепочку? |
| ✓ |
Вы убедились, что инструменты ведут себя детерминированно и включают валидацию критических параметров? |
| ✓ |
Вы определили инструкции для оркестратора о том, когда использовать знания, когда использовать инструменты и когда выполнять многоступенчатое планирование? |
RAG (генерация с дополнением извлеченными данными)
| Выполнено? |
Задача |
| ✓ |
Вы проверили, что все источники знаний, используемые для RAG (генерация ответа, дополненная результатами поиска), содержат точную, актуальную и одобренную информацию, а устаревшие или запрещенные данные были удалены? |
| ✓ |
Вы проверили, что форматы документов, размеры файлов и правила индексации (SharePoint, Dataverse, пользовательские данные, ИИ-поиск Azure, загруженные файлы) соответствуют требованиям и ограничениям каждой платформы RAG? |
| ✓ |
Вы установили систему управления процессом добавления, обновления или удаления контента из источников знаний, чтобы RAG извлекал только проверенные корпоративные данные? |
Интеграции
| Выполнено? |
Задача |
| ✓ |
Вы определили, с какими системами должен интегрироваться ваш агент, и выбрали соответствующую схему интеграции (соединитель, HTTP, рабочий процесс, API, протокол контекста модели)? |
| ✓ |
Подтвердили требования к аутентификации и приняли решение между использованием учетных данных пользователя и учетных данных разработчика для каждой интеграции? |
| ✓ |
Вы оценили ограничения API, производительность и ожидаемый объем для всех сервисов, которые вызывает ваш агент? |
| ✓ |
Вы спроектировали механизм обработки ошибок для каждого варианта интеграции? |
| Выполнено? |
Задача |
| ✓ |
Оценили ли вы, должна ли функция реализовываться с помощью инструмента, рабочего процесса, сервера MCP или запроса? |
| ✓ |
Убедились ли вы, что у каждого инструмента есть ясное название, описание, входные и выходные параметры, чтобы оркестратор мог надежно их выбирать? |
| ✓ |
Вы подтвердили, что продвинутые модели или конфигурация требуют использования ИИ-запроса вместо оркестратора? |
| ✓ |
Вы проводили независимое тестирование инструментов для проверки данных, схемы, обработки ошибок и характеристик производительности? |
| ✓ |
Оценили ли вы, требуется ли в данном сценарии дочерний агент или связанный агент вместо инструмента? |
Каналы, клиенты и передача диалога
| Выполнено? |
Задача |
| ✓ |
Вы выбрали подходящие каналы для своей аудитории и проверили форматы сообщений, которые поддерживает каждый канал, такие как Markdown, адаптивные карточки и изображения? |
| ✓ |
Проверили ли вы поведение клиентских приложений и убедились, что пользователи получают единый пользовательский опыт в Teams, Веб-чат, мобильных или пользовательских приложениях? |
| ✓ |
Вы определили, требуется ли вашей реализации передача диалога живому агенту и выбрали соответствующую схему, например «бот как агент» или «бот в цепочке»? |
| ✓ |
Вы подтвердили, что лимиты, задержка и поведение при передаче диалога агенту приемлемы для выбранной модели передачи? |
Темы, фразы-триггер и заполнение слотов
| Выполнено? |
Задача |
| ✓ |
Вы структурировали темы так, чтобы каждая служила четкой цели и избегала пересечений в ответственности? |
| ✓ |
Вы разработали эффективные фразы-триггеры, поддерживающие синонимы, вариации и доменную лексику? |
| ✓ |
Вы определили сущности и правила заполнения слотов, чтобы агент эффективно собирал необходимую информацию? |
| ✓ |
Вы оценивали, нужны ли пользовательские сущности, такие как закрытый список или RegEx, чтобы избежать ошибок NLU? |
| ✓ |
Вы проверили поведение при отказе и убедились, что агент корректно обрабатывает недостающую или неясную информацию? |
Выноски рекомендаций
-
Называйте компоненты четко и осознанно: используйте имена, ориентированные на действия и понятные человеку, для инструментов, тем и связанных агентов, чтобы оркестратор мог последовательно выбирать нужный компонент.
-
Проектируйте входные и выходные данные с определенной целью: используйте лаконичные, понятные человеку имена входных данных и структурированные выходные данные, чтобы оркестратор мог автоматически создавать запросы и надежно связывать шаги.
-
Сохраняйте возможности модульными и повторно используемыми: рассматривайте темы, инструменты и связанные агенты как шаблоны. Избегайте дублирования логики в потоках и компонентах.
-
Уделите первоочередное внимание границам безопасности: укажите, какие действия ИИ может выполнять автономно, какие требуют подтверждения, а какие — одобрения человека, чтобы предотвратить непреднамеренное поведение.
-
Отбирайте качественные источники знаний: поддерживайте базу знаний небольшой, но точной, чтобы сократить использование контекста и поиск информации. Удалите устаревший или шумный контент, чтобы повысить качество привязки знаний и сократить количество неверной информации.
-
Сначала выберите самый простой шаблон интеграции: предпочитайте встроенные соединители или рабочие процессы, если только ваш сценарий явно не требует пользовательских API или MCP-серверов. Более простые варианты интеграции легче сопровождать и отлаживать.
-
Четко и последовательно определяйте поведение каждого инструмента: дайте каждому инструменту значимое имя, описание, набор входных данных и ожидаемый результат, чтобы оркестратор мог правильно выбрать инструмент и создавать стабильные планы.
-
Проведите проверку аутентификации на раннем этапе: избегайте неприятных сюрпризов, заранее выяснив, требуется ли для сценария аутентификация пользователя, учетные данные разработчика или безопасный доступ через управляемые идентификаторы.
-
Проектируйте с учетом задержки и производительности: поддерживайте эффективность API-запросов, уменьшайте размеры полезной нагрузки и избегайте цепочек медленных интеграций для обеспечения отзывчивого разговорного опыта.
-
Тестируйте инструменты, рабочие процессы и запросы в изоляции: проверяйте входные данные, выходные данные и состояния ошибок по отдельности, прежде чем интегрировать их в темы или оркестратор.
-
Планируйте поведение каналов тщательно: понимайте, какие каналы поддерживают Markdown, адаптивные карточки, фотографии или пользовательские макеты, и оформляйте свои сообщения соответствующим образом.
-
Структурируйте темы для ясности и удобства сопровождения: держите темы сфокусированными, избегайте их пересечения и гарантируйте, что каждая тема решает одну четко определенную задачу.
-
Составляйте фразы-триггеры, соответствующие реальному языку пользователя: включайте вариации, синонимы и распространенные формулировки, чтобы улучшить распознавание намерений и снизить частоту возврата к резервному сценарию.
-
Используйте сущности для уменьшения количества лишних вопросов: применяйте встроенные и пользовательские сущности для извлечения информации из первоначального сообщения пользователя, снижая затруднения и ускоряя процессы.
-
Тщательно протестируйте пограничные случаи заполнения слотов: проверьте, как агент ведет себя, когда пользователь предоставляет несколько значений, неполную информацию или неоднозначный ввод, и уточните сущности для снижения путаницы.