Tarkibga o'tish

01 β€” LLM nima va qanday ishlaydi

🏠 README Β· Keyingi: 02 β€” O'rnatish va birinchi chaqiruv ➑️


Bu bobda: LLM (katta til modeli) aslida nima ekanini β€” "sehrli quti" emas, balki ehtimollik bilan keyingi tokenni bashorat qiluvchi ulkan neyron tarmoq ekanini tushunamiz. Token nima (matn bo'laklari), nega ular muhim (narx va limitlar tokenga bog'liq), va "salom dunyo" qanday tokenlarga bo'linishini ko'ramiz. Kontekst oynasi β€” modelning bir vaqtda "ko'ra oladigan" maksimal token miqdori (Claude Opus 4.8 da 1M) β€” qisqa muddatli xotira yoki "ish stoli" analogiyasi bilan ochiladi. Ehtimollik va "temperatura" g'oyasini halol tushuntiramiz (zamonaviy Opus 4.8 da temperatura parametri olib tashlangan). Prompt β†’ completion oqimi shunchaki HTTP API chaqiruvi ekanini, va client.messages.create(...) qanday ko'rinishini oldindan ko'rsatamiz. Claude model oilasini (Opus 4.8 standart, Sonnet 4.6, Haiku 4.5, Fable 5) jadval bilan solishtiramiz. Nega aynan JavaScript AI uchun ideal, LLM nimani yaxshi qiladi va nimani qila olmaydi ("gallyutsinatsiya" nima) β€” hammasini ko'ramiz.

Bu kitob siz JavaScript / Node.js asoslarini (async/await, Promise, ESM import, npm, fetch) bilasiz deb hisoblaydi β€” kerak bo'lsa ../js/README.md ga qayting. Lekin AI/LLM siz uchun yangi deb faraz qilamiz, shuning uchun har bir AI atamasini birinchi uchraganida tushuntiramiz. Bu bob asosan tushunchaviy β€” jonli kod kam; birinchi chaqiruvni 02-bobda yozamiz.


1. LLM nima? Sehr yo'q β€” bu ehtimollik

LLM (Large Language Model β€” katta til modeli) β€” bu juda katta matn ustida o'rgatilgan neyron tarmoq. Uning bitta, ajablanarli darajada oddiy vazifasi bor: berilgan matnga qarab, keyingi "token" nima bo'lishini bashorat qilish.

Tasavvur qiling, telefoningiz klaviaturasidagi avtomatik to'ldirish (autocomplete) "men bugun" deb yozsangiz, "ishga" yoki "uyda" deb taklif qiladi. LLM β€” bu o'ta kuchaytirilgan autocomplete: u nafaqat keyingi bitta so'zni, balki butun paragraf, kod yoki maqolani so'z-so'z (aniqrog'i, token-token) yozib chiqadi, har qadamda "endi nima kelishi eng ehtimolli?" degan savolga javob beradi.

Bu yerda muhim haqiqat bor, uni boshdanoq yodda tuting:

Eslatma. LLM "o'ylamaydi" va "bilmaydi" β€” u statistik bashorat qiladi. U internet va kitoblardagi ulkan matndan "qaysi tokenlar ketma-ketligi tabiiy ko'rinadi" degan naqshlarni o'rgangan. Javob to'g'ri chiqsa β€” bu ehtimollik to'g'ri ishlagani uchun, "bilgani" uchun emas. Bu farq keyinroq (gallyutsinatsiya bo'limida) juda muhim bo'ladi.

Demak, "AI bizdan aqlliroq" yoki "AI nima qilayotganini tushunadi" degan qo'rquvni hozircha bir chetga qo'ying. Siz o'rganadigan narsa β€” ehtimollik mashinasini o'z ilovangizga ulash. Bu HTTP API; siz unga matn berasiz, u matn qaytaradi.

Kirish tokenlari modelga boradi, model keyingi tokenlar bo'yicha ehtimollik taqsimotini chiqaradi va eng ehtimollisini tanlaydi

