Fikrlash (Thought), harakat (Action) va kuzatish (Observation) bosqichlarini takrorlab, moslashuvchan agentlar quruvchi ReAct naqshini o'rganasiz.
ReAct — fikrlash (reasoning) va harakat qilish (acting)ni birlashtiruvchi, agentlar uchun keng qo'llaniladigan promptlash naqshi. Bu bobda ReAct qanday ishlashi va uni qanday qo'llash ko'rib chiqiladi.
ReAct — modelga vazifani bajarishda fikrlash (Thought), harakat qilish (Action) va kuzatish (Observation) bosqichlarini navbatma-navbat takrorlashni so'raydigan naqsh. Model avval nima qilish kerakligi haqida fikrlaydi, keyin bir harakat (masalan, vosita chaqirish) qiladi, natijani kuzatadi, va shu asosda keyingi qadamni rejalashtiradi.
Oddiy tool-use'da model bitta harakatni tanlab, natijani kutadi. Murakkab, ko'p bosqichli vazifalarda esa model bir nechta harakatni ketma-ket, har birining natijasiga qarab moslashtirib bajarishi kerak bo'ladi. ReAct bu jarayonni tuzilgan, shaffof tarzda amalga oshirish imkonini beradi — har bir qadamda model "nega bu harakatni qilyapman" degan fikrni ham ko'rsatadi.
code.textTEXTVazifa: "Toshkentda hozir qancha issiq va bu haftalik o'rtachadan yuqorimi?"Thought: Avval joriy haroratni bilishim kerak.Action: get_weather(city="Toshkent")Observation: Hozirgi harorat 34°C.Thought: Endi haftalik o'rtacha haroratni bilishim kerak, taqqoslash uchun.Action: get_weekly_average(city="Toshkent")Observation: Haftalik o'rtacha 29°C.Thought: 34°C 29°C dan yuqori, demak bugun odatdagidan issiqroq.Final Answer: Ha, bugun 34°C, bu haftalik o'rtacha (29°C)dan yuqori.
Natija tavsifi: Model har bir qadamda avval nima uchun shu harakatni qilayotganini (Thought) ko'rsatib, so'ng harakatni (Action) bajarib, natijani (Observation) kuzatadi — bu jarayon oxirigacha davom etib, oxirida barcha kuzatuvlar asosida yakuniy javob shakllanadi.
⚠️ Common Mistake: ReAct naqshini juda oddiy, bir bosqichli vazifalarda ham majburiy qo'llash. Bu, ayniqsa oddiy so'rovlarda, keraksiz murakkablik va token sarfini yaratadi — ReAct faqat bir nechta ketma-ket, bir-biriga bog'liq harakat kerak bo'lgan vazifalarda foydali.
Task: "Bugungi kursda 100 dollar necha so'm bo'ladi" vazifasi uchun oddiy ikki bosqichli (Thought → Action → Observation → Final Answer) ReAct namunasi yozing.
Task: "Eng yaqin restoranni toping va u yopiq bo'lsa, ikkinchisini taklif qiling" vazifasi uchun ReAct namunasini yozing, unda birinchi urinish muvaffaqiyatsiz bo'lgan holat (Observation: yopiq) va model qanday moslashishini ko'rsating.
Task: Murakkab vazifa — "Eng arzon parvozni topib, agar byudjetdan oshsa, muqobil sanalarni tekshirib chiqing" — uchun to'liq, kamida 3 tsiklli ReAct jarayonini yozing, moslashuvchan qaror qabul qilishni ko'rsating.
code.textTEXTThought: Mahsulotni qidirishim kerak.Action: search_product("noutbuk")Observation: 15 ta natija topildi, hech biri aniq mos emas.Thought: Mahsulotni qidirishim kerak.Action: search_product("noutbuk")
Your Task: Bu ReAct jarayonida qanday muammo bor — tushuntiring va tuzating.
<details> <summary>Solution</summary> Muammo: Ikkinchi Thought va Action birinchisi bilan aynan bir xil — model Observation'dan (15 ta natija, hech biri mos emas) hech qanday xulosa chiqarmagan va strategiyasini o'zgartirmagan. Bu ReAct'ning asosiy g'oyasiga (moslashuvchanlik) zid.Tuzatilgan variant:
code.textTEXTThought: Mahsulotni qidirishim kerak.Action: search_product("noutbuk")Observation: 15 ta natija topildi, hech biri aniq mos emas (juda umumiy so'rov).Thought: So'rovni aniqroq qilishim kerak, masalan brend yoki narx oralig'i qo'shib.Action: search_product("noutbuk, 500-800 dollar oralig'ida")
Bu versiyada model Observation'dan xulosa chiqarib, strategiyasini moslashtiradi.
</details>ReAct — fikrlash (Thought), harakat (Action) va kuzatish (Observation) bosqichlarini ketma-ket takrorlaydigan, agentlar uchun keng qo'llaniladigan naqsh. Uning asosiy kuchi — har bir yangi natijaga (Observation) qarab strategiyani real vaqtda moslashtirish qobiliyatida, bu esa murakkab, natijasi oldindan noma'lum vazifalarda ayniqsa foydali.
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: