Практика · Microsoft AI
AI-102, AB-100 или AI-500: сравниваем траектории на практической задаче
Названия экзаменов похожи, но за ними стоят три разные роли: инженер широкого профиля, архитектор бизнес-решений и инженер production-grade многоагентных систем.
Короткий ответ
Многоагентная архитектура встречается во всех трёх траекториях, однако глубина работы с ней различается. AI-102 был широкой инженерной сертификацией по Azure AI. AB-100 проверяет способность связать агентов с бизнес-процессами и экосистемой Microsoft. AI-500 сосредоточен на проектировании, программировании и эксплуатации многоагентных решений.
Если вы поддерживали решения по AI-102, не начинайте обучение заново. Сначала определите, куда направить существующую базу: в архитектуру корпоративных процессов — AB-100, либо в глубокую инженерную реализацию — AI-500.
Что именно различается
| Критерий | AI-102 | AB-100 | AI-500 |
|---|---|---|---|
| Основная роль | Azure AI Engineer | Архитектор AI-бизнес-решений | Инженер и архитектор многоагентных систем |
| Главный вопрос | Как реализовать отдельные AI-возможности в Azure? | Как преобразовать бизнес-процесс средствами Microsoft AI? | Как построить надёжную многоагентную систему от кода до production? |
| Центр тяжести | SDK, REST API, модели, поиск, NLP, vision, извлечение данных | Требования, ROI, Copilot Studio, Dynamics 365, Power Platform, ALM | Оркестрация, память, инструменты, MCP/A2A, наблюдаемость, безопасность |
| Код | Python или C# для интеграции Azure AI | Прототипирование и техническое руководство; код не является единственным центром роли | Уверенный Python и реализация сложных управляющих контуров |
| Работа с агентами | Одна из областей прежнего экзамена: 5–10% | Проектирование агентов внутри сквозного бизнес-решения | Вся траектория построена вокруг многоагентных решений |
| Эксплуатация | Мониторинг ресурсов, стоимость, аутентификация, CI/CD | ALM, метрики бизнеса, управление, соответствие требованиям | Трассировка, корреляция, регрессии качества, лимиты, rollout и rollback |
| Статус | Экзамен закрыт 30 июня 2026 года | Действующая архитектурная траектория | Beta на дату публикации |
Главное различие проходит не по линии «мало кода — много кода». AB-100 требует технической глубины, но применяет её на уровне портфеля платформ, бизнес-ограничений и жизненного цикла решения. AI-500 требует превратить архитектурные решения в работающий, наблюдаемый и защищённый программный контур.
Матрица выбора
Отметьте утверждения, которые описывают вашу реальную работу за последние полгода, а не желаемую должность.
| Ваш опыт или цель | Наиболее близкая траектория | Почему |
|---|---|---|
| Интегрировали модели, поиск, обработку документов, речи или изображений через SDK/API | База AI-102 | Это широкий прикладной профиль Azure AI Engineer |
| Выбираете между Copilot Studio, Microsoft 365 Copilot, Dynamics 365, Power Platform и Foundry | AB-100 | Нужна архитектура решения через несколько бизнес-платформ |
| Считаете ROI, определяете build/buy/extend и согласуете дорожную карту внедрения | AB-100 | Результатом работы является управляемое изменение бизнес-процесса |
| Пишете оркестратор, управляете состоянием, параллелизмом, инструментами и циклами агентов | AI-500 | Это ядро инженерной многоагентной специализации |
| Проектируете identity per agent, границы сети, Key Vault, RBAC и защитные проверки | AI-500 | Нужна production-глубина безопасности и эксплуатации |
| Ваш опыт — AI-102, а следующая роль остаётся hands-on | AI-500 | Существующая Azure AI-база дополняется оркестрацией и эксплуатацией агентов |
| Ваш опыт — AI-102, но вы переходите к enterprise architecture | AB-100 | Инженерная база расширяется бизнес-архитектурой, ALM и управлением |
Правило выбора: AB-100 — если главным артефактом вашей работы является архитектурное решение и план изменения процесса. AI-500 — если главным артефактом является кодовая база и эксплуатационный контур многоагентной системы. Материалы AI-102 полезны как фундамент, но сам экзамен уже недоступен.
Практическая задача: маршрутизация заявки на возврат
Ниже — авторское учебное упражнение Agent Lab Journal. Это не официальный пробный экзамен Microsoft и не воспроизведение экзаменационных вопросов.
Сценарий: интернет-магазин получает заявку на возврат. Оркестратор должен передать её трём детерминированным компонентам:
- Policy agent проверяет срок возврата и наличие подтверждения покупки.
- Risk agent вычисляет простую оценку риска по явным правилам.
- Decision agent объединяет результаты, но не может самостоятельно одобрить возврат дороже заданного лимита.
Детерминированные функции здесь намеренно заменяют языковую модель. Так можно проверить архитектуру без облачного аккаунта, расходов, ключей и недоступных зависимостей. Подключение модели будет отдельным этапом.
Шаг 1. Подготовьте безопасное локальное окружение
mkdir agent-readiness-lab
cd agent-readiness-lab
python3 -m venv .venv
. .venv/bin/activate
python --version
Команды создают только новый каталог и виртуальное окружение внутри него. Они не устанавливают пакеты и не обращаются к сети. Для упражнения достаточно Python 3.10 или новее.
Шаг 2. Создайте файл app.py
from dataclasses import dataclass, asdict
from datetime import date
from json import dumps
from uuid import uuid4
APPROVAL_LIMIT = 5000
ALLOWED_TOOLS = {"policy_check", "risk_check"}
@dataclass(frozen=True)
class ReturnRequest:
request_id: str
purchase_date: date
amount: int
has_receipt: bool
previous_returns: int
def policy_check(item: ReturnRequest, today: date) -> dict:
age_days = (today - item.purchase_date).days
return {
"agent": "policy",
"eligible": 0 <= age_days <= 30 and item.has_receipt,
"age_days": age_days,
"reason": "within_window" if age_days <= 30 else "window_expired",
}
def risk_check(item: ReturnRequest) -> dict:
score = min(100, item.previous_returns * 20 + (30 if item.amount > 5000 else 0))
return {
"agent": "risk",
"score": score,
"level": "high" if score >= 70 else "normal",
}
def call_tool(name: str, request: ReturnRequest, today: date) -> dict:
if name not in ALLOWED_TOOLS:
raise PermissionError(f"tool_not_allowed:{name}")
if name == "policy_check":
return policy_check(request, today)
return risk_check(request)
def decide(request: ReturnRequest, policy: dict, risk: dict) -> dict:
if not policy["eligible"]:
return {"status": "rejected", "reason": policy["reason"]}
if risk["level"] == "high" or request.amount > APPROVAL_LIMIT:
return {"status": "human_review", "reason": "approval_required"}
return {"status": "approved", "reason": "rules_passed"}
def run(request: ReturnRequest, today: date) -> dict:
trace_id = str(uuid4())
policy = call_tool("policy_check", request, today)
risk = call_tool("risk_check", request, today)
decision = decide(request, policy, risk)
return {
"trace_id": trace_id,
"input": asdict(request),
"steps": [policy, risk],
"decision": decision,
}
example = ReturnRequest(
request_id="example-001",
purchase_date=date(2026, 7, 10),
amount=7200,
has_receipt=True,
previous_returns=1,
)
print(dumps(run(example, date(2026, 7, 28)), ensure_ascii=False, default=str, indent=2))
Шаг 3. Запустите сценарий
python app.py
Входные сведения вымышлены и обозначены как пример. В них нет персональных данных, реального клиента, учётных данных или секрета.
Проверка результата
Идентификатор trace_id будет новым при каждом запуске. Остальная существенная часть результата должна соответствовать следующему примеру:
{
"steps": [
{
"agent": "policy",
"eligible": true,
"age_days": 18,
"reason": "within_window"
},
{
"agent": "risk",
"score": 50,
"level": "normal"
}
],
"decision": {
"status": "human_review",
"reason": "approval_required"
}
}
Решение human_review обязательно: сумма 7200 превышает лимит 5000. Автоматическое approved здесь означает ошибку в границе автономности.
Затем проведите три ручные проверки:
- Установите
amount=3000. Ожидаетсяapproved. - Установите
purchase_date=date(2026, 6, 1). Ожидаетсяrejectedс причинойwindow_expired. - Временно вызовите
call_tool("issue_refund", example, date(2026, 7, 28)). Ожидается исключениеPermissionError.
Последняя проверка важнее красивого ответа: компонент не получает инструмент только потому, что «решил» его вызвать.
Как задача проявляет различия траекторий
Взгляд AI-102
Разработчик выделит сервисные границы, заменит правила вызовами подходящих Azure AI API или SDK, настроит аутентификацию и мониторинг ресурса. Он спросит, какой сервис нужен, как развернуть модель и как интегрировать результат в приложение.
Взгляд AB-100
Архитектор начнёт раньше: кому принадлежит процесс возврата, где лежат данные, можно ли расширить существующий Copilot, нужен ли Copilot Studio или custom agent, как измеряется ROI и как решение проходит ALM. Он также определит, где требуется одобрение сотрудника и какие системы Microsoft должны участвовать в процессе.
Взгляд AI-500
Инженер сделает границы агентов и инструментов исполнимыми: введёт идентичность, состояние, тайм-ауты, повторные попытки, корреляцию трасс, оценку качества, защиту входов и результатов инструментов. Затем спроектирует rollout, rollback и регрессионные проверки для изменения поведения.
Самооценка готовности к AI-500
Упражнение показывает базовую готовность, если вы можете без подсказки расширить его следующими свойствами:
- каждый шаг имеет общий
trace_idи собственный статус; - ошибка одного компонента приводит к ограниченному fallback, а не к бесконечному циклу;
- инструменты имеют явный allowlist и минимальные полномочия;
- дорогая или необратимая операция требует подтверждения человека;
- повторный запуск одной заявки не создаёт повторное действие;
- чувствительные поля не попадают в журнал;
- правила и версии компонентов можно менять независимо;
- есть проверки задержки, стоимости, качества решения и числа вызовов инструментов.
Если вы уверенно проектируете бизнес-владельцев, каналы, KPI и выбор платформы, но реализация пунктов выше требует команды разработчиков, ваш текущий профиль ближе к AB-100. Если легко интегрируете отдельный AI-сервис, но не проектировали оркестрацию и эксплуатационные ограничения, начните с пробелов между прежней AI-102 и AI-500.
Типовые ошибки
- «Три промпта означают три агента»
- Разные системные инструкции ещё не создают независимые полномочия, состояние, жизненный цикл и наблюдаемость.
- Оркестратор знает и делает всё
- Такой компонент быстро превращается в монолит. Оставьте ему маршрутизацию и правила переходов, а доменные проверки сделайте отдельными контрактами.
- Текст модели считается доверенным результатом инструмента
- Проверяйте схему, диапазоны значений и право вызывающей стороны. Не исполняйте команды, сформированные моделью, без валидации.
- Секреты помещают в код или промпт
- В production используйте управляемую идентичность и хранилище секретов. Не журналируйте токены, ключи и полные пользовательские данные.
- Human-in-the-loop добавляют после инцидента
- Граница автономности должна быть частью исходной архитектуры, особенно для финансовых, юридических и необратимых действий.
- Выбирают экзамен по номеру
- Большее число не означает линейно более высокий уровень. AB-100 и AI-500 проверяют разные профессиональные результаты.
Ограничения упражнения
Локальный пример проверяет декомпозицию, маршрутизацию, разрешения, трассировку и ручное одобрение. Он не доказывает готовность системы к production и не заменяет практику с Microsoft Foundry.
- Функции выполняются последовательно, без параллелизма и распределённого состояния.
- Нет реальной модели, RAG, MCP-сервера или A2A-взаимодействия.
- Нет аутентификации, сетевых границ, RBAC и хранилища секретов.
- Нет оценки недетерминированных ответов, дрейфа качества и расхода токенов.
- Нет очереди, идемпотентного хранилища, retry/backoff и восстановления после сбоя.
- Пример не моделирует правила реального магазина и не должен использоваться для обработки настоящих возвратов.
Следующий разумный этап — заменить один детерминированный компонент моделью, сохранив прежний контракт. После этого добавить структурированную валидацию ответа, тайм-аут, ограничение числа попыток и трассировку. Более общие схемы реализации собраны в разделе гайдов Agent Lab Journal.
Итог
AI-102 описывает полезную широкую базу Azure AI Engineer, но экзамен уже закрыт. AB-100 выбирайте для архитектуры AI-first бизнес-процессов в экосистеме Microsoft, включая ROI, Copilot Studio, Dynamics 365, Power Platform, ALM и governance. AI-500 выбирайте, когда ваша работа — программировать и эксплуатировать защищённые многоагентные системы с памятью, инструментами, трассировкой и контролируемым выпуском.
Практический критерий прост: если вы можете объяснить, зачем бизнесу нужен агент и где он встроен в процесс, — это сигнал в сторону AB-100. Если можете доказать, почему агент не выйдет за границы полномочий и как восстановить его работу после сбоя, — это сигнал в сторону AI-500.
Официальные материалы
- Microsoft Learn: учебное руководство AI-102 и уведомление о закрытии экзамена
- Microsoft Learn: учебное руководство AB-100
- Microsoft Learn: учебное руководство AI-500
- Microsoft Learn: статус и описание экзамена AI-500
Состав экзаменов и их статус могут меняться. Перед регистрацией сверяйтесь с актуальной страницей Microsoft Learn.