Diagrammaga qarang: model ["Bugun", "ob-havo"] tokenlarini oladi va keyingi token bo'yicha ehtimollik taqsimotini chiqaradi β€” "issiq" (0.60), "yomg'irli" (0.20), "sovuq" (0.12) va minglab boshqa variant. Keyin u bittasini tanlaydi (odatda eng ehtimollisini), uni matnga qo'shadi, va jarayonni keyingi token uchun qaytadan boshlaydi. Mana shu sikl β€” javob tugaguncha takrorlanadi.

2. Token nima va nega muhim?

LLM matnni so'zlar bilan emas, tokenlar bilan o'lchaydi. Token β€” bu matnning kichik bo'lagi: ko'pincha so'z, lekin ba'zan so'zning bir qismi yoki tinish belgisi.

Inglizcha matnda taxminan: 1 token β‰ˆ 4 belgi β‰ˆ 0.75 so'z. Ya'ni 100 token β‰ˆ 75 so'z. O'zbekcha, ruscha yoki boshqa tillarda esa bitta so'z bir nechta tokenga bo'linishi mumkin (chunki modellar asosan inglizcha matnga moslab tuzilgan) β€” shuning uchun bir xil ma'noli matn o'zbekchada inglizchaga qaraganda ko'proq token oladi.

Misol uchun, "salom dunyo" taxminan shunday bo'linishi mumkin (aniq bo'linish modelga bog'liq):

"salom dunyo"  β†’  ["sal", "om", " dun", "yo"]   β‰ˆ 4 token

E'tibor bering: bo'shliq ham token ichiga kiradi, va bitta so'z bir necha bo'lakka ajraladi. Buni hozircha aniq hisoblashga urinmang β€” muhimi, token β‰  so'z, va matn qanchalik uzun bo'lsa, shuncha ko'p token.

Nega bu sizning hamyoningizga muhim?

Ikki sabab, va ikkalasi ham amaliy:

  1. Siz har token uchun pul to'laysiz. Narx kirish tokenlari (siz yuborgan prompt) va chiqish tokenlari (model qaytargan javob) bo'yicha alohida hisoblanadi. Masalan, Opus 4.8 da 1 million kirish tokeni $5, 1 million chiqish tokeni $25 turadi (chiqish qimmatroq, chunki uni model "ishlab chiqaradi").
  2. Limitlar tokenda o'lchanadi. Kontekst oynasi (keyingi bo'lim) ham, tezlik limitlari (rate limit) ham tokenda. Uzun promptlar nafaqat qimmat, balki limitga ham tezroq yetadi.

Maslahat. Yangi boshlovchi sifatida "har bir token pul" degan o'yni o'rganing: keraksiz uzun system promptlar, butun fayllarni "ehtiyot uchun" yuborish, javobni cheksiz uzun qo'yib yuborish β€” bularning hammasi pulingizni yeydi. Boshida arzon model (Haiku) va kichik max_tokens bilan tajriba qiling. Tokenlarni aniq sanashni 14-bobda Claude'ning countTokens chaqiruvi bilan o'rganamiz (tiktoken β€” bu OpenAI uchun, Claude uchun noto'g'ri sanaydi).

3. Kontekst oynasi β€” modelning "ish stoli"

Kontekst oynasi (context window) β€” bu modelning bir chaqiruvda bir vaqtning o'zida "ko'ra oladigan" maksimal token miqdori. Bu chegaraga prompt (kirish) ham, javob (chiqish) ham birgalikda sig'ishi kerak.

Claude Opus 4.8 ning kontekst oynasi β€” 1 000 000 token (1M). Bu juda katta: taxminan 750 000 inglizcha so'z, ya'ni bir nechta yo'g'on kitob. Lekin baribir cheklangan β€” cheksiz emas.

Kontekst oynasi belgilangan o'lchamli quti: prompt va javob unga sig'ishi kerak, oshib ketgani sig'maydi

Eng yaxshi analogiya β€” qisqa muddatli xotira yoki ish stoli:

  • Stolingizga faqat ma'lum miqdordagi qog'oz sig'adi. Yangi qog'oz qo'shsangiz, eskisini olib qo'yishga to'g'ri keladi.
  • Model ham xuddi shunday: oynaga nima sig'sa, o'shani "ko'radi". Suhbat juda uzayib ketsa yoki siz juda katta hujjat yuborsangiz, oyna to'lib qoladi.
  • Oynadan tashqaridagi narsani model umuman ko'rmaydi β€” go'yo u yo'qdek.

