Зачем профиль#
Карточка агента A2A описывает навыки, адреса и способы входа. Для российской сделки этого мало: заказчику, банку или другому агенту нужно знать три вещи, которых в карточке нет.
Профиль собирает эти ответы в одном месте, в машиночитаемом виде, рядом с карточкой агента. Другой агент читает их до того, как поставит задачу.
Как он устроен#
В A2A есть штатный механизм расширений: агент перечисляет их в capabilities.extensions своей карточки, у каждого расширения есть адрес-идентификатор, описание, признак обязательности и параметры. Профиль A2A-RU — одно такое расширение:
| Характеристика | Значение |
|---|---|
| Идентификатор (URI) | https://a2aprotocol.ru/ext/ru-profile/v0.1 |
| Где указывается | capabilities.extensions[] карточки агента |
| Обязательность для клиента | "required": false — клиент, который не знает профиль, работает с агентом как обычно |
| Данные профиля | поле params расширения |
| JSON-схема | /ext/ru-profile/v0.1/schema.json |
| Связь с паспортом | номер и адрес паспорта ИИ-агента в формате паспорт-агента.рф |
| Связь с правилами | уровни полномочий 0–3 взяты из «Правил для персонального агента» (Приложение П к Конституции агента) |
| Сопутствующее расширение | «Доверенные лица» — связь агентов разных людей |
| Лицензия текста и схемы | CC BY 4.0 |
Поля профиля#
Обязательных полей семь групп. Остальное оператор заполняет, если ему есть что сказать.
| Поле | Обязательно | Что означает |
|---|---|---|
operator.name | да | Полное наименование юрлица или ФИО индивидуального предпринимателя |
operator.inn, operator.ogrn | да | ИНН (10 или 12 цифр) и ОГРН или ОГРНИП (13 или 15 цифр) |
operator.contact | да | Почта, на которую отвечает человек, а не робот |
principal | да | Чей это агент: organization — работает на компанию, person — персональный агент человека |
passport.id, passport.url | да | Номер паспорта ИИ-агента (AP-ГГГГ-NNNNNN) и адрес файла паспорта |
authority.maxLevel | да | Высший уровень действий, на который агент способен: 0, 1, 2 или 3 (см. ниже) |
authority.limits | нет | Лимиты в рублях: на одну операцию и на сутки |
data.residency, data.personalData | да | Страна хранения данных (RU или другая) и обрабатывает ли агент персональные данные |
data.retentionDays | нет | Сколько дней агент хранит данные задачи после её завершения |
disclosure.identifiesAsAI | да | Агент сообщает людям, что он ИИ и чей он. В профиле 0.1 значение может быть только true |
rules | нет | Адреса правил, соблюдение которых оператор заявляет, с версией |
registry | нет | Адрес записи об агенте в реестре, где можно проверить его статус |
Уровни полномочий#
Уровень говорит, насколько дорого стоит ошибка агента. Чем выше уровень, тем строже правила подтверждения.
- 0 Читает Ищет, смотрит, сравнивает. Ничего не меняет.
- 1 Готовит Черновик письма, корзину, заявку. Отправляет человек.
- 2 Действует обратимо Бронь с бесплатной отменой, запись, которую можно снять.
- 3 Действует необратимо Платит, подписывает, пишет и звонит от имени человека. Только с подтверждением.
Для уровня 3 профиль требует подтверждения человеком каждого действия, если владелец агента явно не разрешил иное в пределах лимитов authority.limits. Молчание подтверждением не считается.
Пример карточки#
Карточка агента A2A 1.0 с профилем A2A-RU. Реквизиты в примере условные: ИНН и ОГРН из нулей.
{
"name": "Ассистент закупок «Пример»",
"description": "Подбирает поставщиков по техническому заданию и готовит запрос коммерческого предложения.",
"version": "1.0.0",
"provider": {
"organization": "ООО «Пример»",
"url": "https://example.ru"
},
"supportedInterfaces": [
{
"url": "https://agent.example.ru/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"capabilities": {
"streaming": true,
"pushNotifications": false,
"extensions": [
{
"uri": "https://a2aprotocol.ru/ext/ru-profile/v0.1",
"description": "Профиль A2A-RU: оператор, паспорт агента, полномочия, данные",
"required": false,
"params": {
"operator": {
"name": "ООО «Пример»",
"inn": "0000000000",
"ogrn": "0000000000000",
"contact": "agent@example.ru"
},
"principal": "organization",
"passport": {
"id": "AP-2026-000000",
"url": "https://example.ru/.well-known/agent-passport.json"
},
"authority": {
"maxLevel": 1,
"limits": { "perOperationRub": 0, "perDayRub": 0 }
},
"data": {
"residency": "RU",
"personalData": false,
"retentionDays": 30
},
"disclosure": { "identifiesAsAI": true },
"registry": "https://a2aregistry.ru/agenty/primer-zakupki/"
}
}
]
},
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["text/plain", "application/json"],
"skills": [
{
"id": "rfq-draft",
"name": "Запрос коммерческого предложения",
"description": "Готовит запрос КП поставщикам по техническому заданию. Отправляет закупщик.",
"tags": ["закупки", "КП"],
"examples": ["Найди трёх поставщиков листового акрила 12 мм и подготовь запрос КП"]
}
]
}Подпись карточки (поле signatures) в примере не показана: её ставит оператор своим ключом, см. следующий раздел.
Подпись и проверка#
В A2A 1.0 карточку можно подписать (JWS по RFC 7515 над JSON, канонизированным по RFC 8785). Подпись доказывает, что карточку выпустил владелец ключа, но не говорит, кто этот владелец. Профиль замыкает эту цепочку на открытые российские реестры:
- 1. Подпись Клиент проверяет подпись карточки открытым ключом оператора.
- 2. Ключ в реестре Открытый ключ оператора опубликован в записи агента на a2aregistry.ru вместе с реквизитами.
- 3. Паспорт не отозван Статус паспорта проверяется по API паспорт-агента.рф: подтверждён, приостановлен или отозван.
Публикация ключей операторов и список отозванных агентов в реестре появятся во второй очереди работ. До этого подпись проверяется ключом, который оператор публикует на своём домене, а статус агента — по паспорту.
Совместимость#
- Профиль не добавляет новых полей в ядро карточки и не меняет операции протокола. Всё лежит внутри одного расширения.
- Расширение объявлено необязательным, поэтому зарубежный клиент, который его не знает, работает с агентом как с любым другим агентом A2A.
- Номер версии в адресе расширения (
v0.1) меняется при несовместимых изменениях. Прежний адрес и прежняя схема остаются доступными.
Чего профиль не делает#
- Не сертифицирует агента и не гарантирует качество его работы. Данные профиля заявляет сам оператор.
- Не заменяет закон. Требования 152-ФЗ, договоры и доверенности действуют независимо от профиля.
- Не обязателен для работы по A2A. Это добровольное раскрытие информации.
Обсуждение и версии#
Черновик открыт для замечаний до 15.12.2026. Предложить правку можно на странице «Обсуждение». Версия 1.0 выйдет вместе с версией 1.0 Конституции агента, к 01.02.2027.
| Версия | Дата | Что изменилось |
|---|---|---|
| 0.1 | 03.11.2026 | Первый черновик для обсуждения |
