Найти в Дзене
SkyNet | Новости ИИ

Google представляет A2UI (Agent-to-User Interface): открытый протокол для интерфейсов, управляемых агентами

Компания Google открыла исходный код A2UI — спецификации и набора библиотек для создания интерфейсов, управляемых агентами. Этот протокол позволяет агентам описывать сложные нативные интерфейсы в декларативном формате JSON, а клиентским приложениям — отображать их с помощью собственных компонентов. Что такое A2UI? A2UI — это открытый стандарт и реализация, которая позволяет агентам «говорить на языке интерфейса». Агент выводит не HTML или JavaScript, а ответ A2UI — полезную нагрузку в формате JSON, которая описывает набор компонентов, их свойства и модель данных. Клиентское приложение считывает это описание и сопоставляет каждый компонент со своими нативными виджетами, например, компонентами Angular, виджетами Flutter, веб-компонентами, компонентами React или представлениями SwiftUI. Проблема: агентам нужно «говорить на языке интерфейса» Большинство агентов, работающих через чат, отвечают длинными текстами. Для таких задач, как бронирование ресторана или ввод данных, это приводит к

Google представляет A2UI (Agent-to-User Interface): открытый протокол для интерфейсов, управляемых агентами

Компания Google открыла исходный код A2UI — спецификации и набора библиотек для создания интерфейсов, управляемых агентами. Этот протокол позволяет агентам описывать сложные нативные интерфейсы в декларативном формате JSON, а клиентским приложениям — отображать их с помощью собственных компонентов.

Что такое A2UI?

A2UI — это открытый стандарт и реализация, которая позволяет агентам «говорить на языке интерфейса». Агент выводит не HTML или JavaScript, а ответ A2UI — полезную нагрузку в формате JSON, которая описывает набор компонентов, их свойства и модель данных. Клиентское приложение считывает это описание и сопоставляет каждый компонент со своими нативными виджетами, например, компонентами Angular, виджетами Flutter, веб-компонентами, компонентами React или представлениями SwiftUI.

Проблема: агентам нужно «говорить на языке интерфейса»

Большинство агентов, работающих через чат, отвечают длинными текстами. Для таких задач, как бронирование ресторана или ввод данных, это приводит к большому количеству запросов и плотным ответам.

A2UI позволяет агенту запросить форму в виде структурированного описания интерфейса вместо того, чтобы описывать её на естественном языке.

Проблема усложняется в мультиагентной сети. В такой системе оркестратор в одной организации может делегировать работу удалённому агенту A2A в другой организации. Удалённый агент не может взаимодействовать с моделью объектов документа хост-приложения. Он может только отправлять сообщения. Исторически это означало HTML или скрипты внутри iframe. Такой подход был громоздким, часто визуально непоследовательным с хостом и рискованным с точки зрения безопасности.

A2UI определяет формат данных, который безопасен, как данные, но достаточно выразителен для описания сложных макетов.

Основные принципы проектирования: безопасность и удобство для LLM

A2UI ориентирован на безопасность, удобство для LLM и портативность.

* Безопасность на первом месте. A2UI — это декларативный формат данных, а не исполняемый код. Клиент поддерживает каталог доверенных компонентов, таких как Card, Button или TextField. Агент может ссылаться только на типы из этого каталога. Это снижает риск внедрения пользовательского интерфейса и предотвращает выполнение произвольных скриптов из выходных данных модели.

* Удобное представление для LLM. Интерфейс представлен в виде плоского списка компонентов со ссылками на идентификаторы. Это упрощает генерацию или обновление интерфейсов с помощью языковых моделей и поддерживает потоковые обновления. Агент может корректировать представление по мере развития разговора, не пересоздавая полное вложенное дерево JSON.

* Независимость от фреймворков. Одна полезная нагрузка A2UI может быть отображена на нескольких клиентах. Агент описывает дерево компонентов и связанную с ним модель данных. Клиент сопоставляет эту структуру с нативными виджетами в таких фреймворках, как Angular, Flutter, React или SwiftUI. Это позволяет повторно использовать одну и ту же логику агента в веб-, мобиль...

Читать далее