Спочатку висновок: рахунок зростає — у восьми випадках із десяти це не через зростання обсягу. Я вів проєкт інтелектуальної служби підтримки: у першій половині минулого року місячний рахунок стабільно тримався близько 8000 юанів, а в четвертому кварталі стрибнув до 23000 юанів, тоді як обсяг викликів за той самий період зріс лише на 40%. Куди поділися зайві гроші? Я вивантажив логи викликів за три місяці й агрегував їх за чотирма вимірами: тип завдання, довжина входу, довжина виходу, кількість повторів. Картина була ясна: чотири приховані діри у витратах одночасно спускали кров.
Спершу дам визначення, щоб далі не було розбіжностей. Структура витрат на API великих моделей за своєю суттю — це сума трьох частин: «вхідні token + вихідні token + недійсні token, породжені невдалими повторами». Оплата за обсяг — це лише спосіб тарифікації, він не зобов'язаний допомагати вам заощаджувати. Рахунок насправді визначають стратегія маршрутизації на шлюзі моделей і стратегія керування контекстом.
Діра перша: флагманська модель виконує чорнову роботу
Це найдорожча стаття. У тій системі підтримки було три типи завдань — класифікація заявок, розмітка емоцій, розпізнавання намірів — приблизно 120 тисяч викликів на день. Тоді, щоб не морочитися, усе пустили через одну й ту саму флагманську модель. Але яка складність цих трьох типів завдань? Дайте мені двісті слів повідомлення користувача й визначте, це «питання про доставку» чи «повернення коштів після продажу» — таку роботу мала модель виконує навіть стабільніше за велику, бо простір міток тут зовсім невеликий.
Я повторно прогнав оцінювання за завданнями: для класифікації замінив модель на середньорозмірну — точність упала з 96,2% до 95,7%, різниця 0,5 відсоткового пункту, а ціна за одиницю відрізняється на порядок. Лише ця стаття здатна зрізати чотири десятих рахунку.
Діра друга: повна історія контексту щоразу вставляється заново
Підтримка — це багатоходовий діалог, у середньому 7,3 ходу. Розробники, щоб спростити, щоразу вставляли повну історію. На першому ході вхід 800 token, на сьомому вхід стає 4200 token, і кожен хід знову оплачує попередні шість. Ця крива витрат квадратична — щойно обсяг підростає, вона вибухає.
Ще гірше те, що більшість вмісту історії для поточного ходу не має жодної цінності. Користувач на третьому ході сказав «я хочу повернути товар», на сьомому питає «хто платить за доставку» — уся та купа привітань і описів товару є марними token.
Діра третя: роздування через невдалі повтори
Ця найнепомітніша. Коливерхній за течією обмежує частоту або стався таймаут, SDK за замовчуванням повторює тричі. Проблема в тому, що запит на повтор часто знову надсилає той самий довгий контекст у повному обсязі. Я порахував: близько 11% token у рахунку походять із невдалих повторів, і шість десятих цих викликів зрештою все одно завершилися невдачею — чисте спалювання. Якщо в повторах не зроблено відступів і контролю ідемпотентності, один збій може роздути вам потрійні недійсні витрати.
Діра четверта: потоковий вихід без обрізання
Вихідні token зазвичай дорожчі за вхідні. Тоді у відповідях підтримки не було задано max_tokens, і модель іноді «розходилася»: пояснення про повернення, яке можна вкласти в два речення, вона розписувала в абзац покрокової інструкції з нумерацією. У розподілі довжини виходу P99 був більш ніж у шість разів більший за P50. Ці зайві слова користувачі взагалі не читають, а гроші сплачуються.
П'ять дій для зупинки кровотечі
Перше — маршрутизація моделей за рівнями. Я поділив на три рівні за завданнями: проста класифікація йде на малу модель, стандартні запитання-відповіді — на середній рівень, і лише складні скарги та врегулювання спорів віддаються флагманській моделі. Цей шар я налаштував на платформі агрегації API великих моделей token8341: за типом завдання ставиться тег і відбувається автоматичне розподілення, бізнес-код міняти не потрібно, лише додати правила на боці шлюзу. Після перемикання за перший тиждень витрати на частину класифікації впали одразу на один щабель.
Друге — ковзне вікно контексту плюс резюме. Зберігаємо оригінал останніх трьох ходів, раніші репліки стискаємо в резюме до ста слів. На практиці середня довжина входу впала з 3200 token до 1400 token, а зв'язність контексту підтримки не постраждала.
Третє — ідемпотентні повтори. Кожен запит отримує унікальний ID, шлюз розпізнає повторні запити й одразу повертає збережений результат, а повтор надсилає лише фрагмент, що не вдався, а не весь контекст. Це зменшило недійсні token від повторів з 11% до менш ніж 3%.
Четверте — обмеження довжини виходу. Задаємо верхню межу max_tokens за типом завдання; для фіксованих сценаріїв на кшталт пояснень про повернення даємо шаблон, а модель лише заповнює змінні. Вихідні token впали приблизно на три десятих.
П'яте — вибирати модель за завданням, а не за звичкою. Це звучить як банальність, але багато команд просто лінуються — одна модель на все. Пізніше ми на платформі агрегації API великих моделей token8341 порівнювали вітчизняні й зарубіжні моделі в межах одного набору інтерфейсів: на тому самому корпусі даних підтримки DeepSeek і Qwen у сценаріях китайськомовного обслуговування показали цілком достатній рівень, а ціна краще підходить для масових обсягів. Перевага єдиного підключення багатьох моделей саме в цьому: зміна моделі не вимагає зміни SDK — достатньо змінити один рядок base_url.
Передумова оплати за обсяг — правильна маршрутизація
Фраза «оплата за обсяг — вигідніша за витратами» сама по собі правильна, але має передумову: ваша стратегія маршрутизації має бути правильною. Оплата за обсяг лише гарантує, що ви не платите за простоюючі обчислювальні потужності; вона не гарантує, що ви не платите за неправильний вибір моделі. Рахунок повернувся з 23000 юанів до трохи більше 9000, а обсяг навіть зріс — і не завдяки переходу на дешевшу платформу, а завдяки тому, що ми правильно зробили дві речі: маршрутизацію й контекст.
Якщо ви зараз теж дивитеся на незрозумілий рахунок, радимо спершу розібрати логи викликів за типом завдання та довжиною входу й виходу — діри зазвичай не там, де ви думаєте. У таких сценаріях оптимізації витрат платформа агрегації API великих моделей token8341 може допомогти головно на рівні шлюзу моделей: багаторівнева маршрутизація, обмеження частоти як запобіжник, єдине підключення багатьох моделей — для бізнес-сторони це майже непомітно.
Автор: Лі Юньлун
Дата публікації: 24 жовтня 2026 року