Asosiy kontentga o‘tish
AI qo‘llanmalari

AI tizimlarini loyihalashni bosqichma-bosqich o‘rganing: LLM inferensiyasidan ishlab chiqarish agentlarigacha

Ushbu qo‘llanma AI tizimlarini loyihalash bo‘yicha yo‘riqnomadan LLM inferensiyasi, masshtablash, keshlash, RAG, agentlar, xavfsizlik, baholash va optimallashtirishni o‘rganish uchun qanday foydalanishni tushuntiradi. Siz repozitoriyani sozlaysiz, uning o‘quv yo‘nalishi bo‘yicha harakat qilasiz, loyihalash misolini bosqichma-bosqich ko‘rib chiqasiz hamda ishlab chiqarish tizimlari va suhbatlar uchun takroran qo‘llash mumkin bo‘lgan yondashuvni amalda qo‘llaysiz.

AI tizimlarini loyihalashni bosqichma-bosqich o‘rganing: LLM inferensiyasidan ishlab chiqarish agentlarigacha

AI tizimini loyihalash loyihasi nima?

AI System Design — Outcome School asoschisi Amit Shekhar tomonidan yuritiladigan ochiq kodli ta’limiy qo‘llanma. Unda AI mahsulotini yagona model API chaqiruvi sifatida ko‘rish o‘rniga, katta til modeli atrofidagi to‘liq tizimni qanday loyihalash tushuntiriladi.

Qo‘llanma ma’lumotlar bazalari, keshlash, navbatlar, yuklamani taqsimlagichlar va shlyuzlar kabi tanish tizim loyihalash komponentlarini GPUlar, tokenlar, uzoq davom etadigan so‘rovlar, oqimli chiqish, deterministik bo‘lmagan xatti-harakatlar va har bir so‘rov uchun model xarajatlari kabi AIga xos cheklovlar bilan bog‘laydi.

AI tizimini loyihalash — AI modellari olib kiradigan yangi operatsion cheklovlar qo‘shilgan oddiy tizim loyihalashidir.

Material AI muhandislari, LLM muhandislari, backend muhandislari, mashinaviy o‘rganish muhandislari, platforma muhandislari, arxitektorlar, talabalar va AI tizimini loyihalash bo‘yicha suhbatga tayyorlanayotgan barcha kishilar uchun mo‘ljallangan.

AI tizimini loyihalash nima uchun muhim?

LLM API’ni skriptdan chaqirish uchun bir necha qator kod kifoya qilishi mumkin. Ammo bu funksiyani ko‘plab foydalanuvchilar uchun ishlatish boshqa masaladir. Ishlab chiqarish tizimlari uzoq promptlar va tokenma-token javoblar bilan ishlash jarayonida kechikish, o‘tkazuvchanlik, ishonchlilik, maxfiylik, chiqish sifati va xarajatlarni nazorat qilishi kerak.

Masalan, ishlab chiqarishdagi mijozlarni qo‘llab-quvvatlash assistenti quyidagilarni bajara olishi kerak:

  • Yuklama oshganda ham javob berishni tez boshlash.
  • Javoblarni qidiruv orqali kompaniya hujjatlariga asoslash.
  • Maxfiy ma’lumotlar sizib chiqishining oldini olish.
  • Model xatolari, taym-autlar va so‘rovlar chegaralarini boshqarish.
  • Deterministik bo‘lmagan chiqishga qaramay, javob sifatini o‘lchash.
  • Belgilangan token va infratuzilma budjeti doirasida qolish.

Repository ushbu muammolarni hal qilish uchun zarur qurilish bloklarini jamlaydi va ko‘plab mavzularni chuqurroq tushuntiruvchi maqolalarga bog‘laydi.

Asosiy mavzular va imkoniyatlar

Inferens asoslari

