Перейти к содержимому

Olivares AI и LLM-шлюзы и observability (LiteLLM, Langfuse)

Распространённый, разумный self-hosted стек сочетает LLM-шлюз (например, LiteLLM) с платформой LLM observability (например, Langfuse). Если у вас он есть, вы вполне обоснованно можете спросить, нужна ли вам вообще плоскость управления (control plane). Эта страница отвечает честно — включая случаи, когда ответ нет.

Что этот стек делает хорошо (используйте его для этого)

Заголовок раздела «Что этот стек делает хорошо (используйте его для этого)»
  • LiteLLM — единый, OpenAI-совместимый шлюз перед множеством провайдеров: маршрутизация, fallback’и, повторы, виртуальные ключи, бюджеты и лимиты частоты на ключ, а также учёт стоимости вызовов моделей, которые через него проходят.
  • Langfuse — LLM-инженерия и observability: трассировки запросов/ответов, управление промптами и версионирование, оценки (evaluations), наборы данных и UI для разработчика для отладки цепочек.

Если ваша задача — «инструментировать LLM-вызовы моего приложения, отлаживать промпты и управлять доступом к моделям из одной точки», этот стек превосходен и self-hostable. Чтобы это делать, плоскость управления вам не нужна, и мы не будем притворяться, что это не так.

ИзмерениеLLM-шлюз + observabilityOlivares AI
Объект вниманияВызов модели (промпт → завершение)Агент и каждый ресурс, который он читает/пишет — БД, объектные хранилища, MCP, инструменты, файлы
Точка наблюденияВ пути запроса (proxy/SDK); видит, что отправляет приложениеВне основного пути, сначала чтение (read-first); наблюдает телеметрию, нативный аудит и резервный механизм на уровне ядра — никогда не в пути данных
Источник истиныТо, что сообщает приложение/проксиСамоотчётная телеметрия, сверенная с собственным журналом системы — pgAudit (чтение vs запись), CloudTrail (доступ к объектам), резервный механизм eBPF
Ключевой вопрос«Что сделал этот промпт и сколько он стоил?»«Использует ли этот агент доступ, который никто не предоставлял?» — Дрейф Permitted-vs-Observed
Принуждение (enforcement)Шлюз может ограничивать вызовы моделей (ключи, бюджеты)Шлюзы deny-closed на действиях и доступе к ресурсам: согласования, PEP на хуках Claude Code, ограничение инструментов MCP, аварийные выключатели (kill switches)
Артефакт аудитаТрассировки / логи для отладкиЖурнал только для добавления (append-only), сцепленный по хешу (hash-chained), подписанный Ed25519, проверяемый вне устройства (off-box), экспортируемый как пакеты доказательств OSCAL
Профиль развёртыванияSelf-hostableSelf-hosted или air-gapped; плоскость данных никогда не покидает вашу границу; AGPL, source-available

Несущее отличие — достоверная информация (ground truth). Трассировка observability говорит вам, что приложение сказало, что оно сделало. Она не может сказать вам, что агент добрался до таблицы, которую трассировка не упоминала. Olivares AI сверяет кооперативный сигнал с плоскостью данных, так что «что агент затронул» — это сверенный факт, а не самоотчёт. См. Словарь аналитиков, почему это первая из наших трёх полос.

Это «и», а не «или» — мы поглощаем вашу телеметрию

Заголовок раздела «Это «и», а не «или» — мы поглощаем вашу телеметрию»

Olivares AI не является заменой вашего шлюза или вашего инструмента трассировки и не стремится находиться в пути запроса, который они занимают. Он потребляет тот же сигнал: плоскость управления поглощает spans семантической конвенции OpenTelemetry GenAI — ту же телеметрию gen-ai, которую эти инструменты испускают и потребляют. Так что здоровая конфигурация такова:

  • Оставьте LiteLLM как ваш шлюз моделей, а Langfuse — для трассировки и работы с промптами, ориентированной на разработчика.
  • Направьте поток OTel gen-ai в Olivares AI как один из сверяющих источников и позвольте карте доступа, обнаружению дрейфа и журналу выполнять общесредовый governance-уровень поверх.

Поглощение OpenTelemetry GenAI · Корпоративный OTel для Claude Code

Честность работает в обе стороны. Эта плоскость управления вам, вероятно, не нужна, если:

  • Ваша единственная цель — трассировка и отладка LLM-вызовов в одном-двух приложениях, с песочницей для промптов — Langfuse сам по себе подойдёт лучше.
  • Вам просто нужен мультипровайдерный шлюз с бюджетами и отказоустойчивостью — это задача LiteLLM, и мы интегрируемся с этим паттерном, а не переизобретаем его.
  • У вас нет среды (estate) для управления: один сервис, одна модель, нет агентов, затрагивающих базы данных/объектные хранилища/MCP, и нет аудиторских или регуляторных обязательств.

Olivares AI оправдывает своё место, когда вопросы становятся общесредовыми и состязательными (adversarial): какие агенты существуют, до чего каждый из них реально может дотянуться, где доступ дрейфует от политики, могу ли я доказать это аудитору и могу ли я остановить плохое действие по принципу deny-closed — и всё это без отправки этой картины в чужое облако.