ㅡ Tembel backend dasturchisining o'zini hisobga olish ㅡ
Dinamik CMS loyihasi
2026 yil 1 oyda, bosh ofisga qaytib kelganimda qo'shilgan loyiha “Turizm kontentni boshqarish tizimi (Pinlime)” edi. O'tmishda bir kompaniyaga tatbiq etilgan loyihaga asoslangan holda eng yangi arxitektura ustida qayta ishlash olib borilayotgan edi. Ko'plab turistik manzillarni tartibli ravishda boshqarish uchun JSON tuzilmasini moslashuvchan ravishda saqlash va UIga erkin ravishda o'zgartira olish uchun loyihalangan edi.
DinamikCMSloyihasi
‘Seoraksan’ kabi tabiat manzaralariga tog' yo'llari kirish joyi yoki taqiqlash davri kabi maydonlarni, ‘muzey’ kabi joylarda dam olish kunlari va ish vaqti, ‘restoran’larda esa tanaffus va vegetarian menyularini kiritish imkonini beruvchi kiritish shakllarini real vaqt davomida render qilish, va keyinchalik ma'lumot tuzilishi o'zgarsa-da, tuzilmani osonlik bilan o'zgartirish imkoniyatiga ega bo'lgan darsliklardagi tizim edi va AI orqali tahlil qilsangiz ham sezilarli darajada zohiriylik bo'lmagan vaqti ishlashiga yaxshi ball oladigan loyihalangan edi.
Foydalanish qiyin bo'lgan tizim
Dasturchi sifatida bu tuzilma aniq ravishda moslashuvchan va jozibador edi. Ammo turistik ma'lumotlarni kiritish uchun kirish maydonlarini aniqlash, kirish maydonlarini to'plash va kiritish guruhini aniqlash, muayyan turistik joylar toifasiga mos keladigan kontent modelini aniqlash va turistik joylarga moslamoq hamda turistik ma'lumotlarni kiritish jarayonida shubhalar paydo bo'lishni boshladi.
Bu tizimni bevosita loyihalaganim uchun kirish maydonlari, guruhlar, model yaratish va turistik ma'lumotlarni kiritish jarayonini bilsam ham, buni ko'plab takrorlanuvchi ishlar va mos maydonlarni topib modelni aniqlash jarayonida tezda charchab qoldim. Tizimni men yaratganimda ham shunday charchasam, tizimni bilmaydigan joydagi xodimlar bu tizimni yaxshi ishlatishadimi, degan savol boshimdan ketmay qoldi.
Oson kutiladigan joy holatlari
AI - LLM bilan uchrashuv
Ushbu vaqtda men boshqalar ishlatadigan Cloud Code yoki Codexdan foydalanishni bilmasdim, faqatgina LLM veb-saytida kod yoki loyihaning tafsilotlarini so'rab tekshirish darajasida edim. Boshqacha qilib aytganda, AIga mo'jizaviy ishlarga taalluqli emasdim. AI muhandisi desangiz, men model yaratib, o'rgatish orqali AlphaGo kabi mahsulotlar ishlab chiqarishni o'ylardim va undan qo'choq bir hayot kechirdim. Shuning uchun, ushbu tizimni joyda oson foydalanadigan qilish uchun o'ylash mumkin bo'lgan yagona yo'l foydalanuvchi interfeysini yaxshilash edi.
Shu payt Pinlimega “AI sayohat yozuvchisi” funksiyasini qo'shishga qaror qilingandi. Ushbu funksiya Lakey jamoasi tomonidan ishlab chiqilayotgan edi va men Pinlime va Lakey o'rtasidagi ma'lumotlar quvurini ulashda ishtirok etdim. Lakey jamoasiga ma'lumotlarni uzatish va tayyorlangan ma'lumotlarni ekranga uzatish jarayoni edi, ammo bir oz qiziqish va foydalanishga oson interfeysni shakllantirish uchun ko'proq batafsil o'rganishga qaror qildim.
AI ni tizim tuzishga jalb qilish kutilmaganda oddiy ish edi. Bizning Gemini veb-saytida LLMdan savol so'rashdan unchalik farq qilmaydi. Mobil ehtiyojlar ko'plab AI funksiyalari “Prompt yaratish -> LLMni chaqirish -> Natijani ko'rsatish” darajasida amalga oshirilmoqda.
-
Sayohat yozuvchisi: sayohat joylari ma'lumotlari + esee yozish promti + so'rov = natija esee
-
Ko'p tilli tarjima: tarjima qilinadigan matn + tarjima promti + so'rov = tarjima natijasi
AI qo'llanish qiyinligi
LLM dan foydalangan holda rivojlantirishga kirishganda, agar sayohat joylari tanishtiruvchi matn mavjud bo'lsa, matndanoq sxemaga muvofiq JSON natijasini tayyorlash qiyin emas edi. Mavjud kontent modelida biz chiqarishimiz kerak bo'lgan ma'lumotlar batafsil belgilab qo'yilgan, shuning uchun odamlar har birini shaklga muvofiq kiritish o'rniga, matn kiritish maydoniga sayohat joylari matnini qo'yish orqali bir necha soniya ichida sayohat joylari ma'lumotlari kiritish maydoniga aniq tushishini guvohi bo'ldim..
Avval AI ni, ya'ni LLM ni qo'llash usullarini bilib olgach, ko'proq g'oyalar ishlab chiqish bosqichiga keldim. Kontent modeli zaruratga ko'ra ma'lum maydonlarning qo'shilishi yoki o'chirilishini imkonini beradi. Va, o'zgarish sodir bo'lganidan so'ng, eski versiyalarga tayyorlangan kontentni o'sha eski model tuzilishi bilan ma'lumotlarni ko'rsatish uchun bilishi kerak, shuning uchun revision yoki snapshot nomi ostida boshqarilgan edi. LLM dan oldingi davrda eski versiyaning eski versiyada, yangi versiyaning esa yangi versiyada ko'rsatilishi hammasi edi, lekin LLM qo'llanilganda eski versiya ma'lumotlarini yangi versiyaça o'zgartirish muammoni hal etishda qiyin emas ekan.
Qo'llar bir oz ko'proq harakatlanadi, lekin kontent ko'chirish osonlashdi
AI-Native ga rivojlantirish usulini o'zgartirish
Albatta, misollar berganimdek, LLM/LMM dan foydalangan ilovalar rivojlantirish oson emas. An'anaviy dasturlash “kirish->qoidalar->belgilangan chiqish” bo'lsa, LLM/LMM dan foydalangan rivojlantirish esa “kirish->tasodifiy xulosalash->o'zgaruvchan chiqish” bo'lganligi uchun natijani shunchaki belgilab qo'ysak, muammo kelib chiqishi mumkin. Hallusination nazorati, chiqish formatini tuzish, promt xavfsizligi va yovuz kirishlarni bloklash, nozik ma'lumotlarni oshkor qilishni oldini olish, token xarajatlarini nazorat qilish kabi an'anaviy dasturlash bilan taqqoslaganda ko'p narsalarni hisobga olish kerak.
Shunga qaramay, an'anaviy dasturiy ta'minot rivojlantirish uslublaridan LLM/LMM asosidagi rivojlantirish uslubiga o'tish zarurati aniqdir. Mavjud usul bilan hal qilish uchun xarajat va vaqt ko'p talab etadi yoki amalga oshirish qiyin bo'lgan sohalarni LLM/LMM 100% aniq natija bermasa ham juda samarali hal qilib beradi.
Ehtimol, men AI-Native dasturiy ta'minot ishlab chiqishning Hello World bosqichida bo'lishim mumkin. Hello World ni yozish uchun yetarli bilim bilan bunday matnni qoldirish o'zi aybdorlik hissini uyg'otadi. LLM/LMM API ni chaqirish oson, ammo promtni to'g'ri boshqarish va an'anaviy dasturiy injenerlik usullaridan foydalanib to'liq nazorat qilish boshqa darajadagi muammo. Har qachon ehtimollik bilan harakatlanayotgan AI bo'lsa-da, biz yaratayotgan 'mahsulot' doimo taxminiy doirada ishonchli ishlashi zarur. Faqat shunda foydalanuvchilar xavfsizlik bilan foydalanishlari mumkin. Buni to'g'ri boshqarish AI davrida bizning dasturchilarning roli deb o'ylayman.
zacca