botruntime
Эксплуатация

Трейсы и приватность

Какие метаданные сохраняет Cloud trace и какие данные в него не попадают.

Cloud trace показывает форму исполнения без содержимого диалога. Вы видите вызванный обработчик, инструмент, модель, длительность и статус.

Что сохраняется

Платформа принимает закрытый набор метаданных:

  • имя и статус runtime span;
  • модель и провайдер;
  • число входных и выходных токенов;
  • задержка модели и общая длительность;
  • номер итерации агентного цикла;
  • имя и статус инструмента;
  • имя воркфлоу;
  • HTTP status и категория ошибки;
  • канал и alias интеграции.

Значения проходят проверку длины, формата и допустимого диапазона. Другие поля отбрасываются до записи.

Что не сохраняется

Cloud trace store не принимает:

  • текст сообщений и промптов;
  • инструкции и мысли модели;
  • сгенерированный код;
  • вход и выход инструмента;
  • состояние бота;
  • URL, query, request body и response body;
  • raw error;
  • токены и другие credentials.

Эта граница применяется при записи. Чтение повторно проецирует ответ на тот же allowlist.

Лимиты ingestion

Один OTLP-запрос может содержать до 16 resourceSpans, 64 scopeSpans и 256 spans. Размер body ограничен 1 MiB, число attributes одного resource или span — 64. Превышение лимита возвращает 413 без частичной записи.

Отдельные хранилища

Trace privacy не означает, что содержимого нет во всей платформе. Сообщения, event payloads и application logs хранятся отдельно и имеют собственные правила доступа и retention.

Не записывайте чувствительные данные в console.log() и произвольные события. Trace projector не может очистить хранилище, которым управляет код бота.

Локальная диагностика

Inspector внутри brt dev может показывать message previews, tool input/output и state. Эти данные нужны для локальной отладки и не отправляются в Cloud trace store.

Считайте локальный trace чувствительным артефактом:

  • не коммитьте дампы;
  • не отправляйте их в общий telemetry endpoint;
  • удаляйте после диагностики;
  • перед публикацией проверяйте содержимое вручную.

Чтение через CLI

brt traces --conversation-id "$CONVERSATION_ID"

Cloud API требует область одного диалога. Списки используют pageSize и nextToken. Фильтры по status, workflow, action и времени применяются до пагинации.

brt conversations list показывает ограниченные метаданные. brt conversations show <id> строит timeline из безопасной trace-проекции. Команды не возвращают сообщения, prompts, tool input/output и raw errors.

Hosted evals

Eval store сохраняет только операционные метаданные: ID, tags, статусы, assertion kind, score и duration. Prompts, сообщения, model responses, evidence и raw errors в него не попадают.

Каждый eval run становится недоступен через 30 дней. Фоновая очистка удаляет истёкшие runs и связанные результаты.

Эта же проекция используется на экране Evals в консоли. Инспектор показывает вердикты и тайминги, но не имеет скрытого доступа к содержимому диалога. Автоматического сравнения с baseline и перехода от assertion к trace сейчас нет.

Доступ

Production-запрос получает область из ключа бота. Dev-запрос использует PAT и проверенный dev target. Консоль дополнительно проверяет членство пользователя в воркспейсе и принадлежность бота.

Не передавайте workspace authority через произвольный query-параметр. Scope определяется токеном и выбранным target.

Retention

Трейсы предназначены для диагностики, а не для постоянного хранения прикладных данных. Не стройте бизнес-логику на наличии trace row.

Если проекту нужен собственный журнал, создайте таблицу с явной схемой, retention и правилами доступа.

Дальше

On this page