Qo‘llanma tokenlar, inferens serverlari, inferens dvigatellari hamda GPU, TPU va LPU kabi AI qurilmalaridan boshlanadi. Unda LLM matnni autoregressiv tarzda yaratishi, ya’ni avval bitta tokenni bashorat qilishi va keyingi tokenni bashorat qilishda shu chiqishdan foydalanishi tushuntiriladi.

Shuningdek, inferensning ikkita asosiy bosqichi kiritiladi:

  • Prefill: kirish promptini qayta ishlash va generatsiya uchun zarur ichki holatni yaratish.
  • Decode: javobni bir vaqtning o‘zida bitta tokendan yaratish.

Ushbu bosqichlar birinchi tokengacha bo‘lgan vaqt, sekundiga tokenlar soni, o‘tkazuvchanlik va infratuzilma tanlovlariga ta’sir qiladi. Qo‘llanma bo‘lakli prefill hamda prefill va decode yuklamalarini ajratishni ham qamrab oladi.

Miqyoslash, marshrutlash va keshlash

Miqyoslash bo‘limlarida vertikal miqyoslash, gorizontal miqyoslash, tensor parallelligi, pipeline parallelligi, avtomatik miqyoslash, GPUni hisoblash va xarajatlarni hisoblash yoritilgan. LLMga xos yuklamani muvozanatlash usullariga eng kam tugallanmagan tokenlar, prefiksdan xabardor marshrutlash va yopishqoq sessiyalar kiradi.

Keshlash materialida bir nechta qatlam ajratiladi:

  • KV keshi — generatsiya vaqtida attention kalitlari va qiymatlarini qayta ishlatish uchun.
  • Prompt keshi — takroriy prompt prefikslari uchun.
  • Semantik kesh — ma’nosi o‘xshash so‘rovlar uchun.
  • Embedding keshi — embeddingni qayta hisoblashdan qochish uchun.

Model marshrutlashi, jumladan qoidalarga, klassifikatorga, embeddingga, LLMga va kaskadga asoslangan yondashuvlar ham yoritilgan.

Qidiruv va kontekstni boshqarish

Qo‘llanmada embeddinglar, vektor ma’lumotlar bazalari, vektor indekslari va odatda RAG deb ataladigan qidiruv bilan boyitilgan generatsiya tushuntiriladi. Uning qidiruv jarayoni hujjatlarni tahlil qilish, qabul qilish, bo‘laklash, gibrid qidiruv, HyDE so‘rovini o‘zgartirish, qayta saralash, ColBERT, Agentic RAG, GraphRAG va vektorsiz RAGni o‘z ichiga oladi.

Shuningdek, qisqartirish, umumlashtirish, suriluvchi oynalar, ixchamlashtirish va ierarxik xotira orqali kontekst oynasi cheklovlari ko‘rib chiqiladi. Bog‘liq tushunchalarga kontekstning eskirishi, o‘rtada yo‘qolish xatti-harakati, RoPE susayishi va kontekst muhandisligi kiradi.

Agentlar va ko‘p agentli tizimlar

Agentlar bo‘limlarida AI agentining asosiy qismlari, boshidan oxirigacha agent sikllari, vositalarni chaqirish, tuzilmaviy chiqish, xotira va keng tarqalgan xatoliklar tahlil qilinadi. Shuningdek, deterministik AI orkestratsiyasi bilan yanada avtonom agent xatti-harakatlari o‘rtasidagi farq ko‘rsatiladi.

Qo‘shimcha mavzularga Model Context Protocol yoki MCP, Agent Skills, kompyuterdan foydalanadigan agentlar, brauzer agentlari, sikl muhandisligi, grafik muhandisligi, quyi agentlar, muvofiqlashtirish naqshlari va Agent2Agent protokoli kiradi.

Ishlab chiqarish operatsiyalari

