
Моніторинг витрат LLM: стежте за бюджетом до стрибка (2026)
Моніторинг витрат LLM — це різниця між рахунком-сюрпризом на $412 і Slack-пінгом на 80% бюджету. Claude Sonnet 5 цього місяця тарифікується за $3,00 на мільйон вхідних токенів, і один неконтрольований цикл агента може спалити цю суму за один день. Більшість команд налаштовують відстеження за день; тривога саме та частина, яку вони пропускають.
Ключові висновки:
- Моніторинг витрат LLM додає до кожного запиту кількість токенів і оцінку вартості, а потім агрегує дані за моделлю та командою.
- Відстежуйте п'ять метрик: токени на запит, витрати на функцію/команду/модель, коефіцієнт потрапляння в кеш, вартість розмови, частота стрибків.
- Бюджети LiteLLM, траси Langfuse або Datadog LLM Observability: кожен варіант дає видимість витрат менш ніж за день.
- Дашборди показують оцінки; ціни на кешовані вхідні токени та пакетні знижки означають, що рахунок зазвичай виявляється нижчим.
Що насправді відстежує моніторинг витрат LLM?
Моніторинг витрат LLM означає додавання кількості токенів і оцінки вартості до кожного LLM-запиту з подальшою агрегацією цих оцінок за моделлю, функцією та командою, щоб витрати могли викликати тривогу ще до надходження рахунка. Оцінка обчислюється для кожного запиту на основі опублікованих цін на токени, сумується за тегами, які ви призначаєте виклику, і порівнюється з бюджетом, встановленим заздалегідь.
Математика під цим не залежить від вендора. Відповідь про використання кожного провайдера розбиває токени на поля, і документація Datadog щодо вартості явно описує ці зв'язки. Семантичні конвенції OpenTelemetry GenAI стандартизують ті самі поля для різних вендорів, тож дашборд, побудований на них, не прив'язаний до одного провайдера.
| Поле | Що рахує | Тарифікується як |
|---|---|---|
| input_tokens | Усе, що ви надсилаєте: системний промпт, історія, отриманий контекст, запитання | Базова ціна вхідних токенів |
| output_tokens | Усе, що генерує модель | Базова ціна вихідних токенів (у 3-6 разів вища за вхідні) |
| cache_read_tokens | Вхідні дані, повторно використані з попереднього кешу | 0,1x-0,25x базової ціни вхідних |
| cache_write_tokens | Вхідні дані, вперше записані в кеш | ~1,25x базової ціни вхідних (5-хвилинний TTL Anthropic) |
| reasoning_tokens | Внутрішній ланцюжок міркувань, підмножина вихідних токенів | Ціна вихідних токенів |
Три співвідношення виконують більшість роботи: загальна кількість токенів = вхідні + вихідні; вхідні = не кешовані + cache_read + cache_write; а токени міркувань містяться всередині вихідних, за ціною вихідних. Якщо ці три правильні, оцінка на запит залишається близькою до реальності; якщо їх ігнорувати, дашборд щомісяця розходиться з рахунком. Моніторинг витрат є одним зі стовпів спостережуваності ШІ; трасування та оцінювання ще два стовпи, і всі вони використовують цей самий словник полів.
Ваш дашборд показує оцінку; рахунок — єдина метрика вартості, яка ніколи не кешується.
Скільки коштує 1 мільйон токенів у LLM?
Залежить від моделі та напрямку: 1 мільйон токенів коштує $0,14 як вхідні токени DeepSeek-V4 і $15,00 як вихідні токени GPT-5.6 Terra, різниця в 100 разів на ту саму одиницю. Ось чотири моделі з нашого дослідження цін від 14 липня 2026 року, перевірені за офіційними сторінками:
| Модель | Вхідні / 1 млн токенів | Вихідні / 1 млн токенів | Кешовані вхідні / 1 млн токенів |
|---|---|---|---|
| Claude Sonnet 5 | $3.00 | $15.00 | $0.30 |
| GPT-5.6 Terra | $2.50 | $15.00 | $0.25 |
| Gemini 2.5 Pro | $1.25 | $10.00 | $0.31 |
| DeepSeek-V4 | $0.14 | $0.28 | $0.003 |
Джерела: тарифи OpenAI та тарифи Anthropic. Одна примітка: Claude Sonnet 5 має стартову ціну $2,00 вхідні / $10,00 вихідні до 31 серпня 2026 року, потім повертається до наведених вище цифр.
5 метрик, які насправді мають значення
П'ять метрик покривають відстеження витрат LLM, і більшість команд коли-небудь налаштовують тривоги лише на дві з них. Почніть з перших двох рядків: токени на запит ловлять розростання промпту в день його появи, а витрати на команду саме та цифра, яку зрештою запитує фінансовий відділ. Інші три уточнюють картину, коли ці вже працюють.
| Метрика | Як обчислити | Чому це важливо | Поріг тривоги |
|---|---|---|---|
| Токени на запит | Сума вхідних + вихідних на виклик, групування за функцією | Розростання промптів і набивання контексту проявляються тут першими | +30% до медіани за 7 днів |
| Витрати на функцію / команду / модель | Сума оціночної вартості, групування за тегом або віртуальним ключем | Одиниця, на якій працюють чарджбек і бюджети | 80% місячного бюджету |
| Коефіцієнт потрапляння в кеш | cache_read / загальна кількість вхідних токенів | Низький коефіцієнт означає, що ви платите повну ціну за повторювані промпти | Нижче 50% на стабільному трафіку |
| Вартість розмови / сесії | Сума вартості всіх кроків однієї сесії | Викриває неконтрольованих багатоходових агентів, яких не бачить по-запитний огляд | 2x від 90-го перцентиля сесій |
| Частота стрибків / аномалій | Зміна загальних витрат день до дня | Єдина метрика, яка ловить зламаний цикл до надходження рахунка | +50% день до дня |
Одна примітка про деталізацію: Datadog зберігає вартість на рівні запиту в нанодоларах (мільярдних частках долара) відповідно до своєї документації щодо вартості. За ціни $0,14 на мільйон токенів один запит до DeepSeek-V4 може коштувати менш ніж тисячну частку цента, тож агрегуйте до округлення, інакше трафік малих моделей зникне зі звіту.
Якщо ви не відстежуєте нічого іншого, відстежуйте рядки один і два. Токени на запит — найраніше попередження, яке ви отримаєте; витрати на команду саме та метрика, яка переживає зустріч з бухгалтерією.
Три способи налаштувати моніторинг витрат LLM
Жодна зі сторінок у топі видачі за цим запитом не містить жодного робочого рядка коду, тож ось три робочі схеми. Кожна запускається менш ніж за день, і вони поєднуються: ми використовуємо перші дві разом.
Що ми насправді використовуємо в продакшні: у нашій схемі кожен клієнтський агент звертається до проксі LiteLLM через власний віртуальний ключ, з місячним бюджетом на кожному ключі та трасуванням Langfuse кожного запиту за проксі. Коли ми розгорнули обидва разом, розподіл праці був головним: проксі забезпечує ліміти, а траси пояснюють, що їх спожило. Кожен наш клієнтський ключ також має tpm_limit 100 000 токенів на хвилину як другий запобіжник; згідно з документацією LiteLLM, проксі відхиляє запити після досягнення ліміту, і ми покладаємося саме на цю задокументовану поведінку, а не на бенчмарк, який ми виміряли самостійно. Наша конфігурація повністю пропускає LiteLLM 1.82.7 і 1.82.8, дві версії, що потрапили в інцидент ланцюга постачання у березні 2026 року, і фіксує тег образу замість плавання на latest.
Проксі LiteLLM: віртуальні ключі + бюджети
Techsy використовує схему проксі LiteLLM у продакшні з одним віртуальним ключем на клієнта та місячним бюджетом на кожному ключі. Наведений нижче запит відповідає задокументованій формі з документації virtual_keys LiteLLM: згідно з цією документацією, щойно сукупні витрати за цим ключем перевищать $50 на місяць, проксі відхиляє подальші запити з помилкою перевищення бюджету, а не записує попередження постфактум.
curl -X POST http://localhost:4000/key/generate \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"key_alias": "client-acme-search",
"max_budget": 50.0,
"budget_duration": "monthly",
"tpm_limit": 100000,
"models": ["anthropic/claude-sonnet-4-5"]
}'Порахуйте за опублікованими цінами: за $3,00 / $15,00 на мільйон токенів для Claude Sonnet 5, $50 купують приблизно 16,7 млн вхідних токенів або 3,3 млн вихідних токенів, приблизно тиждень трафіку для одного з наших легших клієнтських агентів. Це саме той радіус ураження, який нам потрібен. tpm_limit слугує другим запобіжником: неконтрольований цикл спрацює на 100 тисячах токенів за хвилину значно раніше, ніж на місячному бюджеті. Персональна атрибуція працює так само через ендпоінт users, а наш огляд найкращих інструментів LLM-шлюзу пояснює, коли проксі варте свого місця, а коли це просто ще один стрибок.
Langfuse: трасування вартості з @observe
Автозаповнення Google поєднує "langfuse monitoring" із цим запитом, і не дарма: Langfuse став стандартом трасування з відкритим кодом. Його Python SDK обгортає ваш клієнт провайдера, тож кожен виклик стає трасом із кількістю токенів і обчисленою вартістю, згідно з документацією трасування Langfuse:
# pip install langfuse openai
from langfuse import observe
from langfuse.openai import openai # drop-in wrapper, auto-traces
@observe()
def answer(question: str):
return openai.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": question}],
)
answer("what is llm cost monitoring")
# the trace now carries usage.total_tokens and total_cost,
# priced from Langfuse's model price cardsВартість потрапляє в трас без жодної токенної математики з вашого боку; групуйте траси за ідентифікатором сесії або користувача для зведень по функціях і розгортайте на власному сервері, якщо дані не можуть покинути вашу мережу.
Datadog LLM Observability: якщо ви вже там
Якщо ваша команда вже використовує агенти Datadog, їхня документація щодо вартості LLM залишається найглибшим єдиним джерелом на цій сторінці: вартість на рівні запиту в нанодоларах, власні cost_tags для розбивки за командою та функцією і справжній розділ усунення несправностей для прогалин часткової вартості. Чесне обмеження: тільки Datadog. Метрики не покидають платформу, і немає запасного варіанту з відкритим кодом, якщо ціни перестануть підходити. Обирайте це для консолідації, а не для гнучкості.
Як налаштувати бюджети, тривоги та чарджбек?
Ви налаштовуєте це у три шари: ліміт бюджету, який відхиляє запити на межі, вебхук-тривога, яка спрацьовує на відсотковому порозі до ліміту, та віртуальні ключі для кожної команди, які перетворюють шоубек і чарджбек на запит, а не на суперечку. LiteLLM постачає всі три з коробки; ці шаблони переносяться на будь-який шлюз із бюджетами на рівні ключів.
Бюджет, який лише рахує, залишається звітом; бюджет, який відхиляє запити на ліміті, стає засобом контролю.
Тривоги, які спрацьовують до стрибка
Встановіть тривогу на 80% ліміту, а не на 100%. LiteLLM має вбудовані Slack-сповіщення: встановіть alerting: ["slack"] та alerting_threshold: 80 у general_settings, вкажіть змінну середовища SLACK_WEBHOOK_URL на канал, і коли ключ перетне поріг, надійде таке повідомлення:
{
"text": "LLM budget alert: client-acme-search spent $40.18 of its $50.00 monthly cap (80.4%). Top model: anthropic/claude-sonnet-4-5."
}На 80% у людини ще є дні на дії: понизити модель, скоротити промпт або підняти ліміт із підписом на погодженні. Тривога на 100% — це розтин.
Від шоубеку до чарджбеку
Шоубек означає, що кожна команда бачить власні витрати; чарджбек означає, що вони вираховуються з її бюджету. Обидва працюють на одному інгредієнті: віртуальний ключ на команду, позначений тегом під час створення. Місячний звіт тоді зводиться до group-by по таблиці витрат:
| Команда | Місячний бюджет | Витрати на дату | Статус |
|---|---|---|---|
| search | $50 | $40.18 | тривога спрацювала на 80% |
| support-chat | $200 | $112.40 | у межах плану |
| evals-batch | $30 | $29.97 | ліміт досягнуто, відхиляє |
| sandbox | $10 | $1.06 | у межах плану |
Приклад формату, а не клієнтські дані. Рядок evals-batch — це схема, яка працює як задумано: пакетна робота дійшла до ліміту й зупинилася, замість того щоб тихо спливати в рахунок. Поведінка забезпечення описана в документації virtual_keys LiteLLM, включно з тим, як скидається тривалість бюджету.
Чому ваш дашборд розходиться з рахунком?
Тому що дашборди рахують за прайсовою ціною, тоді як рахунки застосовують знижки, яких ваш моніторинг ніколи не бачить. Кешовані вхідні токени коштують 0,1x-0,25x базової ціни, пакетні запуски коштують половину, а токени міркувань тарифікуються за ціною вихідних всередині лічильника вихідних. Коли дві цифри розходяться, рахунок зазвичай нижчий, і розрив майже завжди спричинений одним із чотирьох модифікаторів.
| Модифікатор ціни | Типовий множник | Вплив на вашу оцінку |
|---|---|---|
| Кешовані вхідні (читання кешу) | 0,1x-0,25x базової ціни вхідних | Дашборд завищує, якщо рахує потрапляння в кеш за повною ціною |
| Batch API | 0,5x на вхідні та вихідні | Асинхронні задачі коштують половину від відстежуваної цифри |
| Токени міркувань | 1x ціна вихідних, рахуються всередині вихідних | Довгі ланцюжки міркувань тихо спалюють бюджет вихідних токенів |
| Запис у кеш | ~1,25x базової ціни вхідних | Перший запит у вікні кешу коштує трохи більше |
Відкритий каталог pydantic/genai-prices показує, чому ці множники відрізняються для кожної моделі: кожен провайдер встановлює власні коефіцієнти кешу та пакетної обробки, тож єдина захардкоджена таблиця цін розходиться з реальністю в день, коли провайдер переглядає тарифи. Документація Datadog щодо вартості описує іншу половину проблеми: прогалини часткової вартості, коли відсутнє поле токенів повертає COST UNAVAILABLE для запиту. Дивіться туди, коли дашборд показує менше за рахунок; дивіться в таблицю знижок, коли показує більше. Механізм найбільшого множника — кешування промптів LLM, і високий коефіцієнт потрапляння в кеш — найпоширеніша причина, чому відстежувана оцінка перевищує реальний рахунок.
Оцінка вартості без знижок за кеш і пакетну обробку є стелею, а не прогнозом.
Які інструменти насправді відстежують витрати LLM?
Шість інструментів покривають більшість продакшн-схем: Langfuse, LiteLLM, Helicone та Portkey на боці відкритого коду та шлюзів, Datadog і Braintrust на комерційному боці. Чесний поділ: забезпечення проти спостережуваності. Проксі може відхиляти запити за бюджетом, тоді як інструмент трасування вимірює витрати постфактум. Більшість зрілих стеків у підсумку мають по одному з кожної категорії.
| Інструмент | Тип | Підхід до відстеження вартості | Безплатний тариф | Обирайте, якщо... |
|---|---|---|---|---|
| Langfuse | Відкритий код | Вартість на трас із карток цін моделей, власний хостинг | Безплатно на власному сервері; безплатний хобі-тариф у хмарі | Вам потрібен відкритий код і дані під вашим контролем |
| LiteLLM | Проксі з відкритим кодом | Бюджети ключів і команд, що забезпечуються на шлюзі | Безплатно (OSS); платний ентерпрайз | Вам потрібні бюджети, які відхиляють запити, а не лише рахують |
| Helicone | Шлюз з відкритим кодом | Логи вартості на рівні проксі за ключем і моделлю | Безплатний тариф з обмеженнями частоти | Вам потрібна заміна проксі в один рядок без змін SDK |
| Portkey | Комерційний шлюз | Бюджети віртуальних ключів плюс аналітика вартості | Безплатний тариф для розробників | Вам потрібні шлюз, промпти та оцінювання в одній панелі |
| Datadog LLM Observability | Комерційний | Метрики запиту в нанодоларах плюс cost_tags | 14-денний пробний період | Ви вже використовуєте Datadog для всього іншого |
| Braintrust | Комерційний | Витрати, прив'язані до оцінювань, на проєкт | Безплатний тариф | Ваша робота з витратами починається з оцінювань, а не з рахунків |
Одне застереження щодо контенту вендорів у цій сфері: власне порівняння інструментів відстеження вартості від Braintrust 2026 року ставить себе на перше місце та оминає кожен варіант із відкритим кодом у наведеній вище таблиці. Читайте вендорські добірки заради даних, а не заради рейтингів.
Для команди, яка починає з нуля, ми б використовували LiteLLM спереду та Langfuse позаду: проксі забезпечує бюджети, траси пояснюють їх, і це поєднання нічого не коштує, доки ви не перейдете на хостингові плани. Якщо ви зважуєте два стандарти трасування, наш розбір Langfuse проти Langsmith глибоко аналізує цей вибір, а огляд найкращих платформ спостережуваності ШІ покриває всю сферу.
Від моніторингу до скорочення витрат
Моніторинг показує, куди йдуть гроші; наступний крок — вирішити, скільки туди йде. Три важелі за порядком віддачі: кешуйте повторювані вхідні дані, маршрутизуйте прості запити до дешевших моделей і зменшуйте модель там, де якість ще тримається. Наш гід зі скорочення витрат на LLM API покриває кожен важіль, а порівняння цін LLM API — вхідні дані для всієї математики вище.
Наша позиція: коли клієнта дивують витрати на LLM, ми спершу моніторимо, а потім скорочуємо, ніколи навпаки. Команди, які кешують до вимірювання, зазвичай у підсумку кешують не ті промпти. Моніторинг каже, куди йдуть гроші; кешування та маршрутизація вирішують, скільки туди йде. Якщо ваш рахунок уже кусається, отримайте безплатну консультацію, і ми розберемо цифри разом з вами.
Про автора
Mert Batur — співзасновник Techsy.io, де команда запускає ШІ-агентів, системи автоматизації та голосові/SDR-конвеєри для B2B-клієнтів. Він пише про стек LLM-інструментів, який команда Techsy насправді використовує в продакшні. Підключайтеся в LinkedIn.
Часті запитання
Скільки коштує 1 мільйон токенів у LLM?
За прайсовою ціною, від $0,14 до $15 за мільйон залежно від моделі та напрямку: вхідні токени DeepSeek-V4 коштують $0,14 за мільйон, тоді як вихідні токени GPT-5.6 Terra коштують $15. Вихідні токени коштують у 3-6 разів дорожче за вхідні у кожного великого провайдера. Таблиця в першому розділі має чотири моделі, а наше порівняння цін LLM API оцінює всі сімнадцять, перевірені за сторінками OpenAI та Anthropic у липні 2026 року.
Що таке оптимізація витрат LLM?
Практика зниження вартості запиту без втрати якості: кешування промптів для повторюваних вхідних даних, маршрутизація простих задач до дешевших моделей, пакетні API для асинхронної роботи та точний підбір моделі під функцію. Моніторинг витрат LLM — передумова, адже ви не можете оптимізувати те, чому не приписали вартість. Коефіцієнт потрапляння в кеш і витрати на функцію — дві метрики, які першими вказують на найбільші важелі.
Чому LLM такі дорогі?
Інференс обмежений обчисленнями: кожен згенерований токен виконує повний прямий прохід моделі на GPU, а моделі міркування витрачають додаткові токени на обдумування перед відповіддю, які тарифікуються за ціною вихідних. Довгі системні промпти примножують цю вартість на кожен запит. Рахунок зростає з багатослівністю обох боків виклику, тому токени на запит — перша метрика, за якою варто стежити.
Скільки коштує LLM у США?
Ціни API деноміновані в доларах США та глобальні: OpenAI, Anthropic і Google стягують однакову прайсову ціну за мільйон токенів, незалежно від того, надходить запит з Огайо чи Осаки. Регіональні відмінності проявляються у власному розгортанні, де години GPU відрізняються за хмарними регіонами, та в хостингових платформах, які додають націнку. Для роботи з API локація змінює затримку, а не ціну.
Як відстежувати витрати LLM по командах?
Випустіть один віртуальний ключ на команду через проксі на кшталт LiteLLM, позначте кожен ключ тегом з назвою команди під час створення та агрегуйте витрати за цим тегом. Тоді кожен запит несе атрибуцію з моменту створення, без парсингу логів. Таблиця шоубеку в розділі про бюджети вище — кінцевий результат: команда, місячний бюджет, витрати на дату, статус.
Langfuse чи Datadog для відстеження витрат LLM: що обрати?
Обирайте Langfuse, якщо вам потрібні відкритий код, власне розгортання та дані під вашим контролем; його безплатно розгорнути, і він трасує вартість на запит з коробки. Обирайте Datadog, лише якщо ваша команда вже використовує його для інфраструктури, оскільки його функції вартості LLM не виходять за межі платформи. Для більшості команд, які починають з нуля, Langfuse плюс проксі LiteLLM перевершує будь-який варіант окремо.
Чи збігаються оціночні витрати LLM з реальним рахунком?
Ні, і зазвичай рахунок нижчий. Дашборди рахують за прайсовою ціною, тоді як кешовані вхідні токени коштують 0,1x-0,25x, а пакетні задачі — 0,5x, тож навантаження з високим кешуванням бачить реальний рахунок значно нижчим за відстежувану оцінку. Відсутні поля токенів штовхають похибку в інший бік. Таблиця розходжень вище перелічує кожен множник і куди дивитися.
Як налаштувати тривоги на стрибки витрат LLM?
Встановіть порогову тривогу на 80% місячного бюджету кожної команди, з доставкою у Slack через вебхук, плюс аномальну тривогу день до дня на +50% для циклів, які спалюють швидко. LiteLLM постачає пороговий шаблон з коробки через налаштування alerting_threshold. Тривога на 80% дає дні на реакцію; тривога на 100% лише підтверджує, що ліміт виконав свою роботу.
Чи є безплатний трекер витрат LLM?
Так, є три гідні варіанти. Langfuse на власному сервері безплатний і з відкритим кодом, з безплатним хобі-тарифом у хмарі згідно зі сторінкою цін Langfuse. Вбудовані бюджети ключів LiteLLM нічого не коштують на проксі з відкритим кодом. Безплатний тариф Helicone покриває логи вартості на рівні проксі з обмеженнями частоти. Безплатні тарифи покривають моніторинг; забезпечення та сповіщення в масштабі — там, де починаються платні плани.
Висновок
Оберіть шлях налаштування сьогодні, бо тривога, яка знадобиться через шість тижнів, зараз налаштовується за один день. Коротка версія:
- Спершу відстежуйте токени на запит і витрати на команду; додайте інші три метрики, коли ці запрацюють.
- Бюджет, який відхиляє запити, — засіб контролю; той, що лише рахує, — звіт.
- Встановіть тривогу на 80%, у Slack, до того як рахунок зможе когось здивувати.
- Ваш дашборд показує оцінку; ціни на кешовані вхідні токени та пакетну обробку означають, що рахунок зазвичай виявляється нижчим.
Якщо ви хочете, щоб хтось розібрав ваші цифри разом з вами, отримайте безплатну консультацію.