9.1.3 · блок 9
LLM observability и guardrails
LLM observability и guardrails
Зачем это нужно
Обычная метрика «latency 2 s» скрывает главное для генерации: когда пользователь увидел первый токен, сколько шла генерация, сколько она стоила и какой контекст получил prompt. Наблюдаемость также нужна, чтобы увидеть атаки и утечки без записи чувствительного текста в логи.
Основные идеи
| Сигнал | Что показывает |
|---|---|
| TTFT | время до первого токена: очередь, retrieval, prefill |
| TPOT | время между токенами: скорость генерации |
| input/output tokens | размер контекста, нагрузка и стоимость |
| cost per request | финансовую цену сценария |
Trace связывает gateway request, retrieval, вызов LLM, tool calls и ответ. OpenTelemetry задаёт общий формат telemetry, MLflow tracing добавляет GenAI-контекст.
Prompt injection — текст пытается изменить системные правила или заставить модель раскрыть данные. Документы RAG — недоверенный ввод, а не инструкции администратора.
PII. Минимизируйте запись prompt/response, маскируйте идентификаторы, задавайте retention и права доступа. Хеш не всегда анонимизирует небольшое пространство значений.
Guardrails должны быть многослойными: роли и ACL до retrieval, изоляция системного prompt, allowlist инструментов, лимиты, выходные проверки и human escalation для рискованных действий.
Как это выглядит на практике
Алерт: p95 TTFT вырос с 0.8 до 5 секунд. Trace показывает нормальную генерацию, но retrieval ждёт перегруженный индекс. Команда масштабирует индекс, а не заменяет LLM.
В другом запросе найденный документ содержит «ignore previous instructions». Сервис передаёт его как цитируемый context, не как system message; инструмент отправки писем недоступен без явного подтверждения пользователя.
Что сделать после занятия
- [ ] Добавьте TTFT, TPOT и token count в план метрик GenAI-сервиса.
- [ ] Опишите, какие поля trace нельзя хранить в открытом виде.
- [ ] Проведите tabletop-разбор одного prompt-injection сценария.