Vibecoding · 14-dars · 10–11-sinflar
Fan: AI Engineering & Agentlar Kohorta: Senior 10-11 Hafta: 3 (Juft Dars Bloki)

Tool Calling va Funksiyalarni Bajarish: Fikrlashdan Real Amallargacha

Shu paytgacha LLM faqat matn generatsiya qiluvchi izolyatsiyalangan model edi. Tool Calling mexanizmi neyrotizimni real REST API larni chaqiradigan, ma'lumotlar bazasiga so'rov yuboradigan va tashqi dasturlarni JSON protokoli orqali qat'iy boshqaradigan agentga aylantiradi.

Izolyatsiya To'sig'i

Nega Yakka LLM Real Ishlab Chiqarishda Cheklangan?

❌ Izolyatsiyalangan Model (Faqat Matn)

  • Bilimlar chegarasi: Model bugungi valyuta kursini, ob-havoni yoki ombordagi tovarlar qoldig'ini bilmaydi.
  • Arifmetik gallyutsinatsiyalar: Ko'p xonali kasr sonlarni hisoblashda model hisoblamaydi, balki taxmin qiladi.
  • Tashqi dunyoga yo'l yo'q: Ma'lumotlar bazasiga yozish, email jo'natish yoki skript ishga tushirish imkoni yo'q.

✅ Tool Calling Bilan Qurollangan Agent

  • Chegarani anglash: Model o'zida fakt yetarli emasligini ko'radi va tashqi funksiyani chaqirishga qaror qiladi.
  • Mashina protokoli: Ortiqcha gaplar o'rniga qat'iy tekshirilgan JSON parametrlarini ishlab chiqaradi.
  • Determinizm: Hisobni kalkulyator, bazani SQL server, valyuta kursini esa Markaziy Bank API si bajaradi.
Mexanizm Tahlili

Tool Calling Qanday Ishlaydi: Model Kodni O'zi Bajarmaydi!

Oddiy Chat Generatsiyasi

Foydalanuvchi so'raydi: "Dollar kursi qancha?". Model o'z xotirasidan to'qib chiqaradi: "Kurs taxminan 12 700 so'm...". Bu biznes uchun qaltis gallyutsinatsiya hisoblanadi.

Function Calling Protokoli

Model unga berilgan asboblar ro'yxatini ko'radi. Matn yozish o'rniga u finish_reason: "tool_calls" to'xtash belgisi bilan structured JSON qaytaradi.

⚡ AI Muhandisining Oltin Qoidasi

Eslab qoling: Neyrotizim sizning kompyuteringiz yoki bazangizga to'g'ridan-to'g'ri ulana olmaydi. U faqat backend tizimiga shunday deydi: "Iltimos, mana bu parametrlar bilan convert_currency funksiyasini chaqir". Kodni faqat sizning xavfsiz serveringiz bajaradi!

Texnik Shartnoma

JSON Schema: Model va Backend O'rtasidagi Shartnoma

Asbob Sifatidagi Maydonlar

  • name: Funksiyaning dasturdagi yagona nomi (masalan, get_stock_price).
  • description: Eng muhim maydon! Model ushbu matnni o'qib, so'rovga mos kelish-kelmasligini tahlil qiladi.
  • parameters: Qat'iy ma'lumot turlari (string, number, boolean) va majburiy maydonlar ro'yxati (required).

Valyuta Konverteri Sxemasi

{
  "name": "convert_currency",
  "description": "Конвертирует валюту по курсу ЦБ",
  "parameters": {
    "type": "object",
    "properties": {
      "amount": { "type": "number", "description": "Сумма" },
      "from":   { "type": "string", "description": "Исходная валюта (USD)" },
      "to":     { "type": "string", "description": "Целевая валюта (UZS)" }
    },
    "required": ["amount", "from", "to"]
  }
}
ReAct Arxitekturasi