Repository model chaqiruvlaridan tashqari quyidagi ishlab chiqarish masalalarini ham qamrab oladi:

  • Server-Sent Events yoki WebSockets orqali oqimli uzatish.
  • Uzoq davom etadigan vazifalar uchun asinxron qayta ishlash va xabarlar navbatlari.
  • So‘rovlar, tokenlar, parallellik yoki xarajatlarga asoslangan tezlik chegaralari.
  • AI shlyuzlari va ko‘p ijarachili arxitekturalar.
  • Himoya mexanizmlari, prompt inyeksiyasidan himoyalanish va AI red-teaming.
  • PIIni tahrirlash, ma’lumotlar rezidentligi, audit jurnallari va muvofiqlik bandlari.
  • Trassirovka, kuzatuvchanlik, baholash va LLM hakam sifatidagi ish jarayonlari.
  • Taym-autlar, eksponensial kechikish bilan qayta urinishlar, zaxira modellar va muloyim degradatsiya.

Unda kvantlash, uzluksiz batching, spekulyativ dekodlash, Flash Attention, Mixture of Experts, model distillyatsiyasi va Grouped Query Attention kabi inferens optimallashtirishlari ham yoritilgan.

O‘rnatish va sozlash

Ushbu repository dasturiy kutubxona emas, balki o‘quv qo‘llanmasi bo‘lgani uchun paket o‘rnatish, API kaliti yoki ish muhiti talab qilinmaydi. Uni to‘g‘ridan-to‘g‘ri GitHubda o‘qishingiz mumkin.

Mahalliy nusxani saqlash uchun repositoryni Git yordamida klonlang:

git clone https://github.com/amitshekhariitbhu/ai-system-design.git
cd ai-system-design

README faylini Markdown ko‘ruvchisida yoki Markdown’ni ko‘rsata oladigan tahrirlovchida oching. Qo‘llanma muntazam ravishda kengaytirib borilgani sababli, mahalliy nusxangizni vaqti-vaqti bilan yangilang:

git pull

README faylida hech qanday build buyrug‘i ko‘rsatilmagan. Asosiy tayyorgarlik vazifasi o‘rganish yo‘nalishini tanlash va tushunchalar o‘rtasida harakatlanish uchun mundarijadan foydalanishdir.

Qo‘llanmadan foydalanish

1-variant: To‘liq o‘rganish yo‘nalishiga amal qiling

Agar AI tizimlarini loyihalashni endi boshlayotgan bo‘lsangiz, qo‘llanmani ketma-ket o‘qing. Tavsiya etilgan tushunchaviy rivojlanish tartibi:

  1. Tokenlar, inference serverlari va AI qurilmalarini o‘rganing.
  2. Prefill, decode, kechikish va o‘tkazuvchanlikni tushuning.
  3. Masshtablash, baholash va yuklamani muvozanatlashni o‘rganing.
  4. Keshdan foydalanish va modelni yo‘naltirish strategiyalarini taqqoslang.
  5. Embeddinglar, vektor ma’lumotlar bazalari va RAG’ni o‘rganing.
  6. Kontekst oynasini boshqarishni o‘rganing.
  7. Streaming, navbatlar, so‘rovlar tezligini cheklash va gateway’larni o‘rganing.
  8. Agentlar, vositalar, MCP, strukturali chiqish va xotirani o‘rganing.
  9. Multi-agent, multimodal va ovozli tizimlarni o‘rganishni davom ettiring.
  10. Guardrail’lar, maxfiylik, kuzatuvchanlik va baholashni qo‘shing.
  11. Xarajatlarni nazorat qilish, fine-tuning infratuzilmasi va inference optimallashtirishni o‘rganing.
  12. Repository’ning tizim dizayni masalalarini yechish metodikasini qo‘llang.

2-variant: Suhbatga tayyorlaning

