Skip to main content

Token va xarajatlarni kamaytirish

Token tejash

AI-agentlar bilan ishlashda eng kutilmagan summa — kontekst tokenlari. Bitta savol yuborganda model 200K tokenni o'qisa — har so'rovga 0.5–1 USD yondi. 100 ta avtomatik so'rov — 50–100 USD kuniga. Yiliga — minglab. Lekin bir nechta texnikalar bilan bu summa 5–10 baravar tushadi, sifatni yo'qotmasdan.

Ushbu qo'llanmada amaliy optimallashtirish usullari.

Tokenlar qaerga ketadi?

Tipik xarajat strukturasi:

  • Kontekst (60–80%): tizim promti, suhbat tarixi, qo'shilgan hujjatlar. Eng katta qism.
  • Chiqish (10–20%): modelning javobi. Bu narx 3–5 baravar yuqori, ammo hajmi kichik.
  • Takror so'rovlar (5–15%): bir xil savol bir nechta marta yuborilganda.

Optimallashtirish — bu uch qatlamga ta'sir qilish.

Texnika 1: Prompt caching

Eng kuchli usul. Anthropic va OpenAI ikkalasida ham mavjud, ammo turlicha ishlaydi.

Anthropic Claude

Statik kontekstni keshlash — yoziladi bir marta, o'qiladi keyingi 5 daqiqada (yoki 1 soatda — cache_control parametriga qarab).

from anthropic import Anthropic

client = Anthropic()

response = client.messages.create(
model="claude-sonnet-4-6-20251022",
max_tokens=1024,
system=[
{
"type": "text",
"text": LONG_SYSTEM_PROMPT, # 10K+ tokens
"cache_control": {"type": "ephemeral"}
}
],
messages=[{"role": "user", "content": user_query}],
)
  • Cache hit narxi: 10% (90% chegirma)
  • Cache write narxi: 125% (birinchi marta yozish biroz qimmatroq)
  • TTL: 5 daqiqa standart, yoki 1 soat (boshqa narxda)

Qachon ishlatish: stabil kontekst (qoidalar, hujjatlar, kod fayllari). Bir suhbatda 5–50 so'rov bo'lsa — keshning foydasi yorqin.

OpenAI

OpenAI keshini avtomatik qiladi (1024+ token bo'lsa). Foydalanuvchining hech narsa qilishi shart emas, ammo nazorat ham yo'q.

Cache hit qanday ko'paytiriladi?

  • Stabil qism boshida: tizim promti, qo'llanma, kontekst — birinchi. O'zgaruvchan qism (joriy savol) — oxirda.
  • Strukturani saqlang: agar har so'rovda kontekst tartibini o'zgartirsangiz — kesh tushadi.
  • Cache TTL ni eslab tutmaslik: 5 daqiqada-bir cache wash bo'ladi. Bot batch bilan ishlasa — ketma-ket so'rovlar bitta keshga tushadi.

Texnika 2: Kontekstni qisqartirish

Har bir tokendan foyda chiqarish:

  • Faqat zarur narsani: 50 sahifalik PDF emas, faqat 2–3 mos parchasini. RAG yordamida.
  • Eski xabarlarni qisqartirish: suhbat 20+ xabardan o'tsa — eski yarmiga "qisqacha xulosa" promt-i bilan kichik LLM (Haiku, Gemini Flash) orqali siqib qo'ying.
  • Filler so'zlarni olib tashlash: "iltimos", "rahmat", "agar mumkin bo'lsa" — modellarga nima farq qiladi? Ishonchli kompaniyada — 10% tejash.
  • Kontekstdan keraksiz hujjatlarni o'chirish: agent har sessiyada package.json ni o'qish shart emas, agar topshiriq frontend bilan bog'liq bo'lmasa.

Texnika 3: Model tanlovi (model routing)

Hamma vazifa Opus / GPT-5 ga arziydi. Ko'pi Haiku / Gemini Flash bilan hal bo'ladi.

VazifaMos modelNarx (1M token)
Kreativ yozish, arxitekturaOpus 4.7 / GPT-5$15+ in / $75+ out
Asosiy kod yozish, mulohazaSonnet 4.6$3 / $15
Klassifikatsiya, parsingHaiku 4.5 / Gemini Flash$0.50 / $2.50
Embeddingtext-embedding-3-small$0.02
OCR, oddiy ekstratsiyagpt-4o-mini$0.15 / $0.60

Router pattern: birinchi qadam — kichik model "savol qaysi kategoriya?" deb tasniflaydi. Kategoriya bo'yicha — to'g'ri model chaqiriladi.

Router'ning o'zi 0.001 USD bo'ladi, ammo 70% so'rovlar arzon Haiku ga ketadi — umumiy narx 3–5 baravar tushadi.

Texnika 4: Batch API

Anthropic va OpenAI Batch API taklif qiladi: nodir vaqt javob (12–24 soat) — narx 50% past.

Qachon foydali:

  • Tunda 10000 sahifani tahlil qilish
  • Vaqt sezgir bo'lmagan kontent generatsiyasi
  • Hisobot tayyorlash, har oygi ishlar

Qachon foydali emas:

  • Foydalanuvchi javobni hozir kutadi
  • Real-time chatbot

Texnika 5: Strukturalashgan chiqish (Structured Output)

JSON formatda javob talab qilish — model bir nechta gapni emas, faqat kerakli maydonlarni qaytaradi.

response = client.messages.create(
model="claude-haiku-4-5",
tools=[{
"name": "extract_info",
"description": "Hujjatdan kerakli ma'lumotni ajratib oling",
"input_schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"amount": {"type": "number"},
"category": {"type": "string", "enum": ["A", "B", "C"]}
}
}
}],
tool_choice={"type": "tool", "name": "extract_info"},
messages=[{"role": "user", "content": invoice_text}]
)