3 Bosqichli Ijro Tsikli: Chaqiruv → Kuzatuv → Sintez

1
1-Qadam: Chaqiruv (Model)

Foydalanuvchi: "10 ta Apple aksiyasi necha pul?".
Model JSON qaytaradi:
{ name: "get_stock_price", args: { ticker: "AAPL" } }

2
2-Qadam: Kuzatuv (Server)

Backend tizimi JSONni ushlaydi, NASDAQ birjasiga so'rov jo'natadi va javobni oladi:
{ price: 234.50, currency: "USD" }

3
3-Qadam: Sintez (Model)

Natija kontekstga role: "tool" bilan kiritiladi. Model aniq hisoblab javob beradi: "10 ta AAPL aksiyasi $2,345.00 bo'ladi".

Aqlli Tanlov

Multi-Tool Selection: Model 10+ Asbob Ichidan Qanday Tanlaydi?

Semantik Yo'naltirish

Model foydalanuvchi so'rovining mohiyatini asboblarning description ta'riflari bilan solishtiradi. Agar valyuta haqida bo'lsa — convert_currency, baza haqida bo'lsa — execute_sql_query tanlanadi.

Parallel Chaqiruv

Zamonaviy modellar bitta qadamda bir vaqtning o'zida 2-3 ta asbobni parallel chaqira oladi.

Asboblar Haddan Tashqari Ko'payishi Xavfi

Agar modelga birdaniga 100 ta funksiya ro'yxati berilsa nima bo'ladi?

  • Kontekst isrofi: 100 ta sxema suhbat boshlanmasdanoq 20 000+ token sarflaydi.
  • Adashish (Tool Confusion): O'xshash funksiyalar bir-biriga xalaqit berib, xato tanlovga sabab bo'ladi.
Xavf Darajalari

Asboblar Tasnifi: Xavfsiz Read-Only va Buzuvchi (Destructive) Amallar

🟢 Xavfsiz Asboblar (Read-Only)

Idempotent funksiyalar: qayta-qayta chaqirish server yoki baza holatini aslo o'zgartirmaydi.

  • get_stock_price(ticker)
  • convert_currency(amount, from, to)
  • search_knowledge_base(query)

Fonda avtomatik tarzda bajarilishiga to'liq ruxsat etiladi.

🔴 Buzuvchi Asboblar (Write / Mutation)

Tizimga ta'sir qiluvchi funksiyalar: balansni yechadi, jadvallarni o'chiradi, tashqi dunyoga xat yuboradi.

  • execute_sql_query(query) → DROP TABLE!
  • transfer_funds(account_id, amount)
  • deploy_production_code(commit_sha)

Inson tasdiqisiz avtomatik bajarish qat'iyan man etiladi!

Zero-Trust Arxitekturasi

Human-in-the-Loop (HITL) va Eng Kam Imtiyoz Qoidasi

Human-in-the-Loop (Inson Nazorati)

