Внедрение агентов в производственную среду с помощью сервиса Foundry Agent Service и фреймворка Agent Framework
Как агент по подготовке к продажам переходит от локального кода к развертыванию в облаке с ограничениями по идентификаторам, в изолированной среде и под наблюдением, публикуемому в Microsoft 365 и основанному на бизнес-данных.
Источники: Foundry Agent Service + Microsoft Agent Framework Explained
От прототипа до производственного агента
Заставить ИИ-агента работать на ноутбуке — это простая часть. Сложнее в крупной компании — безопасно использовать его тысячами людей: придать ему идентичность, ограничить доступ к информации, записывать его действия и предоставлять его пользователям в рамках уже открытых ими инструментов. Microsoft Foundry Agent Service вместе с открытым исходным кодом Microsoft Agent Framework предназначены для решения именно этой проблемы. Первый обеспечивает хостинг с корпоративным контролем, возможностью измерения показателей и поиска, а также позволяет использовать агентов, созданных с помощью любых желаемых инструментов. Второй помогает создавать как одиночные агенты, так и многокомпонентные рабочие нагрузки с использованием механизмов оркестрации.
Суть заключается в том, что агент может быть запущен непосредственно из локальной среды, работать под защищенной учетной записью с ограниченными правами, причем каждое его взаимодействие отслеживается, что позволяет отлаживать его, улучшать и масштабировать без потери контроля. Агенты также могут быть интегрированы в известные инструменты, при этом каждое действие остается отслеживаемым, контролируемым и изолированным.
Вторая часть проблемы связана с практической реализацией. Агенты становятся полезными, когда работают с реальными бизнес-данными: электронные письма, записи совещаний и операционные системы обеспечивают персонализированные выводы, документы и презентации. Команды используют знакомые фреймворки, а затем контролируют производительность, затраты и качество всех своих агентов по мере их увеличения.
Что затрудняет внедрение в корпоративной среде
Создание агентов стало гораздо проще. Однако их безопасное и надежное внедрение во всей организации — это совсем другая история. Многие из современных агентов уже давно вышли за рамки небольших пилотных проектов. Некоторые из них представляют собой чат-интерфейсы, используемые тысячами сотрудников, а другие работают в фоновом режиме, время от времени взаимодействуя с критически важными системами.
Всем им необходимы одинаковые основы: управление идентификацией и доступом, приватная связь, а также телеметрия и отслеживание как на уровне отдельного агента, так и всего флота. Собирать все это вручную сложно, и именно эту проблему предназначены решить сервисы Foundry, позволяя агентам работать безопасно, в масштабах и с полной прозрачностью. Полезно представить альтернативу: команда, которая сама размещает свой агент, должна решать, каким образом агент будет аутентифицироваться, какую учетную запись сервиса он будет использовать, куда будут сохраняться логи, как данные одного пользователя будут изолированы от данных другого, и кому будет отправляться уведомление в случае сбоя. Каждый из этих вопросов представляет собой отдельный проект, и перед тем, как агент сможет взаимодействовать с календарем или записью клиента, проводится проверка безопасности, касающаяся каждого из них.
Пример: агент для подготовки к сделке
Приведённый пример — это агент, который помогает команде продаж подготовиться к встречам с клиентами. Его код уже написан с использованием Microsoft Agent Framework на Python, хотя его можно заменить любой другой фреймворком и языком. В нём определено множество инструментов, логика промежуточного уровня и рабочий процесс, причём на данный момент всё работает локально.
Открытым вопросом остаётся то, как сделать его безопасным, масштабируемым, соответствующим стандартам и надёжным в масштабах всей организации. В Visual Studio Code расширение AI Toolkit предоставляет функцию развертывания на хостинговых агентах. Она упаковывает агента в том виде, в котором он написан, и развертывает его в Foundry в качестве хостингового агента. Тот же агент, который ранее работал локально, теперь появляется в портале Foundry, и среда для тестирования может вызывать его, чтобы показать, что добавляет слой хостинга.
Запрос о том, какие важные встречи запланированы на эту неделю, демонстрирует новые подходы к использованию агентов. Агент работает в защищённой среде — микро-ВМ, где он может анализировать информацию, проверять календарь, а также писать и выполнять код, точно так же, как это делают агенты для программирования, такие как GitHub Copilot CLI или Claude Code.
Идентификация, изоляция и ограничения
Как только агент развернут, происходит несколько действий, и на следующем изображении показано, где в портале отражается настройка идентификации и прав доступа.
- Агент получает свой уникальный идентификатор от Microsoft Entra. Любое его действие, например чтение календаря, можно отследить до него. С этим идентификатором он может самостоятельно получать доступ к ресурсам в рамках своих прав, либо действовать от имени человека, используя права этого пользователя.
- Каждый пользователь, начинающий сессию агента, получает собственную защищённую микро-ВМ. Если два продавца задают вопросы одновременно, у каждого есть отдельная инстанция агента, поэтому информация из каждой сессии считывается, записывается и хранится в своём собственном пространстве.
- При каждом взаимодействии сервис проверяет правила и ограничения, определённые организацией, включая фильтрацию контента, защиту от вставки команд и использование материалов, защищённых авторским правом. Точный контроль над тем, что может делать и к чему может иметь доступ агент, обеспечивается благодаря настройкам, автоматически применяемым при развертывании.
Вернувшись на площадку для работы, агент предоставляет свой ответ. Исходя из собранных и проанализированных сигналов, наибольший приоритет получает один клиентский аккаунт — Zava DIY. В этом случае агент действовал от имени пользователя, используя его учетные данные и права доступа, чтобы просмотреть календарь и выявить аккаунты, требующие внимания. Поскольку необходимо читать почтовый ящик, календарь, хранилища данных и файлов, наличие соответствующих механизмов контроля доступа — это именно то, что требуется для соблюдения стандартов системы.
Мониторинг и публикация
Еще две потребности предприятий напрямую связаны с решением Foundry. Первая — возможность наблюдения. Портал обеспечивает мониторинг и отслеживание действий, что позволяет следить за каждым разговором, видеть, как агент отвечает на каждый вопрос, и проверять общее состояние агента.
Вторым фактором является доступность. Даже после запуска агента он всё равно должен добраться до тех, кому он нужен, и никому не нравится создавать новое приложение в надежде, что все найдут на него ссылку и добавят её в закладки. Если компания уже использует Microsoft 365 и Teams, кнопка «Опубликовать» позволяет зарегистрировать любой агент, развернутый в Foundry, в этих сервисах. Тогда люди могут найти его и использовать там, где они уже работают — на рабочем столе или на телефоне вне офиса. В Microsoft 365 агент отображается в интерфейсе Copilot Chat, а также доступен в Teams.
Слой интеллекта, лежащий в основе точных ответов
Foundry также интегрируется с объединённым слоем интеллекта Microsoft для ИИ, который обеспечивает агентам доступ к правильным знаниям и бизнес-контексту, делая их выводы релевантными. Это значительно превосходит возможности одноресурсного сервера MCP. Для этого используются три компонента.
- Work IQ предоставляет информацию о том, как работает человек: связи с электронной почтой, календарем, прошлыми встречами, чатами в Teams, файлами и многим другим.
- Fabric IQ добавляет контекст, связанный с бизнес-операциями, такими как данные о продажах, информация о клиентах или логистика.
- Foundry IQ объединяет несколько источников знаний для агента: от структурированных данных и баз данных до неструктурированных материалов в облачных хранилищах; даже изображения могут быть получены с помощью процессов, управляемых агентом.
При первом запуске была видна только функция поиска в календаре, что относится к компоненту Work IQ. Более совершенный агент использует все три компонента.
Полноценный запуск: подготовка к встрече в Zava
У этого агента есть доступ ко всем трем системам IQ благодаря инструментам и навыкам, которые ему были предоставлены. В рабочей среде записка из предыдущего вывода агента указывает на важную встречу с Zava, поэтому следующий запрос предлагает ему помочь с подготовкой к этой встрече.
Внутри среды тестирования агент выполняет только что описанные действия. Он обращается к системе Work IQ для получения корреспонденции, извлекая электронные письма и сообщения в Teams, связанные с Zava. Затем он запрашивает данные о использовании, моделях покупок и деталях контрактов в системе Fabric IQ. Кроме того, он ищет материалы для продаж и маркетинга в системе Foundry IQ, чтобы найти наиболее релевантную информацию для этого клиента.
У агента также есть несколько навыков, основанных на популярной структуре навыков агентов. Один из них позволяет создавать презентации в формате PowerPoint, а другой — готовить информационные документы в Word. Агент возвращает два связанных файла: информационный документ в Word для внутренней команды и индивидуальную презентацию для использования с Zava.
- В этом кратком обзоре суммируются данные из разведывательного слоя, информация о взаимоотношениях из системы CRM, последние сообщения из переписки пользователя, аналитика по состоянию бизнеса, уровню использования и показателям измерения, а также заявки на поддержку из системы обработки заявок. В итоге получается единый документ с рекомендуемыми темами для обсуждения.
- Презентация адаптируется под конкретную ситуацию взаимодействия с клиентом и использует корпоративные цвета бренда. В ней объединяются материалы из Fabric IQ и Foundry IQ в виде тезисов для выступления и информация, специфичная для клиента, о его недавней деятельности, наряду с данными о бизнес-операциях, показателями кампаний, а также новыми возможностями и услугами, которые могут способствовать дальнейшему развитию партнерства.
Эта ценность обусловлена не только процессом развертывания: агенты работают на уровне слоя интеллектуальных технологий, где они от имени пользователя получают доступ к рабочим данным, бизнес-данным и организационным знаниям, при этом обеспечивается тесная интеграция с Microsoft 365.
Как это создаётся
Для разработчиков, желающих создать нечто подобное, отправной точкой будет более простая версия, чем полный пример. Azure Developer CLI позволяет инициализировать новый проект, например агента для подготовки к продажам. Поддерживаются агенты на основе чата, которые остаются очень популярными; можно использовать любую платформу, включая LangGraph, а сервис также поддерживает новые подходы. Шаблоны предоставляют необходимые файлы, благодаря чему проект можно отладить локально и развернуть. Это простой агент, созданный на основе шаблона, с большим количеством возможностей для настройки.
Возвращаясь к расширенному агенту, мы видим, что стоит за ним. В коде определены инструменты и источники знаний, включая три типа ИК, а также другие виды навыков, которые можно добавлять в шаблоны кодирующих агентов в настоящее время. В основе работы агента лежит SDK GitHub Copilot, которое запускает цикл действий с использованием определённого набора инструментов. Этот цикл анализирует десятки файлов, электронных писем, записей прошлых встреч, а также операционные и сервисные данные, и на его основе формируются рекомендации.
Фреймворк Microsoft Agent Framework объединяет все компоненты и добавляет такие элементы, как промежуточное программное обеспечение. Один из примеров правила: если агент для написания кода пытается сгенерировать один из документов без достаточного количества данных из трех источников IQ, промежуточное программное обеспечение блокирует эту операцию, поскольку результат без таких достоверных данных практически всегда будет ошибочным. Подобные подходы имеют большое значение при масштабировании корпоративных решений, когда контроль качества охватывает всю команду продаж, а также предусматривают дополнительные меры безопасности. Полная польза проявляется тогда, когда фреймворки и такие подходы сочетаются и размещаются внутри сервиса Foundry Agent Service.
Управление флотом агентов
Как только запускается несколько агентов, следующим вопросом становится их мониторинг и управление, что возможно благодаря тому, что всё работает внутри Foundry. Портал отображает показатели производительности и стоимости всего флота в одном виде: состояние агентов и уведомления (в демо-версии все агенты в работоспособном состоянии, уведомлений пока нет), оценочную стоимость, коэффициенты успеха и использование токенов, а также подробную информацию о объемах выполнения задач для наиболее активных агентов. Агенты с наилучшими и наихудшими показателями успеха указывают на те, которым требуется внимание.
Всё необходимое для перехода от экспериментов к промышленному использованию и для публикации решений для всех конечных пользователей уже встроено в систему с полной возможностью наблюдения. Основная цель — снизить сложность безопасного и надежного создания и развертывания агентов в организации. Для тех, кто готов попробовать, достаточно начать первый проект в портале Foundry и ознакомиться с публичными примерами от Microsoft, чтобы найти подходящее SDK.
Из всего этого следует практический порядок действий. Начните с небольшого агента, созданного по шаблону, и запустите его локально. Постепенно добавляйте инструменты и источники знаний, используя промежуточное программное обеспечение, которое блокирует дальнейшую работу при отсутствии необходимых данных. Рано запустите приложение в хостинговой среде, чтобы функции идентификации, изоляции и отслеживания работали задолго до появления реальных пользователей. Публикуйте его в чат-инструментах, которыми уже пользуются люди, только после того, как данные отслеживания окажутся достоверными, и постоянно отслеживайте общую ситуацию, когда несколько агентов уже работают, поскольку именно там первыми проявляются рост затрат и снижение уровня эффективности. Команды, следующие этой последовательности, обычно обнаруживают проблемы на ранней стадии, когда их еще легко устранить.
Почему локальные и хостинговые решения ведут себя так по-разному
Стоит разделять то, что написал разработчик, и то, что добавляет платформа. Инструменты, промежуточное программное обеспечение и рабочие процессы в агенте продаж представляют собой обычный код приложения, и они ведут себя одинаково как на ноутбуке, так и в облаке. После развертывания меняется всё, что связано с этим кодом: появляется идентификатор, сессии изолируются, на каждое взаимодействие применяются правила, накапливаются логи, и открывается путь для публикации. Для этого не требуется переписывать сам агент, поэтому в демонстрации развертывание рассматривается как единая операция в редакторе, а не как проект миграции.
Подход можно обобщить в трех вопросах, каждый из которых соответствует одному из описанных выше слоев.
- Кто выполняет действия? На этот вопрос отвечает система идентификации Entra: агент использует собственные разрешения или берет их у другого пользователя.
- Где происходит работа и кто может её видеть? Микро-среды VM для каждого пользователя обеспечивают изоляцию сессий, а политики контента и внедрения организации применяются при каждом вызове.
- Что оно сделало и работает ли оно корректно? Логи, просмотр разговоров, показатели работоспособности, краткие отчёты о затратах и коэффициенте успеха дают ответы на эти вопросы как для отдельного агента, так и для всего парка.
Ограничения внутри кода
Ограничения платформы не заменяют ограничения, встроенные непосредственно в агента. Хорошим примером является правило промежуточного слоя, блокирующее генерацию документа, если три источника данных не предоставили достаточно информации, поскольку оно обеспечивает соблюдение стандартов качества, о которых не могла бы знать какая-либо универсальная политика. Информация, подготовленная без учета истории взаимодействий с клиентами или статистики использования, все равно будет выглядеть профессионально, и продавец может прийти на встречу с клиентом, опираясь на выдуманные детали. Предотвращение этого на уровне кода, еще до создания файла, дешевле, чем исправление ошибок позже.
Такой же подход объясняет, почему в демо-версии навыки представлены как отдельные, повторно используемые элементы. Навык создания колоды и навык написания краткого отчета могут быть тестированы, иметь версии и использоваться другими агентами, причем цикл управления агентами определяет, когда их вызывать. Сочетание этого цикла, промежуточного слоя фреймворка и слоя хостинга позволяет осуществлять контроль в трех аспектах: способе мышления агента, том, что ему разрешено выводить, и том, что позволяет среда.
Что стоит учесть перед копированием этой схемы
В примере показан оптимальный случай, когда все источники данных подключены, а права на доступ четко определены. На практике качество отчетов зависит от качества базовых данных CRM, систем управления заявками и инструментов аналитики. Ограниченные права на доступ полезны только тогда, когда они действительно ограничены; агент, действующий от имени пользователя с соответствующими правами, может видеть все то же, что и этот пользователь, поэтому слишком широкие права приводят к слишком широким полномочиям агентов. Панели управления флотом помогают выявить наименее эффективных агентов, но все равно кто-то должен изучать отчеты и определять, связана ли низкая степень успеха с самой моделью, инструментом, отсутствием источника данных или слишком строгими ограничениями.
Связанные материалы
- MAF 1.0, LangGraph или CrewAI? Выбор фреймворка агента в 2026 году — Сравнение Microsoft Agent Framework 1.0, LangGraph и CrewAI по таким аспектам, как состояние, память, отладка, протоколы, пути в Azure и стоимость, а также краткий алгоритм принятия решения и схема внедрения.
- Снимки памяти агента, навыки, затухание данных и ограничение диапазона веток — Четыре дополнения к встроенному слою памяти в виде векторной БД для агентов, написанных на коде: переносимые снимки с возможностью слияния, активация навыков, затухание данных с проверкой конфликтов и память с ограничением по диапазону веток.