Oddiy «agent»: vosita tanlaydigan dastur
Agent — vazifani bosqichlarga bo‘lib, kerak bo‘lganda vositalardan (kalkulyator, qidiruv, fayl) foydalanadigan dastur. Odatiy sikl: model vazifani ko‘radi va qaysi vositani qanday argumentlar bilan chaqirishni belgilaydi (ko‘pincha JSON ko‘rinishida); dastur vositani ishga tushiradi va natijani modelga qaytaradi; model shu natija asosida javob tuzadi.
Bu darsda modelning o‘zi yo‘q: uning o‘rniga tayyor «chaqiriq» lug‘ati beriladi, biz esa dastur qismini yozamiz: chaqiriqdagi vosita nomiga qarab mos funksiyani ishga tushirish. Bu soddalashtirilgan namuna; haqiqiy agentlarda xatolarni boshqarish, bir necha qadam va ruxsatlar kabi qismlar ham bo‘ladi.
def kvadrat(son):
return son * son
VOSITALAR = {"kvadrat": kvadrat}
def agent(chaqiriq):
nom = chaqiriq["vosita"]
if nom in VOSITALAR:
return VOSITALAR[nom](chaqiriq["son"])
return "vosita topilmadi"
print(agent({"vosita": "kvadrat", "son": 7}))
print(agent({"vosita": "qidiruv", "son": 7}))Natija49
vosita topilmadiXavfsizlik qoidasi: agentga faqat zarur vositalarni bering va natijasini tekshiring. Noma’lum yoki noto‘g‘ri chaqiriq dasturni qulatmasligi kerak: yuqoridagi «vosita topilmadi» holati shunga misol.
Esda tuting
- Agent = model + vositalar + vositalarni ishga tushiruvchi dastur.
- Vosita nomi va argumentlar lug‘at (JSON) ko‘rinishida beriladi.
- Noma’lum chaqiriqni xatosiz qayta ishlang.
Mashq
Agent tizimida aniq arifmetik hisobni kim bajaradi?
Javob va izoh
- Dasturdagi vosita (funksiya): model uni chaqiradi, natijani qaytarib oladi. (to‘g‘ri javob)shunda hisob tekshiriladigan kod orqali aniq bajariladi.
- Faqat model, o‘zining matn yaratishi bilan.bunda uzun hisoblarda xato ehtimoli oshadi.
- Foydalanuvchi qo‘lda.agentning maqsadi aynan shunday ishlarni avtomatlashtirish.
Kod mashqlari
kalkulyator(a, b, amal)funksiyasini yozing:amal+,-,*yoki/bo‘lsa, mos natijani qaytarsin.
Maslahat: Har bir amal uchunif amal == "+":kabi shart yozing vareturnqiling.agent(chaqiriq)funksiyasini yozing:vositaqiymatikalkulyatorbo‘lsa, unia,b,amalbilan chaqirib natijani qaytarsin; boshqa vosita bo‘lsavosita topilmadimatnini qaytarsin.
Maslahat:chaqiriq["vosita"]ni tekshiring; kalkulyatorgachaqiriq["a"],chaqiriq["b"]vachaqiriq["amal"]ni bering.
Mashqni ilovada bajaring.
Amaliy vazifa
kalkulyator funksiyasiga nolga bo‘lish holatini qo‘shing: bunda xato o‘rniga tushunarli matn qaytsin.
- Nolga bo‘lish shartini yozdim
/amali bilan sinab ko‘rdim
Lug‘at
Interaktiv rejim: qidiruv, progress va Python mashqlari.
