Формат ответа
Структура turn
Поле turn задачи — это результат от Aist Core. Три ключевых части: output (ответ ассистента), messages (контекст LLM) и metadata (стоимость и модель).
Для завершённой задачи GET /api/tasks/{uuid} возвращает объект turn в исходном
формате Aist Core:
{
"input": [/* входные данные (эхо из запроса) */],
"output": [/* ответ ассистента — см. «Типы output» */],
"messages": [/* сырые LLM-сообщения — реальный контекст */],
"metadata": {
"cost": {
"total": 0.0052,
"details": { "llm": 0.0048, "tools": 0.0004, "transcription": 0 }
},
"model": "claude-sonnet-4-6" // фактически использованная модель
}
}
Поля
| Поле | Тип | Описание |
|---|---|---|
input | array | Входные элементы (эхо из запроса). |
output | array | Ответ ассистента для показа пользователю. См. Типы output. |
messages | array | Полная история LLM. Нужна для продолжения диалога. См. Поле messages. |
metadata | object | Стоимость (cost) и идентификатор фактически использованной модели (model). |
output vs messages
Это разные вещи. output — «чистый» результат для отображения (текст, файлы, вызовы
инструментов в порядке действий ассистента). messages — низкоуровневый протокол
role/content с ID вызовов, результатами инструментов и thinking-блоками; именно он передаётся модели
для восстановления контекста в следующем ходе.
metadata.model
Если у ассистента настроена fallback-цепочка моделей, в metadata.model будет та модель,
которая фактически ответила, — она может отличаться от первой в цепочке.