Diqqat. API holatsiz (stateless): har bir chaqiruvda siz butun suhbat tarixini qaytadan yuborasiz. Model "oldingi gaplaringizni eslab qoladi" deb o'ylamang β€” u faqat siz hozir yuborgan promptdagi narsani ko'radi. Ko'p bosqichli suhbatni (multi-turn) qanday yuritish β€” 03-bobda. Suhbat oynaga sig'may qolganda nima qilish (qisqartirish, kompaktlash) β€” keyingi boblarda.

4. Ehtimollik va "temperatura" β€” ijodkorlik vs aniqlik (halol nuqta)

1-bo'limda ko'rdik: model keyingi token bo'yicha ehtimollik taqsimotini chiqaradi. Endi savol β€” u qaysi tokenni tanlaydi?

  • Agar model har doim eng ehtimolli tokenni tanlasa β€” javoblar aniq va takrorlanuvchi (deterministik) bo'ladi, lekin biroz "quruq".
  • Agar model ba'zan kamroq ehtimolli tokenni ham tanlasa β€” javoblar ijodkorroq va xilma-xil bo'ladi, lekin ba'zan kutilmaganroq.

An'anaviy LLM'larda bu muvozanatni "temperatura" (temperature) degan parametr boshqargan: past temperatura = aniqroq/takrorlanuvchi, yuqori temperatura = ijodkorroq/tasodifiyroq.

Diqqat. Zamonaviy Claude Opus 4.8 da temperature parametri umuman olib tashlangan (uni yuborsangiz, API xato qaytaradi). Demak, bu kitobda siz temperaturani sozlamaysiz β€” Claude o'zi mos darajada xilma-xillikni boshqaradi, va xulq-atvorni siz prompt orqali (masalan, "qisqa va aniq javob ber" yoki "bir nechta ijodiy variant taklif et") yo'naltirasiz. "Temperatura" g'oyasini bilib qo'yish foydali (boshqa modellar va eski misollarda uchraydi), lekin Opus 4.8 da uni o'rnatmaysiz.

Amaliy xulosa, uni hozir yodda tuting: bir xil promptni ikki marta yuborsangiz, javob bir xil bo'lmasligi mumkin. Bu xato emas β€” bu LLM'ning tabiati. Shuning uchun ilovangizni shunga moslab qurasiz (bu fikrlash tarzini oxirgi bo'limda ko'ramiz).

5. Prompt β†’ completion: bu shunchaki HTTP API