Suhbatga tayyorgarlik ko‘rishda istalgan AI tizimini loyihalash masalasini yechish haqidagi bo‘limdan boshlang. Keyin har bir dizayn qarori uchun zarur bo‘lgan texnik asoslarni qayta ko‘rib chiqing. Metodika sakkiz bosqichdan iborat:

  1. Talablar: foydalanuvchilar, masshtab, kechikish maqsadlari, maxfiylik ehtiyojlari va cheklovlarni aniqlang.
  2. AI maqsadi: model nimani amalga oshirishi kerakligini belgilang.
  3. Ma’lumotlarni tayyorlash: manba ma’lumotlari qanday yig‘ilishi, ajratib olinishi, tozalanishi va indekslanishini aniqlang.
  4. Arxitektura dizayni: gateway’lar, xizmatlar, modellar, retrieval, keshlar, navbatlar va xotirani joylashtiring.
  5. Model tanlash va prompting: sifat, kechikish va xarajatga qarab modellar hamda prompt strategiyalarini tanlang.
  6. Baholash: chiqish va tizim xatti-harakatlari qanday o‘lchanishini belgilang.
  7. Joylashtirish va serving: inference, masshtablash, streaming va barqarorlikni rejalashtiring.
  8. Monitoring: sifat, kechikish, xatolar, token sarfi va xarajatni kuzating.

3-variant: Ma’lumotnoma sifatida foydalaning

Agar siz allaqachon AI ilovalarini yaratayotgan bo‘lsangiz, mundarijadan ma’lumotnoma sifatida foydalaning. Masalan, takroriy hisoblashni kamaytirishda kesh bo‘limlariga, retrieval sifati past bo‘lganda RAG bo‘limlariga yoki tizim texnik jihatdan ishlasa-yu, javob sifati noaniq bo‘lsa, kuzatuvchanlik va baholash bo‘limlariga murojaat qiling.

Asosiy foydalanish misoli: Qo‘llab-quvvatlash yordamchisini loyihalash

Repository ishga tushiriladigan framework emas, shuning uchun “foydalanish” uning tushunchalarini dizayn masalasiga tatbiq etishni anglatadi. Xususiy kompaniya hujjatlaridan savollarga javob berishi kerak bo‘lgan mijozlarni qo‘llab-quvvatlash yordamchisini ko‘rib chiqamiz.

1. Talablarni belgilang

Modelni tanlashdan oldin funksional va operatsion talablarni yozib chiqing:

Foydalanish holati: mijozlarni qo‘llab-quvvatlash savollariga javob berish
Bilim manbasi: xususiy mahsulot va siyosat hujjatlari
Javob rejimi: oqimli matn
Sifat talabi: olingan hujjatlarga asoslangan javoblar
Xavfsizlik talabi: xususiy ma’lumotlar sizib chiqmasligi
Operatsion maqsadlar: past kechikish, nazorat qilinadigan xarajat, xatolarga chidamlilik

Haqiqiy o‘lchovlar mavjud bo‘lganda kutilayotgan trafik, prompt uzunligi, chiqish uzunligi, eng yuqori bir vaqtdagi yuklama va maqbul kechikishni qo‘shing. Bu qiymatlar tokenlar, GPU, o‘tkazuvchanlik va xarajat hisob-kitoblarini belgilaydi.

2. So‘rov yo‘lini chizing

Qo‘llanmadagi tarkibiy qismlardan yig‘ilgan yuqori darajadagi dizayn quyidagicha ifodalanishi mumkin:

Mijoz
  -> AI Gateway
  -> Autentifikatsiya va so‘rovlar tezligini cheklash
  -> Kirish guardrail’lari va PII bilan ishlash
  -> Retrieval pipeline’i
       -> So‘rov embedding’i
       -> Vektorli yoki gibrid qidiruv
       -> Qayta reytinglash
  -> Promptni shakllantirish
  -> Model routeri yoki inference serveri
  -> Chiqishni tekshirish va guardrail’lar
  -> Oqimli javob
  -> Tracing, baholash va xarajat monitoringi

