Агентный UI в Blazor: судьбу агента решают видимость и контроль

Microsoft выпустила AI-компоненты для Blazor. Разбираем, почему корпоративные агенты буксуют и какие три свойства интерфейса делают их рабочими.

  • Что описала Microsoft
  • Где агенты буксуют в компаниях
  • Три свойства рабочего агентного интерфейса
  • Как это собирается на .NET

Повод

  1. Команда .NET в Microsoft представила AI-компоненты для Blazor.

  2. Компоненты нужны для агентного интерфейса.

  3. Так называют экран, на котором видно, что агент делает прямо сейчас, и где агент спрашивает человека перед важным действием.

  4. Для бизнеса сам факт выпуска важнее компонентов.

  5. Модели доступны всем через API, поэтому корпоративные агенты всё чаще различаются интерфейсом.

  6. Люди продолжают работать с агентом, если видят его ход и сами подтверждают необратимые шаги.

Что описала Microsoft

В блоге Microsoft перечисляет, что умеет агент в приложении.

Он собирает контекст, вызывает инструменты, предлагает план, правит общие документы и ведёт многошаговую задачу вместе с пользователем.

Из этого Microsoft выводит три инженерные задачи

Первая: ответ агента приходит частями, и интерфейс должен показывать их по мере генерации. Вторая: пользователь должен видеть, чем агент занят. Третья: действия с последствиями человек контролирует сам.

Четвёртая задача касается общего состояния

В него пишут пользователь, агент и само приложение, и всем троим нужна одна версия данных. Microsoft встраивает эти паттерны в стандартный веб-фреймворк .NET.

Когда производитель платформы выпускает что-то готовым компонентом, пользователи со временем начинают ждать этого по умолчанию.

Так было с валидацией форм и индикаторами загрузки.

Где агенты буксуют в компаниях

  1. В наших проектах мы регулярно видим один сценарий.

  2. Пилот собирают как чат, на демо он бойко отвечает, а через месяц им пользуются два-три энтузиаста.

  3. Мы видим три причины, и все они лежат в интерфейсе.

  4. Первая причина: человек не понимает, что сделал агент.

  5. Он получил итоговый текст и не знает, какие данные агент прочитал и какие системы затронул. Вторая: человек боится.

  6. Если агент может сам отправить письмо клиенту или изменить цену, осторожный сотрудник скорее отключит его, чем рискнёт. Третья: исправить результат можно только целиком.

  7. Агент ошибся в одном поле из двадцати, и пользователь перезапускает задачу с нуля.

  8. Все три причины увеличивают TTU - время до полезного результата. Возьмём условный пример.

  9. Агент экономит сотруднику 10 минут на задаче, а ручная перепроверка непрозрачного результата занимает 8 минут.

  10. Чистая экономия составляет 2 минуты, при этом риск ошибки сохраняется.

  11. Такой проект финансовый директор закроет на первом квартальном разборе, и будет прав.

Оценить, где ИИ даст эффект в вашем процессе

Три свойства рабочего агентного интерфейса

### Ход работы на экране Пользователь видит шаги по мере выполнения: «читаю карточки категории»

, «сверяю остатки в 1С», «готовлю черновик».

Текст появляется потоком, по мере генерации.

Человек за несколько секунд понимает, в нужную ли сторону пошёл агент, и останавливает его раньше, чем тот потратит минуту и токены на неверную ветку. ### Стоп перед последствиями

Читает данные агент сам

Запись, отправку, проведение документа и изменение цены он предлагает, и человек подтверждает их одной кнопкой.

Границу между «можно самому» и «спроси» задаёт список конкретных инструментов.

Этот список согласует владелец процесса. ###

Общий документ с понятным авторством

Агент и человек работают над одним артефактом: карточкой товара, договором, заявкой.

Правки агента подсвечены отдельно, и их можно принять или откатить по одной.

Чтобы исправить ошибку в одном поле, пользователю хватает одного клика.

Как это собирается на .NET

  1. Blazor Server держит постоянное соединение с браузером через SignalR, поэтому сервер отправляет пользователю токены и шаги агента в момент их появления.

  2. Библиотека Microsoft.Extensions.AI даёт единый интерфейс `IChatClient` поверх разных провайдеров, и команда может сменить модель, не переписывая экраны.

  3. Подтверждение действий мы проверяем на сервере.

  4. Кнопка «Одобрить» удобна пользователю, но сама по себе ничего не защищает.

  5. Вызов инструмента с последствиями сервер ставит в очередь и исполняет только после подписанного подтверждения конкретного человека.

  6. Инструменты агенту мы отдаём через MCP: каждая система (1С, PIM, ЭДО) публикует ограниченный набор операций с явными правами.

  7. Между приложением и моделями стоит LLM & Security Gateway.

  8. Он журналирует каждый запрос, маскирует персональные данные и распределяет задачи между GigaChat, YandexGPT и Claude в зависимости от требований к хранению данных. В журнале видно, кто, когда и что подтвердил.

  9. Эти записи отвечают на основные вопросы службы безопасности и аудиторов.

Где это даёт результат

  1. Нагляднее всего это видно на товарном каталоге в Akeneo или Pimcore.

  2. Агент пишет описания карточек, раскладывает товары по таксономии и предлагает значения фасетов для фильтров. Контент-менеджер видит правки агента по каждому полю, принимает пачку целиком или точечно исправляет отдельные значения. В публикацию уходит только одобренное.

  3. Пользователь видит одну кнопку, а за ней стоят интеграция с PIM, права на атрибуты, откат изменений и журнал. В учётных процессах схема та же.

  4. Агент готовит документ в 1С по письму клиента и показывает, откуда взял каждую позицию, а проводит документ бухгалтер.

Вывод

Прежде чем выбирать модель для агента, нарисуйте его экран и ответьте на три вопроса.

Что пользователь видит, пока агент работает?

На каком шаге агент останавливается и спрашивает?

Как отличить правку человека от правки агента?

Если ответов нет, агент останется демо при любой модели

Microsoft переносит эти паттерны в стандартный фреймворк. Я ожидаю, что через год пользователи корпоративных систем будут считать их нормой, и агент без них будет выглядеть сырым.

Поэтому видимость и контроль я бы закладывал с первого спринта.

Обсудить статью: Агентный UI в Blazor: судьбу агента…

Укажите email или телефон, чтобы мы могли вам ответить.

Отправить через: