Артефакт (Artifact)
Как приходит результат работы агента
Артефакт — результат, который агент создаёт при выполнении задачи: документ, изображение, набор структурированных данных. Он состоит из частей.
Поля Artifact#
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
artifactId |
string |
Да | Уникальный идентификатор (например, UUID). Должен быть уникален в пределах задачи. |
name |
string |
Нет | Название артефакта, понятное человеку. |
description |
string |
Нет | Описание артефакта, понятное человеку. |
parts |
массив Part |
Да | Содержимое артефакта. Должна быть хотя бы одна часть. |
metadata |
object |
Нет | Метаданные артефакта. |
extensions |
массив string |
Нет | URI расширений, которые присутствуют в артефакте или внесли в него вклад. |
Артефакт или сообщение#
Результаты работы СЛЕДУЕТ возвращать артефактами, а сообщения оставлять для общения: уточнений, статусов, дополнительного ввода. Подробнее об этом разделении: «Сообщение и часть».
Артефакты при потоковой передаче#
Когда клиент получает обновления потоком, новые и изменённые артефакты приходят событием TaskArtifactUpdateEvent. Событие позволяет присылать артефакт частями.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
taskId |
string |
Да | Идентификатор задачи, к которой относится артефакт. |
contextId |
string |
Да | Идентификатор контекста, которому принадлежит задача. |
artifact |
Artifact |
Да | Созданный или обновлённый артефакт. |
append |
boolean |
Нет | Если true, содержимое нужно дописать к ранее отправленному артефакту с тем же идентификатором. |
lastChunk |
boolean |
Нет | Если true, это последний фрагмент артефакта. |
metadata |
object |
Нет | Метаданные обновления артефакта. |
Артефакты в списке задач#
В операции ListTasks артефакты по умолчанию не возвращаются, чтобы не раздувать ответ. Если параметр includeArtifacts равен false (по умолчанию), поле artifacts ДОЛЖНО быть полностью опущено в каждой задаче: оно не должно присутствовать даже как пустой массив или null. При true поле включается с реальным содержимым (оно может быть пустым массивом, если у задачи нет артефактов). Подробнее: «Методы».