Bu repository taqdim etadigan kod emas, balki dizayn ish varag‘idir. Har bir komponent qo‘llanmada yoritilgan mavzuga mos keladi.

3. Retrieval pipeline’ini loyihalang

Manba hujjatlarini ajrating va qabul qiling, ularni mos bo‘laklarga bo‘ling, embeddinglar yarating va qidirish mumkin bo‘lgan ko‘rinishni saqlang. So‘rov vaqtida tegishli bo‘laklarni oling; vektor o‘xshashligining o‘zi yetarli darajada relevatlik bermaganda gibrid qidiruv yoki qayta reytinglashdan foydalanishni ko‘rib chiqing.

Yakuniy kontekstni modelning kontekst oynasi ichida saqlang. Qo‘llanmadagi kontekstni boshqarish strategiyalari olingan material, suhbat tarixi va ko‘rsatmalar joy uchun raqobatlashganda yordam beradi.

4. Kechikish va streaming’ni rejalashtiring

Birinchi token chiqishigacha bo‘lgan vaqtni generatsiya tezligidan alohida o‘lchang. Prefill generatsiya qanchalik tez boshlanishiga, decode esa keyingi tokenlar qanchalik tez kelishiga ta’sir qiladi. SSE yoki WebSockets orqali streaming asosiy model hisoblashini kamaytirmagan holda seziladigan javob tezligini yaxshilashi mumkin.

5. Ishonchlilik va xavfsizlikni qo‘shing

Timeout’lar, backoff bilan qayta urinishlar, zaxira modellar, bosqichma-bosqich degradatsiya va chiqishni tekshirishdan foydalaning. Model atrofida kirish va chiqish guardrail’larini joylashtiring, prompt injection hujumlaridan himoyalaning, zarur bo‘lganda PII’ni yashiring va mos audit jurnallarini saqlang.

6. Baholang va kuzating

Faqat model chaqiruvini emas, to‘liq so‘rovni tracing qiling. Qo‘llanmadagi foydali o‘lchovlarga kechikish, o‘tkazuvchanlik, token sarfi, xarajat, retrieval xatti-harakati, model chiqishi sifati, vositalar bajarilishi va agent xatti-harakati kiradi. LLM chiqishi deterministik bo‘lmagani sababli, baholash odatiy exact-match unit testlaridan ko‘proq narsani talab qiladi.

Ilg‘or maslahatlar

To‘g‘ri kechikish bosqichini optimallashtiring

Model kechikishini bitta raqam sifatida ko‘rmang. To‘siq prefill, dekodlash, qidirib topish, navbatda kutish yoki tashqi vosita bilan bog‘liq ekanini aniqlang. Birinchi tokenni olish va soniyasiga tokenlar soni foydalanuvchining turli tajribalarini ifodalaydi hamda turli optimallashtirishlarni talab qilishi mumkin.

Barcha vazifalar uchun bitta modeldan foydalanish o‘rniga so‘rovlarni yo‘naltiring

Qo‘llanmada model yo‘naltirishning bir nechta strategiyasi keltirilgan. Ishlab chiqarish tizimida so‘rovlarni tasniflab, oddiy vazifalarni arzonroq modelga yo‘naltirish, murakkab holatlar uchun esa imkoniyatlari kengroq modelni saqlab qo‘yish mumkin. Kaskadli yo‘naltirish oldingi javob yetarli bo‘lmaganda kuchliroq modelga o‘tishi mumkin.

Keshni to‘g‘ri qatlamda qo‘llang

KV, prompt, semantik va embedding keshlari turli muammolarni hal qiladi. Avval nima takrorlanayotganini aniqlang: generatsiya holati, prompt prefikslari, semantik jihatdan teng savollar yoki embedding hisoblash jarayoni. Keyin mos keshni tanlang va to‘g‘rilik, yangilik, maxfiylik hamda tenantlar chegaralarini hisobga oling.

