Token economy: LLM-инфраструктура за полтора доллара в неделюToken economy: an LLM infrastructure for a dollar and a half a week
Сергей Пак · проектирует AI-операционные системы
Сейчас моя система делает около 5 400 обращений к LLM в неделю и платит за них примерно полтора доллара. Месяц назад было 855 вызовов и полдоллара: объём вырос, и больше сложных задач ушло на платные модели, а повторяющееся осталось на локальной и бесплатной. Ни скидок, ни грантов. Правила, которые держат счёт маленьким, всё те же, я соблюдаю их без исключений.
Локальная модель по умолчанию
81% вызовов берёт на себя 9B-модель прямо на моём Mac. Она бесплатная, отвечает быстро, и данные с машины не уходят. Облако получает задачу только после того, как замер показал: маленькая модель тут не вывозит.
Вот как выглядит такой замер. Месяц я гонял облачную и локальную модели бок о бок на оценке качества текстов. Локальная всем подряд ставила 75 из 100 – одну и ту же цифру, с нулевым разбросом. Облачная же раскладывала тексты от 32 до 62 баллов. Миграцию я отменил, оценку качества оставил в облаке. А триаж, классификацию и выжимки давно отдал локальной: там разницы в качестве не нашлось.
Три правила
- Один шлюз на все вызовы. Каждое обращение к LLM идёт через единственный модуль. Он считает стоимость, подбирает модель под тип задачи и кэширует промпты. Прямой вызов API из кода автоматика ловит ещё на коммите.
- Промпты, которые кэшируются. Системный промпт статичный и длиннее порога кэширования, поэтому за повторный вызов я плачу копейки – за уже виденную часть.
- Расходы лежат в базе. Кто потратил, какая модель, сколько токенов. Раз в неделю смотрю срез: что увести на локальную модель, что подорожало и почему. Строчке в дашборде провайдера я бы это не доверил.
Зачем это бизнесу
Сама по себе разница между тремя долларами в неделю и тремястами мало кого греет. Важнее другое: дешёвая инфраструктура может позволить себе думать постоянно – триажить каждое письмо, проверять каждый договор, пересчитывать цифры каждый день, а не раз в квартал перед отчётом. Как только каждый вызов стоит ощутимых денег, экономить начинают на частоте внимания – и система слепнет.
These days my system makes around 5,400 LLM calls a week and pays about a dollar and a half for them. A month ago it was 855 calls and 50 cents: the volume grew, and more of the hard tasks went to paid models, while the repetitive work stayed on the local, free one. No discounts, no credits. The rules that keep the bill small are the same, and I keep them with no exceptions.
Local model by default
A 9B model on my Mac takes 81% of the calls. It's free, it's fast, and the data never leaves the machine. The cloud gets a task only after a measurement shows the small model can't handle it.
Here's what one of those measurements looked like. For a month I ran a cloud model and the local one side by side on text-quality scoring. The local one gave every text the same 75 out of 100, zero variance. The cloud model spread them from 32 to 62. I cancelled the migration and left quality scoring in the cloud. Triage, classification and summaries, though, went local long ago: no quality gap there.
Three rules
- One gateway for every call. Every LLM request goes through a single module. It tracks the cost, picks a model for the task, and caches prompts. A direct API call from the code gets caught at commit time.
- Prompts that cache. The system prompt is static and longer than the caching threshold, so a repeat call pays pennies for the part the model has already seen.
- Costs live in a database. Who spent it, which model, how many tokens. Once a week I read the slice: what to move local, what got pricier and why. I wouldn't trust a line in a provider's dashboard with this.
Why a business should care
The gap between three dollars a week and three hundred isn't the real point. This is: cheap infrastructure can afford to think all the time – triaging every email, checking every contract, recalculating the numbers daily instead of once a quarter before the report. The moment each call costs real money, you start saving on how often the system pays attention, and it goes blind.