Деплой, оценка и управление AI-агентами на Microsoft Foundry: контейнеризация, ACR, создание агентов, batch-оценки и оптимизация промптов по данным продакшена.
npx -y skills add microsoft/github-copilot-for-azure --skill microsoft-foundry --agent claude-codeЭтот скилл помогает разработчикам работать с ресурсами Microsoft Foundry: обнаружение и развёртывание моделей, полный жизненный цикл разработки AI-агента, рабочие процессы оценки и устранение неполадок.
Перед использованием операций Foundry MCP вызовите инструмент Azure MCP foundry и изучите доступные инструменты Foundry MCP и связанные параметры — это шаг обнаружения/помощи для MCP-рабочих процессов.
ОБЯЗАТЕЛЬНО: перед выполнением любых рабочих процессов прочитайте соответствующий документ под-скилла. Документ под-скилла содержит обязательные шаги рабочего процесса, предварительные проверки и логику валидации. Это правило применяется при каждом новом сообщении пользователя, запускающем другой рабочий процесс.
| Под-скилл | Когда использовать |
|---|---|
| deploy | Развёртывание hosted-агентов в Foundry, smoke-тест, создание или обновление prompt-агентов, управление версиями |
| invoke | Отправка сообщений агенту, одно- и многоходовые диалоги |
| invocations-ws | Hosted-агенты по протоколу invocations_ws WebSocket — голосовые агенты, потоки реального времени |
| observe | Оценка качества агента, пакетные оценки, анализ сбоев, оптимизация промптов, CI/CD-мониторинг |
| trace | Запрос трассировок, анализ задержки/сбоев, корреляция с результатами оценки через App Insights |
| troubleshoot | Просмотр логов hosted-агента, запрос телеметрии, диагностика сбоев |
| create (quick start) | Создание нового hosted Foundry-агента с нуля — scaffold, provisioning, развёртывание, smoke-тест |
| create | Когда стандартный happy-path не подходит — перенос существующего кода, развёртывание вне стандартного пути, расширенная настройка |
| agent-optimizer | Оптимизация существующего Python hosted-агента: настройка eval.yaml, запуск Agent Optimizer, применение кандидатов |
| eval-datasets | Сбор production-трассировок в датасеты оценки, управление версиями датасетов, отслеживание метрик |
| project/create | Создание нового Azure AI Foundry-проекта для размещения агентов и моделей |
| resource/create | Создание ресурса Azure AI Services с помощью Azure CLI |
| private-network | Изоляция сети Foundry и развёртывание с VNet (BYO VNet, Managed VNet, гибридная схема) |
| models/deploy-model | Унифицированное развёртывание модели с интеллектуальной маршрутизацией: быстрое пресетное, полностью кастомизированное, поиск ёмкости по регионам |
| quota | Управление квотами и ёмкостью для ресурсов Microsoft Foundry |
| rbac | Управление разрешениями RBAC, назначениями ролей, управляемыми удостоверениями и сервисными принципалами |
| finetuning | Тонкая настройка моделей в Azure AI Foundry — SFT, DPO, RFT с grader-ами и вызовом инструментов |
| Намерение пользователя | Рабочий процесс |
|---|---|
| «Создать Foundry» / «Настроить Foundry» (неоднозначно) | Спросить пользователя: (a) только ресурс AI Services, (b) проект с публичным доступом, или (c) проект с изоляцией сети? Маршруты: (a) → resource/create, (b) → project/create, (c) → private-network |
| Настроить Foundry с изоляцией VNet | private-network |
| Создать Foundry-проект (публичный) | project/create |
| Создать базовый ресурс Foundry | resource/create |
| Намерение пользователя | Рабочий процесс |
|---|---|
| Создать новый hosted-агент с нуля (scaffold + deploy + тест) | quick-start-hosted |
| Всё вне стандартного quickstart | create → deploy → invoke |
| Оптимизировать существующий Python hosted-агент | agent-optimizer → scaffold/review → eval.yaml → optimize → apply → deploy → invoke |
| Развернуть агент (код уже существует) | deploy → invoke → observe |
| Обновить/перевыпустить агент после изменений | deploy → invoke → observe |
| Запустить/протестировать/пообщаться с агентом | invoke |
| Оптимизировать промпт или инструкции агента | observe (шаг 4: Optimize) |
| Полный цикл оценки и оптимизации | observe |
| Включить непрерывный мониторинг оценки | observe (шаг 6: CI/CD & Monitoring) |
| Устранить проблему агента | invoke → troubleshoot |
Каждая папка с исходным кодом агента может хранить кэш и оверлейное состояние Foundry в .foundry/:
<agent-root>/
.foundry/
agent-metadata.yaml
agent-metadata.prod.yaml
suites/
datasets/
evaluators/
results/
azure.yaml и azd env get-values — не дублируйте эти значения в метаданных.agent-metadata.yaml — предпочтительный локальный оверлей для значений, не управляемых azd.suites/, datasets/, evaluators/ — папки локального кэша. Повторно используйте их при актуальности.Сначала проверьте наличие azure.yaml с сервисами, использующими host: azure.ai.agent.
project этого сервиса как корень агента..foundry/ с agent-metadata.yaml.Если есть azure.yaml, сначала разрешите azd-среду. Запустите azd env get-values для выбранной среды.
| Переменная azd | Соответствует |
|---|---|
AZURE_AI_PROJECT_ENDPOINT | Эндпоинт проекта |
AGENT_<SERVICE>_NAME | Имя агента для выбранного azd-сервиса |
AZURE_CONTAINER_REGISTRY_NAME | Имя реестра ACR |
APPLICATIONINSIGHTS_CONNECTION_STRING | Строка подключения App Insights |
Если ошибка соответствует Public access is disabled / PublicNetworkAccessDisabled / 403 Forbidden от приватного эндпоинта / таймаут соединения, это обычно означает, что у родительской учётной записи Foundry отключён публичный доступ. Поддерживаемые варианты подключения описаны в разделе выбора безопасного метода подключения к Foundry.
Инструменты Foundry MCP не могут подключиться к VNet-изолированному проекту даже из VNet.