Model xavfli buyruq (pul yechish, bazani o'chirish) bergan paytda, agentlik tizimi jarayonni PAUZAga qo'yadi.

Operator ekranda aniq JSON parametrlarini ko'radi va [Approve] yoki [Reject] tugmasini bosadi. Faqat inson ruxsat bergachgina kod bajariladi!

PoLP: Eng Kam Imtiyoz Qoidasi

Neyrotizimni ma'lumotlar bazasiga hech qachon root yoki bosh admin huquqi bilan ulamang!

  • Faqat SELECT: Agentga faqat o'qish huquqi beriladi. Har qanday DROP yoki DELETE baza darajasida bloklanadi.
  • Prepared Statements: SQL injection hujumlarining oldini olish uchun parametrlar qat'iy ekranlanadi.
Amaliy Laboratoriya

Tool Calling Laboratoriyasi Amaliyoti (`lab/index.html`)

Tadqiqotning 4 Ta Bosqichi

  • 1. Aksiya narxi: AAPL bo'yicha so'rov yuborish, get_stock_price JSON chaqiruvini va narxini ko'rish.
  • 2. Valyuta konvertatsiyasi: convert_currency (1500 USD → UZS) chaqirib, ma'lumot turlarini tekshirish.
  • 3. Ma'lumotlar bazasi: execute_sql_query orqali xavfsiz SELECT so'rovini yuborish.
  • 4. Xavfsizlik testi: Buzg'unchi DROP TABLE users; so'rovini yuborib, tizim himoyasini tekshirish.

Ish Varaqasiga Yoziladigan Ko'rsatkichlar

Brauzerdagi vizual ijro zanjirini ochib, qog'oz varaqaga ko'chiring:

// Qadam Telemetriyasi
Tool Call ID: call_stock_9821
Latency (API): 310 ms
Finish Reason: tool_calls → stop
Tokens: 38 prompt, 42 completion
Status: Grounded Response 200 OK
Barqarorlik

Asbob Xato Bilan Yiqilsa-chi? Self-Healing Loop Modeli

❌ Oddiy Backend (Qulash)

Model xato turdagi ma'lumot yubordi (masalan, 100 soni o'rniga "yuz" so'zi). Backend HTTP 500 xatosi bilan qulaydi va foydalanuvchi ekranida xatolik paydo bo'ladi.

✅ O'zini-O'zi Tiklash (Self-Healing)

Backend xatoni ushlab oladi va uni model kontekstiga asbob javobi sifatida qaytaradi:

{
  "role": "tool",
  "tool_call_id": "call_12",
  "content": "ValidationError: 'amount' must be a valid float number, received string"
}

Model kompilyator xatosini o'qiydi, o'z xatosini tushunadi va zudlik bilan to'g'rilangan "amount": 100.0 qiymatli yangi chaqiruv yuboradi!

Sanoat Standartlari

Sanoat Standartlari: LangGraph, CrewAI va MCP Protokoli

Agentlarni Boshqarish (LangGraph / CrewAI)

  • Murakkab mantiqiy graf qurish: agar birinchi asbob ishlamasa, zaxiradagi API ga o'tish.
  • Bir nechta ixtisoslashgan agentlar jamoasi: biri qidiradi, ikkinchisi xavfsizlikni tekshiradi, uchinchisi hisobot yozadi.

Model Context Protocol (MCP)

Anthropic tomonidan yaratilgan ochiq sanoat standarti (2024–2026):

  • Har bir servis uchun alohida kod yozish o'rniga bitta yagona MCP-server ishga tushiriladi.
  • Har qanday AI tizimi (Claude, Cursor, VS Code) ma'lumotlar bazasi va GitHub ga xuddi USB kabeldek bir zumda ulanadi!
14-Dars Yakuni · 10 Ball

Xulosa: AI Agentlarini Boshqarish Muhandislik Darajasi

Darsning 3 Ta Bosh Qoidasi

  • LLM — bu aql, Asboblar — bu qo'llar: Model qaror qabul qiladi, backend esa kodni qat'iy bajaradi.
  • JSON Schema — qat'iy qonun: Xatosiz yo'naltirish uchun barcha ma'lumot turlari va ta'riflarini yozing.
  • Avvalo xavfsizlik: O'chiruvchi amallar doim inson tasdig'ini (HITL) va minimal huquqlarni talab qiladi.

10 Ballik Baholash Mezoni

  • JSON Schema va ReAct Arxitekturasi: chaqiruv mexanizmini tushunish — 3 ball
  • Asboblar laboratoriyasi: aksiya, valyuta va SQL so'rovlarini bajarish — 3 ball
  • Xavfsizlik auditi: DROP TABLE stress-testi va Human-in-the-Loop tahlili — 4 ball
  • Rag'bat: Self-Healing va MCP konsepsiyasini asoslab berish — +2 ball
Target International SchoolTarget International School Введение 1 / 12 0–3