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.
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.
Model unga berilgan asboblar ro'yxatini ko'radi. Matn yozish o'rniga u finish_reason: "tool_calls" to'xtash belgisi bilan structured JSON qaytaradi.
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!
get_stock_price).{
"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"]
}
}
Foydalanuvchi: "10 ta Apple aksiyasi necha pul?".
Model JSON qaytaradi:{ name: "get_stock_price", args: { ticker: "AAPL" } }
Backend tizimi JSONni ushlaydi, NASDAQ birjasiga so'rov jo'natadi va javobni oladi:{ price: 234.50, currency: "USD" }
Natija kontekstga role: "tool" bilan kiritiladi. Model aniq hisoblab javob beradi: "10 ta AAPL aksiyasi $2,345.00 bo'ladi".
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.
Zamonaviy modellar bitta qadamda bir vaqtning o'zida 2-3 ta asbobni parallel chaqira oladi.
Agar modelga birdaniga 100 ta funksiya ro'yxati berilsa nima bo'ladi?
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.
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!
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!
Neyrotizimni ma'lumotlar bazasiga hech qachon root yoki bosh admin huquqi bilan ulamang!
DROP yoki DELETE baza darajasida bloklanadi.get_stock_price JSON chaqiruvini va narxini ko'rish.convert_currency (1500 USD → UZS) chaqirib, ma'lumot turlarini tekshirish.execute_sql_query orqali xavfsiz SELECT so'rovini yuborish.DROP TABLE users; so'rovini yuborib, tizim himoyasini tekshirish.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
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.
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!
Anthropic tomonidan yaratilgan ochiq sanoat standarti (2024–2026):