Как устроен глоссарий#
Русский термин выбран так, чтобы он читался без знания английского и не расходился с устоявшимся употреблением в ИТ. Английский оригинал указан рядом — он нужен, чтобы найти то же понятие в спецификации и коде.
Там, где в русскоязычных текстах встречаются неудачные варианты, указано, каких формулировок избегать. Названия полей и операций (supportedInterfaces, SendMessage) не переводятся.
Алфавитный указатель:
- A2A-клиент
- MCP
- Push-уведомление
- Well-known URI
- Арендатор
- Артефакт
- Версия протокола (A2A-Version)
- Возможности агента
- Задача
- ИИ-агент
- Интерфейс агента
- Карточка агента
- Контекст
- Многошаговое взаимодействие
- Навык
- Непрозрачное выполнение
- Опрос
- Подпись карточки
- Потоковая передача
- Привязка протокола
- Расширение
- Расширенная карточка агента
- Роль
- Сообщение
- Состояние задачи
- Схема безопасности
- Удалённый агент (A2A-сервер)
- Участие человека
- Часть
Участники#
ИИ-агент AI agent
Программа на основе языковой модели, которая сама выполняет задачу: планирует шаги, вызывает инструменты и принимает промежуточные решения. Для A2A не важно, как агент устроен внутри, важно лишь, что он умеет принимать и выполнять задачи по протоколу.
Не рекомендуем: «AI-агент» в русском тексте, «бот», «нейросеть».
A2A-клиент A2A Client
Приложение или агент, который отправляет запросы другому агенту от имени пользователя или системы. Клиентом часто бывает сам ИИ-агент, передающий часть работы специализированному агенту.
Удалённый агент (A2A-сервер) Remote Agent, A2A Server
Агент, который принимает запросы по протоколу A2A по опубликованному адресу, выполняет задачи и возвращает результат. Слово «удалённый» означает не расстояние, а то, что клиент не видит его внутреннего устройства.
Непрозрачное выполнение Opaque Execution
Базовый принцип A2A: агенты взаимодействуют через объявленные возможности и передаваемые данные и не раскрывают друг другу внутреннюю логику, память, промпты и инструменты.
Участие человека Human-in-the-loop
Сценарий, в котором задача приостанавливается, пока человек не подтвердит действие или не предоставит данные. В A2A такие паузы выражаются прерванными состояниями задачи.
Обнаружение агента#
Карточка агента Agent Card
JSON-документ, который агент публикует о себе: название, описание, навыки, адреса подключения, поддерживаемые возможности и требования к аутентификации. Стандартный адрес публикации — /.well-known/agent-card.json на домене агента.
Не рекомендуем: «карта агента», «агентская карточка», «визитка агента».
Расширенная карточка агента Extended Agent Card
Более полная версия карточки, которую агент отдаёт только клиенту, прошедшему аутентификацию. Может содержать дополнительные навыки и сведения. Наличие объявляется полем capabilities.extendedAgentCard.
Навык Agent Skill
Описание одного конкретного умения агента: идентификатор, название, описание, теги, примеры запросов, форматы входа и выхода. По навыкам клиент решает, подходит ли агент для задачи.
Не рекомендуем: «скилл», «умение», «функция».
Интерфейс агента Agent Interface
Запись в карточке, связывающая адрес подключения, привязку протокола и версию протокола. Агент может объявить несколько интерфейсов, например JSON-RPC и gRPC или версии 1.0 и 0.3 одновременно. Список хранится в поле supportedInterfaces.
Привязка протокола Protocol Binding
Конкретный способ передачи операций A2A по сети. Версия 1.0 определяет три равноправные привязки: JSON-RPC 2.0, gRPC и HTTP+JSON (REST).
Не рекомендуем: «транспорт» допустим в разговоре, но в спецификации 1.0 используется именно binding.
Возможности агента Agent Capabilities
Блок карточки с необязательными функциями агента: потоковая передача, push-уведомления, расширенная карточка, расширения. Клиент должен проверить их до вызова соответствующих операций.
Подпись карточки Agent Card Signature
Криптографическая подпись карточки агента в формате JWS (RFC 7515), вычисляемая над канонизированным JSON (RFC 8785). Позволяет клиенту убедиться, что карточку не подменили.
Well-known URI Well-known URI
Зарезервированный путь на домене (RFC 8615), по которому программы находят служебные файлы без предварительной договорённости. Для A2A это /.well-known/agent-card.json. В версиях до 0.3 использовался путь /.well-known/agent.json.
Задачи и данные#
Задача Task
Основная единица работы в A2A. Создаётся сервером в ответ на сообщение, имеет уникальный идентификатор, текущее состояние, историю сообщений и результаты в виде артефактов.
Состояние задачи Task State
Этап жизненного цикла задачи. Рабочие состояния: submitted, working. Прерванные, ожидающие клиента: input-required, auth-required. Конечные: completed, failed, canceled, rejected. В версии 1.0 значения записываются с префиксом, например TASK_STATE_COMPLETED.
Сообщение Message
Одна реплика в обмене между клиентом и агентом. Имеет роль отправителя и состоит из частей. Сообщения служат для постановки задачи, уточнений и статусов; итог работы передаётся не сообщением, а артефактом.
Роль Role
Указатель отправителя сообщения: ROLE_USER — от клиента к агенту, ROLE_AGENT — от агента к клиенту. «User» здесь означает клиентскую сторону, даже если клиент — другой агент.
Часть Part
Минимальная единица содержимого сообщения или артефакта. В версии 1.0 часть содержит ровно одно из четырёх полей: text (текст), raw (байты файла), url (ссылка на файл) или data (структурированный JSON).
Не рекомендуем: «кусок», «фрагмент», «блок».
Артефакт Artifact
Результат, созданный агентом в ходе задачи: документ, изображение, таблица, структурированные данные. Состоит из частей и привязан к задаче.
Не рекомендуем: «выход», «аутпут», «ответ» — ответом может быть и простое сообщение.
Контекст Context (contextId)
Идентификатор, объединяющий связанные задачи и сообщения в один разговор. Позволяет агенту сохранять связность между отдельными задачами.
Многошаговое взаимодействие Multi-turn interaction
Режим, при котором задача продвигается через несколько обменов сообщениями: агент запрашивает уточнение (состояние input-required), клиент отвечает в рамках той же задачи.
Доставка обновлений#
Потоковая передача Streaming
Получение обновлений задачи в реальном времени по одному открытому соединению: смена состояния и порции артефактов. В JSON-RPC и HTTP+JSON реализуется через Server-Sent Events, в gRPC — через потоковые вызовы.
Push-уведомление Push Notification
HTTP POST, который агент отправляет на адрес вебхука, заранее зарегистрированный клиентом. Подходит для долгих задач, когда клиент не держит соединение открытым.
Опрос Polling
Периодический запрос состояния задачи операцией GetTask. Самый простой способ получать обновления, но с задержкой и лишними запросами.
Безопасность, версии и расширения#
Схема безопасности Security Scheme
Объявление в карточке о том, как аутентифицироваться у агента: API-ключ, HTTP-аутентификация, OAuth 2.0, OpenID Connect или взаимный TLS.
Арендатор Tenant
Необязательный идентификатор маршрутизации, позволяющий одному адресу обслуживать нескольких агентов или клиентов. Появился в версии 1.0.
Версия протокола (A2A-Version) A2A-Version
Служебный параметр, обычно HTTP-заголовок, которым клиент сообщает используемую версию протокола в формате «мажорная.минорная», например 1.0. Пустое значение сервер трактует как 0.3.
Расширение Extension
Механизм добавления функций сверх базовой спецификации: собственные поля, метаданные, новые сценарии. Расширение идентифицируется URI и может быть объявлено обязательным.
Смежные протоколы#
MCP Model Context Protocol
Открытый протокол подключения агента к инструментам, данным и API. Дополняет A2A: MCP связывает агента с инструментами, A2A — агентов между собой.