Endi eng tinchlantiruvchi qism: LLM bilan ishlash β€” bu oddiy API chaqiruvi, xuddi siz bilgan boshqa REST API'lar kabi.

  • Prompt β€” siz yuboradigan matn (savol, ko'rsatma, suhbat tarixi).
  • Completion β€” model qaytaradigan, generatsiya qilingan matn (javob).

Siz HTTP so'rovini yuborasiz, javobni olasiz. Sehr yo'q β€” fetch yoki ma'lumotlar bazasi so'rovi qanchalik "sehrli" bo'lsa, bu ham shuncha. Yagona farq β€” javobni model token-token generatsiya qiladi.

JavaScript'da bu rasmiy @anthropic-ai/sdk paketi orqali shunday ko'rinadi (buni hali ishga tushirmaymiz β€” shunchaki oldindan ko'ring):

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic(); // API kalitini muhit o'zgaruvchisidan oladi

const message = await client.messages.create({
  model: "claude-opus-4-8",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Salom! O'zingni tanishtir." }],
});

console.log(message.content[0].text); // model qaytargan javob matni

Mana xolos β€” messages.create(...) chaqiruvi, prompt yuboriladi, javob qaytadi. model β€” qaysi modelni ishlatishimiz; max_tokens β€” javob eng ko'pi bilan necha token bo'lishi; messages β€” suhbat. Buni 02-bobda haqiqiy API kaliti bilan ishga tushiramiz; Messages API'ni 03-bobda chuqur ochamiz.

Eslatma. await ga e'tibor bering β€” API chaqiruvi tarmoq orqali ketadi, shuning uchun u asinxron. Bu kitobdagi deyarli har bir AI chaqiruvi async/await bilan yoziladi. Agar bu siz uchun yangi bo'lsa, ../js/README.md dagi Promise va async bo'limlariga qayting.

6. Model oilasi va bu kitobning tanlovi

Bozorda LLM'lar ko'p (boshqa kompaniyalarning ham modellari bor). Bu kitob butunlay Anthropic'ning Claude modellari atrofida qurilgan, chunki ular kuchli, rasmiy JavaScript SDK'siga ega va xavfsizlik/ishonchlilikka qattiq e'tibor beradi.

Claude bir nechta modeldan iborat oila. Ular bir xil API'ga ega β€” siz faqat model qatorini o'zgartirasiz. Tanlov vazifaning og'irligi, tezlik va narx o'rtasidagi muvozanatga bog'liq:

Claude model oilasi: Fable 5, Opus 4.8, Sonnet 4.6 va Haiku 4.5 ustunlar bilan solishtirilgan

Model Model ID Kontekst Narx (kirish / chiqish, 1M token) Qachon ishlatiladi
Claude Opus 4.8 β˜… standart claude-opus-4-8 1M $5 / $25 Deyarli har qanday ish; aqlli, avtonom agentlar, murakkab kod va tahlil. Bu kitobning standarti.
Claude Fable 5 claude-fable-5 1M $10 / $50 Eng kuchli, eng murakkab vazifalar β€” narx ikkilamchi bo'lganda.
Claude Sonnet 4.6 claude-sonnet-4-6 1M $3 / $15 Tezlik va aqlning yaxshi muvozanati; katta hajmli ishlab chiqarish yuklamalari.
Claude Haiku 4.5 claude-haiku-4-5 200K $1 / $5 Eng tez va arzon; oddiy, tezkor ishlar (tasniflash, qisqa javoblar).

Bir necha muhim qoida:

  • Model ID aniq qator β€” claude-opus-4-8 kabi. Hech qachon oxiriga sana qo'shmang (claude-opus-4-8-20251114 kabi narsalar noto'g'ri va xato beradi).
  • Standartni claude-opus-4-8 qoldiring β€” narxni tejash uchun avtomatik arzon modelga o'tmang; bu sizning ongli tanlovingiz bo'lsin.
  • Boshqa provayderlarning modellari ham mavjud, lekin bu kitob faqat Claude'ni rasmiy SDK orqali ishlatadi β€” shunda misollar barqaror va tekshirilgan bo'ladi.

Maslahat. O'rganayotganda va tajriba qilayotganda Haiku (claude-haiku-4-5) dan boshlash β€” eng arzoni. Ishlab chiqarishda esa sifat muhim bo'lsa Opus 4.8 ga o'ting. Model tanlash va narxni 14-bobda batafsil ko'ramiz.

7. Nega aynan JavaScript bilan?

AI integratsiyasi uchun JavaScript ajoyib tanlov, va sabablari amaliy:

  • Rasmiy SDK β€” Anthropic'ning @anthropic-ai/sdk paketi to'liq qo'llab-quvvatlanadi, tipli (TypeScript) va barcha imkoniyatlarni (streaming, tools, vision, caching) qamrab oladi.
  • Vercel AI SDK β€” ai + @ai-sdk/anthropic paketlari ilova qatlamini soddalashtiradi: chat UI, strukturali chiqish, agentlar β€” kamroq kod bilan (11–13 boblar).
  • Hamma joyda ishlaydi β€” Node.js serverda, serverless funksiyalarda, hatto edge (Cloudflare Workers, Vercel Edge) muhitida. Streaming javoblarni brauzerga oqim qilib uzatish JavaScript'da tabiiy (25-bob).
  • Veb ilova qurish oson β€” React/Next.js bilan oqimli (streaming) chat interfeysini bir necha qatorda qurasiz (13-bob).

Bu kitob oxirida siz quyidagilarni qura olasiz: chat (oqimli suhbat), RAG (o'z hujjatlaringizga asoslangan javob β€” V qism), va agentlar (model o'zi vositalardan foydalanib vazifani bajaradi β€” VI qism). Hammasi JavaScript'da, Claude bilan.

Bu kitob JavaScript nashri. Agar siz PHP yoki Python dasturchisi bo'lsangiz, xuddi shu mavzu o'sha tillar uchun alohida kitoblarda beriladi β€” tushunchalar bir xil, faqat sintaksis farq qiladi.

8. LLM nimani yaxshi qiladi va nimani QILA OLMAYDI

Yangi boshlovchilar ko'pincha LLM'dan imkonsiz narsani kutadi. Chegaralarni boshdanoq aniq bilish β€” eng katta xatolardan saqlaydi.

βœ… LLM nimani YAXSHI qiladi ❌ LLM nimaga ISHONCHSIZ
Matnni xulosalash (uzun maqolani qisqartirish) Ma'lumotlar bazasi emas β€” aniq faktlarni "yoddan" ishonchli bermaydi
Tasniflash (ijobiy/salbiy, spam/spam emas) Kalkulyator emas β€” murakkab hisob-kitobda xato qilishi mumkin
Matndan ma'lumot ajratish (ism, sana, email) Kafolatlangan haqiqat manbai emas β€” javob ishonarli ko'rinsa ham noto'g'ri bo'lishi mumkin
Matn generatsiya qilish (xat, tavsif, ijodiy yozish) Eng yangi voqealar β€” o'rgatilgan sanadan keyingisini bilmaydi
Kod yozish va tushuntirish Aniq, takrorlanuvchi natija β€” javoblar har safar biroz farq qiladi
Tilni tarjima qilish, qayta yozish Sizning shaxsiy/maxfiy ma'lumotingiz β€” siz bermasangiz, bilmaydi

Gallyutsinatsiya β€” eng muhim tushuncha

Gallyutsinatsiya (hallucination) β€” bu LLM ishonchli ko'rinishda, lekin noto'g'ri yoki o'ylab topilgan ma'lumot qaytarishi. Model "bilmayman" deyish o'rniga, ehtimolligi yuqori ko'ringan, ammo haqiqatda mavjud bo'lmagan faktni "to'qib" chiqaradi β€” chunki, eslang, u ehtimollik bilan ishlaydi, fakt bilan emas.

Masalan, mavjud bo'lmagan kitob nomini, noto'g'ri sana yoki yo'q funksiya nomini to'liq ishonch bilan aytishi mumkin. Bu yolg'on emas β€” model yolg'on gapirayotganini "bilmaydi"; u shunchaki tabiiy ko'ringan tokenlarni tanladi.

Diqqat. Shuning uchun LLM chiqishiga ko'r-ko'rona ishonmang, ayniqsa aniq faktlar, raqamlar, kod yoki yuridik/tibbiy maslahatda. Muhim ilovalarda chiqishni tekshirish, ishonchli manbaga asoslantirish (RAG β€” V qism), va validatsiya qilish (06-bob, strukturali chiqish) kerak. Gallyutsinatsiyani kamaytirishning eng kuchli usuli β€” modelga javob uchun ishonchli kontekst berish (RAG) va undan manbaga tayanishni so'rash.

9. To'g'ri fikrlash tarzi (mindset)

Oxirida β€” eng muhim amaliy nasihat. LLM bilan ishlash an'anaviy dasturlashdan biroz farq qiladi, va buni qabul qilish ishingizni osonlashtiradi:

  • Promptlar ustida iteratsiya qilasiz. Birinchi prompt mukammal chiqmaydi. Siz uni sinab ko'rasiz, javobga qarab tuzatasiz, qaytadan sinaysiz. Bu normal jarayon (prompt engineering β€” 05-bob).
  • Chiqishlar har safar biroz farq qiladi. Funksiya har doim bir xil natija qaytaradigan oddiy koddan farqli, LLM ehtimollik bilan ishlaydi. Ilovangizni shunga moslab quring (validatsiya, qayta urinish, strukturali chiqish).
  • Bu vosita, sehrli quti emas. Siz narxini (tokenlar), chegarasini (kontekst oynasi) va kuchli/kuchsiz tomonlarini tushunadigan boshqariladigan vosita sifatida munosabatda bo'lasiz. Mana shu kitobning butun maqsadi.

Keyingi bobda nazariyadan amaliyotga o'tamiz: Node loyihasini ochamiz, @anthropic-ai/sdk ni o'rnatamiz, API kalitini olib .env da xavfsiz saqlaymiz, va Claude'ga birinchi haqiqiy chaqiruvni yuboramiz.


Mashqlar

Bu bob konseptual bo'lgani uchun mashqlar ko'pincha "tushuntir / hisobla / tanla" turida.

Oson

  1. Autocomplete analogiyasi. LLM "o'ta kuchaytirilgan autocomplete" deyildi. O'z so'zlaringiz bilan tushuntiring: model keyingi tokenni qanday tanlaydi, va nega bu "sehr" emas, balki ehtimollik?

  2. Token β‰  so'z. Nega "1 token = 1 so'z" deyish noto'g'ri? "salom dunyo" taxminan necha tokenga bo'linadi va nega o'zbekcha matn inglizchaga qaraganda ko'proq token olishi mumkin?

  3. Narx qaysi tokenda? LLM chaqiruvida narx ikki xil tokenda hisoblanadi. Ular qaysilari, qaysi biri odatda qimmatroq, va nega?

  4. Kontekst oynasi. Claude Opus 4.8 ning kontekst oynasi necha token? "Prompt va javob unga birga sig'ishi kerak" gapining ma'nosini "ish stoli" analogiyasi bilan tushuntiring.

  5. Model tanlash. Quyidagilar uchun qaysi Claude modelini tanlardingiz va nega: (a) minglab qisqa izohni "ijobiy/salbiy" deb tezda tasniflash, (b) murakkab, ko'p bosqichli kod migratsiyasi, (c) o'rganayotganda arzon tajriba.

O'rta

  1. Gallyutsinatsiya nima? "Gallyutsinatsiya" atamasini ta'riflang. Nega LLM yolg'on gapirayotganini "bilmaydi"? Bir ilovada bu xavfli bo'lishi mumkin bo'lgan misol keltiring.

  2. Temperatura halol nuqtasi. "Temperatura" g'oyasi nimani boshqaradi? Nega bu kitobda siz uni Opus 4.8 da o'rnatmaysiz, va xulq-atvorni qanday yo'naltirasiz?

  3. API holatsiz. "API holatsiz (stateless)" degani nima? Agar model "oldingi gaplarimni eslab qoladi" deb o'ylab, har chaqiruvda faqat oxirgi savolni yuborsangiz, nima yuz beradi?

  4. JavaScript nega? AI integratsiyasi uchun JavaScript'ni tanlashning kamida uchta amaliy sababini keltiring.

Qiyin

  1. Chaqiruvni o'qing. 5-bo'limdagi messages.create(...) misolidagi har bir parametr (model, max_tokens, messages) nimani anglatadi? await nega kerak?

  2. Narxni baholang. Faraz qiling, promptingiz 2000 token, javob 500 token, va siz Opus 4.8 ($5 kirish / $25 chiqish 1M token uchun) ishlatasiz. Bitta chaqiruv taxminan necha dollar turadi? (Hisobni ko'rsating.)

  3. Yaxshi yoki yomon ish? Quyidagilarning qaysilari LLM uchun mos vazifa, qaysilari xavfli (va nega): (a) mijoz sharhini xulosalash, (b) "2847 Γ— 9163 nechaga teng?" deb so'rash, (c) email matnidan jo'natuvchi ismini ajratib olish, (d) "menga kechagi aniq valyuta kursini ayt" deb so'rash.


Yechim β€” 1

Model har qadamda "shu paytgacha bo'lgan tokenlarga qarab, keyingi token nima bo'lishi eng ehtimolli?" degan savolga javob beradi: u barcha mumkin tokenlar bo'yicha ehtimollik taqsimotini chiqaradi (masalan "issiq" 0.60, "yomg'irli" 0.20, ...) va odatda eng ehtimollisini tanlaydi, so'ng jarayonni keyingi token uchun qaytaradi. Bu "sehr" emas, chunki model fakt bilmaydi yoki o'ylamaydi β€” u shunchaki ulkan matndan o'rgangan statistik naqshlarni qo'llaydi. Telefon klaviaturasidagi avtomatik to'ldirish bilan bir xil g'oya, faqat juda kuchaytirilgan.

Yechim β€” 2

"1 token = 1 so'z" noto'g'ri, chunki token β€” matnning bo'lagi: ba'zan butun so'z, ba'zan so'zning bir qismi yoki tinish belgisi/bo'shliq. Inglizchada taxminan 1 token β‰ˆ 4 belgi β‰ˆ 0.75 so'z. "salom dunyo" taxminan 4 token ga bo'linadi (masalan ["sal", "om", " dun", "yo"] β€” aniq bo'linish modelga bog'liq). O'zbekcha (yoki ruscha) matn ko'proq token oladi, chunki modellar asosan inglizcha matnga moslab tuzilgan; ingliz tilidagi keng tarqalgan so'zlar bitta token bo'lsa, o'zbekcha so'zlar ko'pincha bir nechta bo'lakka ajraladi.

Yechim β€” 3

Narx kirish tokenlari (siz yuborgan prompt β€” system, suhbat tarixi, savol) va chiqish tokenlari (model qaytargan javob) bo'yicha alohida hisoblanadi. Chiqish odatda qimmatroq (masalan Opus 4.8 da kirish $5, chiqish $25 β€” 1M token uchun), chunki javob tokenlarini model real vaqtda generatsiya qiladi, bu ko'proq hisoblash talab qiladi.

Yechim β€” 4

Claude Opus 4.8 ning kontekst oynasi β€” 1 000 000 token (1M). "Prompt va javob birga sig'ishi kerak" degani: oynaga siz yuborgan butun matn (system prompt + suhbat tarixi + savol) va model qaytaradigan javob β€” hammasi birgalikda 1M tokendan oshmasligi kerak. Ish stoli analogiyasi: stolga faqat ma'lum miqdordagi qog'oz sig'adi; yangi qog'oz (uzun prompt yoki uzun javob) qo'shilsa, joy tugaydi β€” oynadan oshib ketgan narsani model umuman ko'rmaydi.

Yechim β€” 5

(a) Minglab qisqa izohni tasniflash β†’ Haiku 4.5 (claude-haiku-4-5): tez, arzon ($1/$5), oddiy vazifa uchun yetarli. (b) Murakkab, ko'p bosqichli kod migratsiyasi β†’ Opus 4.8 (claude-opus-4-8) yoki eng og'iri uchun Fable 5 β€” bunday vazifa eng kuchli model va uzun kontekstni talab qiladi. (c) O'rganayotganda arzon tajriba β†’ Haiku 4.5 β€” eng arzoni, xato qilsangiz ham kam pul ketadi. Umumiy qoida: oddiy/tez β†’ Haiku, og'ir/aqlli β†’ Opus, muvozanat/hajm β†’ Sonnet.

Yechim β€” 6

Gallyutsinatsiya β€” LLM ishonchli ko'rinishda, lekin noto'g'ri yoki o'ylab topilgan ma'lumot qaytarishi (mavjud bo'lmagan kitob, noto'g'ri sana, yo'q funksiya nomi va h.k.). Model yolg'on gapirayotganini "bilmaydi", chunki u ehtimollik bilan ishlaydi, fakt bilan emas β€” u shunchaki tabiiy/ehtimolli ko'ringan tokenlarni tanlaydi, ularning haqiqatga mosligini tekshirmaydi. Xavfli misol: tibbiy yoki yuridik maslahat beruvchi ilova noto'g'ri dozani yoki mavjud bo'lmagan qonun moddasini to'liq ishonch bilan aytsa β€” foydalanuvchi unga ishonib zarar ko'rishi mumkin. Shuning uchun muhim ilovalarda chiqishni tekshirish va ishonchli kontekstga asoslantirish (RAG) kerak.

Yechim β€” 7

"Temperatura" β€” modelning keyingi tokenni tanlashdagi tasodifiylik/ijodkorlik darajasini boshqaradigan g'oya: past = aniqroq va takrorlanuvchi (deterministik), yuqori = ijodkorroq va xilma-xilroq. Bu kitobda siz uni o'rnatmaysiz, chunki Claude Opus 4.8 da temperature parametri umuman olib tashlangan (yuborsangiz API xato beradi). Buning o'rniga Claude o'zi mos xilma-xillikni boshqaradi, va siz xulq-atvorni prompt orqali yo'naltirasiz β€” masalan "qisqa va aniq javob ber" (aniqlik uchun) yoki "uchta turli ijodiy variant taklif et" (xilma-xillik uchun).

Yechim β€” 8

"API holatsiz (stateless)" degani: server chaqiruvlar orasida suhbatni eslab qolmaydi β€” har bir chaqiruv mustaqil. Shuning uchun ko'p bosqichli suhbatda siz butun tarixni (oldingi savollar va javoblar) har safar qaytadan messages ichida yuborasiz. Agar siz faqat oxirgi savolni yuborsangiz, model oldingi kontekstni umuman ko'rmaydi β€” masalan "ismimni eslab qoldingmi?" deb so'rasangiz, u bilmaydi, chunki ismni o'z ichiga olgan oldingi xabarlar yuborilmagan. (Buni 03-bobda amalda ko'ramiz.)

Yechim β€” 9

Kamida uchta sabab: (1) Rasmiy SDK β€” @anthropic-ai/sdk to'liq qo'llab-quvvatlanadi va barcha imkoniyatlarni qamrab oladi. (2) Hamma joyda ishlaydi β€” Node server, serverless, edge (Cloudflare Workers, Vercel Edge); streaming javoblarni brauzerga oqim qilish tabiiy. (3) Veb ilova qurish oson β€” React/Next.js va Vercel AI SDK bilan oqimli chat UI'ni kam kod bilan qurasiz. (Qo'shimcha: keng ekotizim, async/await streamingga juda mos.)

Yechim β€” 10
  • model: "claude-opus-4-8" β€” qaysi Claude modelidan foydalanish (bu kitobning standarti). Model ID aniq qator, oxiriga sana qo'shilmaydi.
  • max_tokens: 1024 β€” javob eng ko'pi bilan necha chiqish tokeni bo'lishi. Bu chegaraga yetsa, javob shu yerda uziladi (kesiladi).
  • messages: [{ role: "user", content: "..." }] β€” suhbat: rollar bilan xabarlar massivi. Bu yerda bitta user (foydalanuvchi) xabari bor.
  • await kerak, chunki messages.create(...) tarmoq orqali ketadigan asinxron chaqiruv β€” u Promise qaytaradi, va await javob kelguncha kutadi.
Yechim β€” 11

Narx 1M (1 000 000) token uchun berilgan, demak 1 token narxi = narx Γ· 1 000 000.

  • Kirish: 2000 token Γ— ($5 / 1 000 000) = 2000 Γ— $0.000005 = $0.01
  • Chiqish: 500 token Γ— ($25 / 1 000 000) = 500 Γ— $0.000025 = $0.0125
  • Jami β‰ˆ $0.0225 (taxminan 2.25 sent).

Xulosa: bitta kichik chaqiruv juda arzon, lekin minglab chaqiruvda yig'ilib ketadi β€” shuning uchun tokenlarni tejash va to'g'ri model tanlash muhim (14-bob).

Yechim β€” 12
  • (a) Mijoz sharhini xulosalash β†’ mos: matnni xulosalash LLM eng yaxshi qiladigan ishlardan.
  • (b) "2847 Γ— 9163 nechaga teng?" β†’ xavfli: LLM kalkulyator emas; murakkab hisobda xato qilishi mumkin. Aniq hisob uchun haqiqiy hisob-kitob (yoki tool/kod) ishlatish kerak.
  • (c) Email matnidan jo'natuvchi ismini ajratib olish β†’ mos: ma'lumot ajratish (extraction) β€” LLM yaxshi qiladigan til vazifasi (strukturali chiqish bilan yanada ishonchli β€” 06-bob).
  • (d) "Kechagi aniq valyuta kursini ayt" β†’ xavfli: LLM real vaqtdagi/eng yangi ma'lumotni va aniq raqamlarni ishonchli bermaydi (o'rgatilgan sanadan keyingisini bilmaydi, gallyutsinatsiya qilishi mumkin). Bunday narsa uchun haqiqiy API yoki RAG kerak.

🏠 README Β· Keyingi: 02 β€” O'rnatish va birinchi chaqiruv ➑️