Лид: Google вывел в публичный доступ A2UI - спецификацию и набор библиотек, которые позволяют агентам отправлять описание интерфейса в виде JSON, а клиентам рендерить его собственными компонентами. Это не про отправку кода, а про безопасный обмен структурой интерфейса между доверенными сторонами.
Контраст: до сих пор агенты отвечали длинным текстом или пытались встраивать HTML/скрипты через iframe - визуально криво и с риском безопасности. A2UI меняет подход: UI как данные, а не как исполняемый код.
Что такое A2UI и как это работает
A2UI - это открытый стандарт и реализация, где агент вместо текста возвращает A2UI-ответ: JSON с описанием компонентов, их свойств и моделью данных. Клиент читает этот JSON и отображает каждый элемент через нативные виджеты - будь то Angular-компонент, Flutter-widget, React-элемент или SwiftUI-view.
Проще объяснить на примере: агент может вернуть небольшую форму с date picker, селектором времени и кнопкой отправки, вместо того чтобы задавать пользователю кучу вопросов в чате. Клиент отрисует знакомые элементы, пользователь взаимодействует, а события отправляются обратно агенту.
Задача, которую решает A2UI
Проблема сложнее, когда речь о мультиагентных системах и взаимодействии между организациями. Оркестратор в одной компании может делегировать задачу удалённому агенту в другой компании - и этот агент не должен иметь возможность менять DOM хоста или выполнять произвольный код. Ранее решали это тяжёлыми костылями вроде HTML в iframe. A2UI предлагает формат, который безопасен как данные, но при этом достаточно выразителен для сложных компоновок.
Ключевые принципы дизайна
- Security first - UI трактуется как данные, а не как код. Клиент держит каталог доверенных типов компонентов (например, Card, Button, TextField), и агент может ссылаться только на них, что снижает риск UI-injection и выполнения скриптов.
- LLM-friendly structure - внутренняя модель представлена плоским списком компонентов с идентификаторами. Это упрощает генерацию и инкрементальные обновления интерфейса языковыми моделями и позволяет стримить изменения без пересоздания вложенного дерева.
- Framework agnostic - один и тот же A2UI-пейлоад можно отрисовать в вебе, на мобильных и на десктопе путем маппинга на нативные виджеты в Angular, Flutter, React, SwiftUI, Lit и т.д.
- Progressive rendering - формат рассчитан на потоковую передачу, клиент может показывать частичную разметку, пока агент продолжает вычисления, и интерфейс собирается в реальном времени.
Архитектура и поток данных
A2UI разделяет генерацию, транспорт и рендеринг. Пользователь пишет в чате, агент (обычно на базе модели вроде Gemini или другой модели, умеющей выдавать JSON) генерирует A2UI-ответ с компонентами, лэйаутом и биндингами данных. A2UI-сообщения стримятся к клиенту по транспортам вроде Agent-to-Agent (A2A) или AG UI. Клиент с помощью рендерера разбирает пейлоад и мапит типы компонентов на конкретные виджеты. Действия пользователя (клики, сабмиты) уходят обратно агенту как события, и агент может прислать обновления.
Статус проекта и интеграции
Проект сейчас в раннем публичном превью - версия v0.8, лицензия Apache 2.0. В релизе есть reference renderers, quickstart-примеры и рабочие интеграции в проектах вроде Opal, Gemini Enterprise и Flutter GenUI, так что инженеры могут начать пробовать A2UI уже сегодня.
Ключевые выводы для инженеров
- A2UI снимает часть боли с кросс-доменными агентами - вместо запуска чужого кода вы получаете описание UI и сами решаете, как его отрисовать.
- Без каталога доверенных компонент не обойтись - клиенты должны жестко контролировать, какие типы компонентов разрешены, чтобы сохранить безопасность и брендирование.
- Формат ориентирован на LLM-генерацию и стриминг, что упрощает постепенное обновление интерфейса в диалоге.
Куда это ведёт индустрию
A2UI выглядит как шаг к более масштабным agentic-приложениям, где агенты не просто пишут текст, а управляют интерфейсом пользователя через контракт данных. В ближайшие 6-12 месяцев стоит ждать появления множества рендереров, стандартных каталогов компонентов и библиотек интеграций под A2A и AG UI. Вопросы остаются - кто будет поддерживать каталоги, как управлять версиями компонентов и как масштабировать это на миллионы документов и пользователей.
Главная интрига - смогут ли экосистемы быстро прийти к общим каталожным соглашениям или каждый вендор начнет формировать свой стек, что снова породит фрагментацию. На практике победят те платформы, которые обеспечат удобные рендереры, контроль безопасности и хорошую интеграцию с модельной платформой.
Вывод
Если вы строите agentic-приложения или думаете о взаимодействии с удаленными агентами - A2UI сейчас стоит посмотреть. Это не магия, а инфраструктурный шаг: агент присылает данные, клиент решает, как их показать. Проверьте репозиторий и техническую документацию, протестируйте reference renderers и подумайте о каталоге доверенных компонентов - от этого будет зависеть безопасность и опыт пользователей.
Исходная заметка от Asif Razzaq, Marktechpost. В объявлении также есть приглашение на GitHub и в сообщества для разработчиков.