Output tokenlar — 5 baravar kam, parse qilish — kerak emas.

Texnika 6: Streaming va early-stop

Agar javob uzun bo'lsa va siz birinchi qatorlarda kerakli javobni topganingizda — stream ulanishni uzing. Faqat o'qilgan tokenlar uchun to'lash.

with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=2000,
messages=[...]
) as stream:
for text in stream.text_stream:
if "FINAL_ANSWER" in text:
stream.close()
break

Texnika 7: Memo va keshlangan funksiya chaqiriqlari

Klassik Python functools.lru_cache ni LLM-chaqiriqlari uchun ham qo'llash mumkin:

from functools import lru_cache
import hashlib

@lru_cache(maxsize=1000)
def classify_intent(text: str) -> str:
# bir xil text-ga bir xil javob — ikkinchi marta API ga bormaymiz
return llm.classify(text)

Yoki Redis bilan — sessiyalar orasida ham saqlanadi.

Tahlil va kuzatuv

Optimallashtirishni ko'r-ko'rona qilish — kuchsiz. Avval o'lchang:

  • OpenRouter / Helicone / LangSmith — har bir so'rov uchun token va USD ko'rsatkichlari.
  • Anthropic Console — modellar bo'yicha kunlik sarflar.
  • Top-5 eng qimmat so'rovlar — odatda shu yerdan optimallashtirishni boshlash kerak.

Misol: 80% tejash bir kunda

Real keys: 200 USD/kun Claude API sarfi.

  1. Prompt caching statik tizim promtga: -50% → 100 USD
  2. Router: 60% so'rovlar Sonnet o'rniga Haiku ga: -25% → 75 USD
  3. Kontekst qisqartirish: kichkina chunk-larga bo'lish: -10% → 67 USD
  4. Batch API uchun analitik joblar: -5% → 64 USD
  5. Memo eski intent-classifierlar: -2% → 62 USD

Natija: 200 → 62 USD, 70% tejash. Sifat — sezilarli pasaymaydi (yaxshi konfiguratsiyada).

Anti-paternlar

  • Eng arzon model — har joyga: Haiku TPM tezroq, ammo murakkab mulohazada — yetishmaydi. Kontekst-sezgirligi past. Natijada — qayta urinish va davriy katta narxlar.
  • Cache tashkil etmaslik: keshsiz har so'rov to'liq narxda. 5 daqiqali TTL'da hatto 2-soniyalik suhbatda foyda bor.
  • Output tokenlarni qisqartirmaslik: javob 5000 tokenli markdown — ko'pincha 200 tokenli JSON bilan bir xil foyda beradi.
  • Real-time o'rniga batch ishlatmaslik: tungi vazifani kunduzi haqiqiy vaqtda ishlatish — pul tushiradi.

Keyingi qadamlar