На странице: Трение · Матрица решений · Стратегия инструментирования · Пороги стоимости · Пакетный пайплайн оценки · Обезличивание · Шаги внедрения · Приёмка удалённого узла · FAQ
Если вы поставляете агентов с MacBook, продакшену всё равно нужна честная история о полноте трасс, окнах оценки и «шуме в долларах» от экспортёров. Ниже — сравнение стека с опорой на Langfuse и стека OTLP-first, практические полосы сэмплинга, связка батч-оценки с теми же ключами корреляции и чек-лист приёмки replay на удалённом Mac. Читайте вместе с матрицей наблюдаемости OpenTelemetry GenAI, офлайн-оценкой DSPy на удалённом узле и мульти-модельным роутингом и стоимостью, чтобы метрики и инвойсы сходились.
Где команды чувствуют трение первой
Разрыв контуров. Langfuse собирает богатый UX промптов, а финансы просят поля в форме OTLP, которые коллектор «не видел».
Разрыв продукт ↔ SRE. Спаны в Jaeger выглядят идеально, но без Langfuse сложно сравнивать версии промптов без самописного UI.
Разрыв оценки и трасс. Пакетная оценка раз в неделю живёт своей жизнью, а трассы сэмплируются «как получится» — регрессии не встречаются со спанами, которые их вызвали.
Для стабильности транспорта и слотов инференса на том же железе полезно свериться с матрицей keep-alive, параллелизма и KV-кэша: иначе вы будете объяснять провалы дашбордов неполитикой сэмплинга, а конкуренцией за память.
Матрица решений
Выберите колонку как основной «позвоночник», затем зеркалируйте критичные сигналы во второй дорожке, чтобы не размножать истину.
| Измерение | Langfuse в приоритете | OpenTelemetry GenAI в приоритете |
|---|---|---|
| Семантические трассы | Нативные трассы, скоринг, датасеты и версии промптов с низким порогом входа. | Атрибуты GenAI на спанах, экспортёры, tail sampling и ваш текущий APM-вендор. |
| Управление долей сэмплинга | Лимиты ингеста на проект и клиентские фильтры; следите за квотами хостинга. | Головной и хвостовой сэмплинг на коллекторе, политика как код, правила по арендаторам. |
| Интеграция с батч-оценкой | Встроенные прогоны оценки, привязанные к трассам и датасетам в UI. | Раннеры оценки эмитят спаны или логи с общими ключами корреляции и вашими дашбордами. |
| Проверка на удалённом Mac | Replay против хостинга Langfuse, пока агенты крутятся на тихом Apple Silicon. | Replay OTLP в стейдж-коллектор размером как прод; сравнение счётчиков отбрасывания на том же удалённом хосте. |
Стратегия инструментирования
Начинайте каждый запрос со стабильного ключа корреляции, который попадает в метаданные Langfuse и в baggage OpenTelemetry. Оборачивайте каждый вызов модели либо объектом generation в Langfuse, либо GenAI-спаном с идентификатором модели, провайдером, целочисленными токенами и метаданными завершения. Для инструментов создавайте дочерние спаны с хэшированными аргументами, пока legal явно не разрешил сырой захват. Держите размер батчей экспорта умеренным на unified memory, чтобы Metal-инференс сохранял предсказуемую задержку.
Пороги стоимости
Бюджетируйте три «валюты»: байты трасс в минуту, строки событий в SaaS и задержку поиска. Алертите, когда среднее за пять минут стабильно пересекает бюджет, полученный на сухом прогоне. Считайте места в Langfuse и вход OTLP отдельными строками, чтобы финансы сравнивали их с GPU-часами в том же инвойсе удалённого Mac. При срабатывании порогов сначала ужесточайте сэмплинг чата, а не урезайте удержание ошибок.
Пакетный пайплайн оценки
Зафиксируйте окно пакетной оценки: например, ночной дым плюс еженедельный полный прогон. Каждую строку результата помечайте версией датасета, ревизией модели и тем же ключом корреляции, что и в живом трафике. Сравнивайте долю успехов за окно с сэмплированными трассами, а не с единичными «удачными» промптами. Тяжёлые прогоны планируйте после пика чата, чтобы коллекторы не дрались с пользователями; дисциплину офлайн-прогонов можно позаимствовать из статьи про DSPy выше.
Обезличивание и приватность
По умолчанию храните идентификаторы шаблонов, длины, солёные хэши и id схемы и в Langfuse, и в строковых полях OTLP. Если узким кругам нужен сырой текст, оформляйте allow-list по арендаторам, сокращайте TTL и фиксируйте ревью доступа. Платёжные и медицинские идентификаторы не кладите в произвольный текст атрибутов — мапьте на непрозрачные суррогаты до экспорта.
Шаги внедрения
1. Инвентаризируйте каждую поверхность, вызывающую модель или инструмент, и выберите основной контур наблюдаемости.
2. Реализуйте распространение корреляции через шлюзы, воркеры и раннеры оценки.
3. Закодируйте политики сэмплинга за feature flags и задокументируйте базовые доли для чата и батча.
4. При двойном экспорте зеркалируйте критичные токен- и биллинг-поля в Langfuse custom metrics и в OTLP там, где это разрешено.
5. Запланируйте окна оценки и проверьте, что каждый прогон пишет id, с которым трассы сходятся в один клик по дашборду.
6. Воспроизведите многочасовой трафик на арендованном удалённом узле класса Mac mini и приложите чек-лист ниже к тикету релиза.
Чек-лист приёмки стоимости на удалённом Mac
- Доля отброшенных спанов или событий согласована с метриками отказов батчей экспортёра — нет «тихих» пробелов.
- Верхний дециль по токенам остаётся поисковым после изменения политики сэмплинга на всём окне soak.
- Смещение часов ниже одной секунды либо явно задокументирована компенсация в дашбордах.
- Запас диска под буферы трасс и тома Langfuse (SQLite или Postgres) выше согласованного пола.
- Доля успехов оценки за то же окно коррелирует со всплесками ошибочных спанов и стоимости в ожидаемых границах.
- В runbook перечислены публичные страницы для закупки мощности без обязательного входа в консоль.
FAQ
Должен ли сэмплинг совпадать в Langfuse и OTel? Не обязательно дословно: совпадают корреляция и целочисленные токены, а доли удержания могут различаться по бэкендам.
Как часто задавать окна батч-оценки? Как минимум еженедельно для моделей в проде; ночной дым — при смене инструментов или схем.
Заменяет ли удалённый Mac облачный стейдж? Дополняет: изолирует поведение Apple Silicon для экспортёров и модельных серверов, которые вы планируете держать на Mac-железе.
Публичные страницы: сравнение SKU на странице покупки, тарифные планы на тарифах и операционные детали в центре помощи — без входа. Индекс материалов — в техническом блоге.