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

Машинный перевод. Авторитетным источником является английская версия; проверка носителем языка ещё не выполнена.

Compare

Olivares AI vs LLM observability (LiteLLM, Langfuse)

LiteLLM и Langfuse трассируют вызовы моделей, которые делает ваше приложение. Olivares картографирует каждого агента в вашем парке и всё, что он читает или пишет. Разная высота. Они компонуются.

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

TL;DR: LiteLLM и Langfuse занимаются вызовами моделей, которые делает ваше приложение: маршрутизировать их, трассировать, управлять промптами, учитывать стоимость на вызов. Olivares AI занимается каждым агентом в вашем парке и всем, что он читает или пишет — базы данных, object stores, MCP-серверы, инструменты, файлы — и тем, соответствует ли это разрешённому политикой. Разная высота. Они компонуются; мы принимаем тот же OpenTelemetry gen-ai сигнал, который они генерируют и потребляют.

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

  • LiteLLM — унифицированный, OpenAI-совместимый gateway перед многими провайдерами: маршрутизация, fallbacks, retries, виртуальные ключи, бюджеты и rate limits на ключ, и учёт стоимости вызовов моделей, проходящих через него.
  • Langfuse — LLM-инженерия и observability: трассы запросов/ответов, управление и версионирование промптов, оценки, datasets и интерфейс для разработчиков для отладки цепочек.

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

Где Olivares AI структурно отличается

ИзмерениеLLM gateway + observabilityOlivares AI
Единица интересаВызов модели (prompt → completion)Агент и каждый ресурс, который он читает/пишет — БД, object stores, MCP, инструменты, файлы
Точка наблюденияНа пути запроса (proxy/SDK); видит, что приложение отправляетВне канала, read-first; наблюдает телеметрию, native audit и backstop на уровне ядра — никогда на пути данных
Источник истиныЧто приложение/proxy сообщаетSelf-reported телеметрия, подтверждённая собственными записями системы — pgAudit (чтение vs запись), CloudTrail (доступ к объектам), eBPF backstop
Ключевой вопрос«Что сделал этот промпт и сколько он стоил?»«Этот агент использует доступ, который никто ему не выдавал?» — Drift Permitted-vs-Observed
EnforcementGateway может блокировать вызовы моделей (ключи, бюджеты)Deny-closed шлюзы на действия и доступ к ресурсам: одобрения, Claude Code hooks PEP, gating инструментов MCP, kill switches
Артефакт аудитаТрассы / логи для отладкиAppend-only, hash-chained, Ed25519-signed ledger, верифицируемый off-box, экспортируемый как OSCAL evidence packages
Модель развёртыванияSelf-hostableSelf-hosted или air-gapped; data plane никогда не покидает ваш периметр; AGPL, source-available

Несущее отличие — источник истины. Трасса observability говорит вам, что приложение сказало, что оно сделало. Она не может сказать вам, что агент обратился к таблице, которую трасса никогда не упоминала. Olivares AI перекрёстно проверяет кооперативный сигнал по data plane, так что «к чему агент обратился» — это подтверждённый факт, а не self-report.

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

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

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

Когда вам не стоит обращаться к Olivares AI

Честность работает в обе стороны. Вам, вероятно, не нужен этот control plane, если:

  • Ваша единственная цель — трассировать и отлаживать LLM-вызовы в одном-двух приложениях, с playground промптов — Langfuse отдельно подходит лучше.
  • Вам просто нужен multi-provider gateway с бюджетами и failover — это задача LiteLLM, и мы интегрируемся с этим паттерном, а не переимплементируем его.
  • У вас нет парка для управления: один сервис, одна модель, нет агентов, обращающихся к базам данных / object stores / MCP, и нет обязательств по аудиту или регулированию.

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

Спросить Claude

Вопросы

Olivares заменяет LiteLLM или Langfuse?

Нет. Они трассируют вызовы моделей на уровне приложения. Olivares картографирует, что агенты читают и пишут в вашем data plane — базы данных, object stores, MCP, файлы. Он потребляет тот же OpenTelemetry-сигнал, который они генерируют.