AI kod yozuvchi agentlari uchun aniq talablar nima uchun shart? Spekifikatsiya tuzog‘i!
Agentli dasturlashdagi asosiy muammo yangi emas — AI uni ochiq ko'rsatdi
Agentli dasturlashda yashirin haqiqat bor: koddan emas, qaysi kod yozishni hal qilishdan muammo chiqadi.
Fred Brooks 1986-yilda No Silver Bullet kitobida shuni aytgan. U dasturlashdagi katta o'zgarishlar — obyektga yo'naltirilgan dizayn, vaqt bo'lishi, strukturali dasturlash — ozgina yordam berganini ko'rsatgan. Chunki ular tasodifiy murakkablikni (yozishdagi tartibsizlikni) hal qilgan, ammo asosiy murakkablikni (fikrlashdagi qiyinchilikni) emas. Dasturiy ta'minotda asosiy ish — spec fazasi: mijozlarni birlashtirish, tanlovlarni hal qilish va hali qurilmagan tizim talablarini aniq belgilash.
Endi AI kod yozishni qo'lga oldi. Hammasi spec muammosi ham yo'qoladi deb o'ylaydi. Xato. Yo'qolmadi.
"Batafsil spec" va "Oddiy til spec" bir xil emas
Zamonaviy vositalar — AI PRD generatorlaridan spec tekshirgichlargacha — shunday deb o'ylaydi: AI to'g'ri savollar bersa, spec bo'shliqlari to'ldiriladi.
Bu noto'g'ri. Oddiy til noaniqlik beradi. Shuning uchun formal yozuv paydo bo'lgan. Juda chiroyli o'qiladigan product spec yozsa ham, unda AIga kerakli texnik aniqlik yo'q bo'lishi mumkin. "Foydalanuvchi dashboardni 2 soniyada ko'rmasligi kerak" degani bilan "Analytics dashboard P95 latency <2000ms, 99% 5000ms chegarasi" o'rtasidagi farq — uslub emas, specdir.
Vague specni AI agentga bersangiz, ikki narsa bo'ladi:
Noaniqlik g'alati kodda chiqadi. Agent ishlaydigan, lekin arxitekturasi zaif kod yozadi. Keyin 3 sprint refactor qilasiz.
Agent o'z-o'zidan to'ldiradi. O'quv ma'lumotlaridagi naqshlarni oladi — minglab shunga o'xshash loyihalar — va siz aytmaganningizni bajadi.
Hech biri yaxshi emas.
Agentli kod qayerda ishlaydi, qayerda emas
Rostini aytsak, agentli dasturlash tor sohalarda ajoyib. Landing page, CRUD app, boilerplate integratsiyalar, standart e-commerce — bular yaxshi ishlaydi. Chunki ular bir xil muammolar. O'quv ma'lumotlarida minglab misollar bor. Agent yangi narsani o'ylamaydi, naqsh topadi.
Bu foydali. Yakkaxon founder 10 barobar tez ishlaydi. Kichik jamoa haftalik ishni soatda bitiradi. Haqiqiy samaradorlik.
Ammo shart: bu aniq spec tufayli ishlaydi. Muammo maydoni shu qadar yaxshi ma'lumki, spec deyarli yashirin bo'ladi.
Qolgan hollarda — maxsus biznes logikasi, yangi integratsiyalar, kelajakdagi rivoj uchun arxitektura — odamlar o'ylashi kerak. AI yozishni tezlatadi, fikrlashni emas. U "boshqa yo'l yaxshiroq" deb rad eta olmaydi, faqat aytganingizni bajaradi.
Bir dasturchi aytgan: "AI kod yozadi, lekin nima uchun X qilmaslik kerakligini o'zi o'ylamaydi." Bu product fikrlash. Uni hech kim almashtira olmaydi.
Haqiqiy to'siq: odamlar o'rtasidagi uzatish muammosi
Spec qiyin bo'lsa va AI uni hal qilmasa, nima yordam beradi?
Javob oddiy: odamlar o'rtasidagi muloqotdagi to'siqlarni kamaytirish.
Product manager brifni engineer ga bersa, u bir hafta uchrashuvlarda edge caselar va tanlovlarni tushuntirsa — spec muammosi. Dizayner mockuplari backend cheklovlari bilan to'qnashsa — spec muammosi. AI agent siz aytmaganni qo'shsa — spec muammosi.
Yechim — murakkab agent yoki validator emas. Odamlar o'rtasida aniqlikni majbur qilish, agent ishga tushishidan oldin.
Bu shunday:
- Specni asosiy hujjat qilish. Kod generatsiyasi unga bog'liq shartnoma.
- Tanlovlarni yozib olish. Nega eventual consistency? Nega shu data model? Hammasini belgilash.
- Muhim joyda formal yozuv. SQL schema, API contract, performance budget — aniqlik beruvchi vositalar.
- Erta agent testlari. Kichik kod qism generatsiya qilib, specdagi noaniqliklarni topish va tuzatish.
Sizning workflowingizga ta'siri
AI bilan production tizim qursangiz, "agent ishlatmang" demayman. Specga ko'proq sarmoya kiring.
"Tez harakat" davrida bu g'alati tuyuladi. Lekin yomon spec bilan tezlik — noto'g'ri nishonga tez yetish. Agent bilan yutqazayotgan jamoalar agentga "nima qur?" deb so'raydi. Yutayotganlar esa oldindan o'ylab, agentni bajaruvchi sifatida ishlatadi.
Startap va kichik jamoalar uchun: ustunlik kod generatsiyasida emas, spec aniqligida. Agar biznes logikangizni shunday aniq aytsangizki, AI ishonchli bajaradi — eng qiyin qismni hal qildingiz. Kod yozish osonlashdi.
Xulosa
Fred Brooks 1986-yilda to'g'ri aytgan, 2025-yildamoq. Dasturiy ta'minotning asosiy murakkabligi qurilishda emas, tasavvurda. AI bu haqiqatni o'zgartirmadi — faqat vague fikrlash va aniq kod orasidagi farqni ko'z oldiga chiqardi.
Keyingi samaradorlik to'lqini yaxshi agentlardan emas, spec amaliyotini qattiq boshqaradigan jamoalardan keladi. Talablarni muhandislik sifatida ko'radi va AI ni aniqlikni kuchaytirish uchun ishlatadi.
AI va dasturlash kesishmasidagi haqiqiy imkoniyat shu. Va uni hech agent qila olmaydi: nima qurmoqchi ekanligingiz haqida chuqur o'ylash.