# Артефакт (Artifact)

Как приходит результат работы агента

> Страница сайта A2A Docs — неофициального перевода документации протокола Agent2Agent (https://a2adocs.ru/concepts/artifact/). Тип: Перевод. Основа: Спецификация, разделы 4.1.7, 4.2.2 и 3.7 (https://a2a-protocol.org/latest/specification/#417-artifact). Версия спецификации 1.0, сверено 05.10.2026.

Артефакт — результат, который агент создаёт при выполнении задачи: документ, изображение, набор структурированных данных. Он состоит из [частей](https://a2adocs.ru/concepts/message-and-part/#part).

## Поля Artifact

| Поле | Тип | Обязательное | Описание |
| --- | --- | --- | --- |
| `artifactId` | `string` | Да | Уникальный идентификатор (например, UUID). Должен быть уникален в пределах задачи. |
| `name` | `string` | Нет | Название артефакта, понятное человеку. |
| `description` | `string` | Нет | Описание артефакта, понятное человеку. |
| `parts` | массив `Part` | Да | Содержимое артефакта. Должна быть хотя бы одна часть. |
| `metadata` | `object` | Нет | Метаданные артефакта. |
| `extensions` | массив `string` | Нет | URI расширений, которые присутствуют в артефакте или внесли в него вклад. |

## Артефакт или сообщение

Результаты работы СЛЕДУЕТ возвращать артефактами, а сообщения оставлять для общения: уточнений, статусов, дополнительного ввода. Подробнее об этом разделении: [«Сообщение и часть»](https://a2adocs.ru/concepts/message-and-part/#soobscheniya-i-artefakty).

## Артефакты при потоковой передаче

Когда клиент получает обновления потоком, новые и изменённые артефакты приходят событием `TaskArtifactUpdateEvent`. Событие позволяет присылать артефакт частями.

| Поле | Тип | Обязательное | Описание |
| --- | --- | --- | --- |
| `taskId` | `string` | Да | Идентификатор задачи, к которой относится артефакт. |
| `contextId` | `string` | Да | Идентификатор контекста, которому принадлежит задача. |
| `artifact` | `Artifact` | Да | Созданный или обновлённый артефакт. |
| `append` | `boolean` | Нет | Если `true`, содержимое нужно дописать к ранее отправленному артефакту с тем же идентификатором. |
| `lastChunk` | `boolean` | Нет | Если `true`, это последний фрагмент артефакта. |
| `metadata` | `object` | Нет | Метаданные обновления артефакта. |

> **Заметка переводчика.** На странице «What's New» у события в версии 1.0 упомянуто поле `index` (позиция артефакта в массиве артефактов задачи), но в таблице спецификации его нет. Сверяйтесь с a2a.proto.

## Артефакты в списке задач

В операции `ListTasks` артефакты по умолчанию не возвращаются, чтобы не раздувать ответ. Если параметр `includeArtifacts` равен `false` (по умолчанию), поле `artifacts` ДОЛЖНО быть полностью опущено в каждой задаче: оно не должно присутствовать даже как пустой массив или `null`. При `true` поле включается с реальным содержимым (оно может быть пустым массивом, если у задачи нет артефактов). Подробнее: [«Методы»](https://a2adocs.ru/protocol/methods/#listtasks).