Qidirib topish sifatiga yaxlit pipeline sifatida yondashing

RAG sifati faqat vektor ma’lumotlar bazasiga bog‘liq emas. Tahlil qilish, bo‘laklash, embeddinglar, so‘rovni o‘zgartirish, gibrid qidiruv, qayta saralash va kontekstni yig‘ish yakuniy javobga ta’sir qiladi. Til modelini ayblashdan oldin qidirib topishning oraliq natijalarini baholang.

Agentlardan faqat ish jarayoni ularni talab qilganda foydalaning

Oldindan belgilangan orkestratsiya bilan vositalar yoki amallarni dinamik tanlaydigan agentni farqlang. Qo‘llanmada MCP standartlashtirilgan vosita va kontekst integratsiyasi uchun foydali bo‘lishi, ammo oddiy ish jarayoni uchun ortiqcha bo‘lishi mumkinligi ham qayd etilgan. Talablarni qanoatlantiradigan eng kam murakkab yondashuvni tanlang.

Tokenlar, GPUlar va xarajatni erta baholang

Taxminiy hisob-kitoblar dasturiy amalga oshirishdan oldin qimmat taxminlarni aniqlashga yordam beradi. Har bir so‘rov uchun kirish va chiqish tokenlari, so‘rovlar hajmi, bir vaqtdagi jarayonlar soni, o‘tkazuvchanlik talablari va kutilayotgan model xarajatini hisoblang. Inglizcha matnda o‘rtacha bir token taxminan to‘rt belgidan iboratligini yodda tuting, biroq haqiqiy tokenizatsiya model tokenizatoriga bog‘liq.

Har bir mavzuni o‘z so‘zlaringiz bilan tushuntiring

README har bir tugallangan bo‘limni boshqa birovga tushuntirishni tavsiya qiladi. Foydali qo‘shimcha sifatida har bir arxitektura tanlovi ortidagi murosani hujjatlashtiring: navbat nima uchun kerak, muayyan kesh nima uchun foydali, zaxira model nima uchun maqbul va tanlov sifat, kechikish, xavfsizlik yoki xarajatlarga qanday ta’sir qiladi.

Tavsiya etiladigan amaliyot rejasi

  1. Qo‘llanmaning bitta asosiy bo‘limini o‘qing.
  2. Matnga qaramasdan, uning maqsadi va murosalarini xulosa qiling.
  3. Komponentni namunaviy arxitekturaga qo‘shing.
  4. Ushbu komponent uchun kamida bitta ko‘rsatkich belgilang.
  5. Bitta nosozlik holati va bitta yumshatish chorasi haqida yozing.
  6. Umumiy ma’lumot yetarli bo‘lmaganda, havoladagi batafsil maqolaga murojaat qiling.
  7. Kod yozish yordamchilari yoki real vaqtli ovozli agentlar kabi amaliy misollar bilan mashqni takrorlang.

Bu yondashuv repozitoriyni ma’lumotnomalar ro‘yxatidan amaliy loyihalash kursiga aylantiradi.

Xulosa

AI System Design LLM inferensiyasi asoslaridan RAG, agentlar, xavfsizlik, baholash, kuzatuvchanlik, nosozliklarga chidamlilik va xarajatlarni optimallashtirish kabi ishlab chiqarish masalalarigacha bo‘lgan keng, boshlovchilar uchun qulay yo‘lni taqdim etadi. Bu o‘rnatiladigan paket emas; AI komponentlari qanday hamkorlik qilishini tushunish uchun tuzilgan qo‘llanmadir.

Agar yangi bo‘lsangiz, asoslardan boshlang yoki suhbatlarga tayyorlanayotgan bo‘lsangiz, sakkiz bosqichli loyihalash tizimidan boshlang. Har ikki holatda ham har bir tushunchani aniq tizimga tatbiq eting, uning ta’sirini o‘lchang va qarorlaringiz ortidagi murosalarni qayd eting.