AI Kod Agent Loyihangni Nega Unutib Ketadi?
Nima uchun AI kod yozuvchi agent loyihangizni unutib qo'yadi (va buni qanday tuzatish mumkin)
Ko'pchilik buni boshidan kechirgan. Bir necha kunlik loyiha ustida AI kod yozuvchi yordamchi bilan ishlayapsiz. Birinchi kun yaxshi o'tadi — API yaratadi, test yozadi, hamma narsani hujjatlashtiradi. Ikkinchi kun? Yangi suhbat, agent adashgan holatda, siz butun loyiha tuzilmasini qaytadan tushuntirasiz. Uchinchi yoki to'rtinchi kunda esa 70 000 tokenlik suhbatlarni o'qib, oldingi sessiyalarda nima qaror qilinganini qayta tiklashga harakat qilasiz.
Muammo context window chegarasi bilan bog'liq tuyuladi, lekin aslida boshqa sabab bor: loyihaning holatini noto'g'ri joyda saqlayapmiz.
Suhbat asosidagi xotiraning yashirin xarajati
Suhbat odam va AI o'rtasidagi hamkorlik uchun juda yaxshi. Lekin loyiha ma'lumotlarini saqlash uchun yaroqsiz.
Bu nima uchun muhim:
- Suhbat bir marta yoziladi, ko'p marta o'qiladi. Qaror suhbatdan o'tib ketgach, uni topish uchun minglab tokenlarni ko'rib chiqish kerak.
- Yagona haqiqat manbai yo'q. API spetsifikatsiyasi uchinchi sessiyadami o'zgargan, beshinchisidami? Qaysi versiyani asos qilib qabul qilyapsiz?
- Yangi agent hech qanday ma'lumotga ega emas. Yangi suhbat — bu boshidan boshlash degani.
- Holat o'zgarishi to'planib boradi. Bir agent test strategiyasini tanlaydi. Ikkinchisi kodni o'zgartiradi. Uchinchisi hujjatlarni "tayyor" deb belgilaydi, aslida ular yarim tugallangan. Hech kim bu qarama-qarshiliklarni kuzatmaydi.
AI yordamida dasturlashdagi asosiy muammo — agent kod yozishini biladimi yoki yo'qmi emas. Muammo — agent nima qurayotganingizni va nima uchun qurayotganingizni tushunadimi yoki yo'qmi.
Ishlaydigan oddiy yechim
Loyiha holatini kod saqlanadigan tarzda saqlasakchi — ya'ni repositorydagi versiyalangan fayllar sifatida?
Wiki emas. Alohida loyiha boshqaruvi vositasi emas. Oddiy, tartibli Markdown fayllar, engillashtirilgan metadata bloklari bilan.
Misol:
# Loyiha arxitekturasi bo'yicha qaror
Lifecycle: active
Role: spec
Project: payment-service
Updated: 2024-01-15
Related:
- implements: charter-payment-api
- pairs-with: implementation-log-payment-core
## Umumiy ma'lumot
To'lov xizmatida Stripe API ni to'g'ridan-to'g'ri ishlatamiz, chunki...
## Asosiy qarorlar
- Barcha operatsiyalar uchun idempotency keys
- Webhook larni asinxron qayta ishlash va exponential backoff
- PII ma'lumotlar lokal saqlashga tegmaysi
## Ochik savollar
- Rate limit holatini kesh qilish kerakmi?
Bu ataylab sodda qilingan. Maxsus sintaksis yo'q. Ma'lumotlar bazasi yo'q. Ortiqcha narsalar yo'q. Faqat:
- Sarlavha
- Lifecycle (active, completed, archived)
- Role (spec, log, decision, guide)
- Boshqa yozuvlar bilan bog'liqlik
- Asosiy mazmun
Asl sehr formatda emas — nima qilish mumkinligida.
CLI vositasi quyidagilarni bajarishi mumkin:
- Yangi yozuvlarni bir xil tuzilishda yaratish
- Tugallangan yozuvlarni o'chirmasdan arxivlash
- Yozuvlarni ko'chirish va bog'liqliklarni avtomatik yangilash
- Filtrlar bilan barcha yozuvlarni ko'rsatish
- Bog'liqliklar haqiqiy yozuvlarga ishora qilayotganini tekshirish
- Indeksni avtomatik yaratish — qo'lda yangilash shart emas
Bu nima uchun AI ish jarayonlarini o'zgartiradi
Muhim o'zgarish shundaki: yangi agentdan "suhbatni ko'rib chiqib, nima qilayotganimizni tushun" deb so'rash o'rniga, unga CLI buyruqini berasiz.
docs list --project=payment-service --role=spec
docs list --lifecycle=active
docs check # bog'liqliklarni tekshirish
Agent suhbat tarixidan qazib chiqarish o'rniga, loyiha holatini so'rash imkoniyatiga ega bo'ladi. Ko'radi:
- Qanday qarorlar qabul qilingan
- Hozir nima ustida ishlanmoqda
- Nima bloklangan yoki kutilmoqda
- Qaysi hujjatlar haqiqiy, qaysilari tarixiy
Eng muhimi: agent holatni buyruqlar orqali o'zgartirishi mumkin, fayllarni to'g'ridan-to'g'ri tahrir qilmasdan.
Agent metadata ni to'g'ri tahrir qiladimi deb umid qilish o'rniga, unga fe'llar berasiz:
docs create --role=log "Rate limiting amalga oshirildi"
docs archive --record=spec-v2-deprecated
docs touch --record=spec-payment-api # vaqtni yangilash
Bu buyruqlar o'zgarmas qoidalarni o'z ichiga oladi. Lifecycle, fayl joylashuvi, bog'liqliklar va yaratilgan indeks hammasi birga harakat qiladi. Agent tizimni tasodifan buzib qo'ya olmaydi, chunki vosita bunga yo'l qo'ymaydi.
Yangi agent, ma'lum holat
Bu yerda qiziqarli narsa paydo bo'ladi: "yangi agent namunasi."
Odatda yangi sessiya boshlash — bu ma'lumot yo'qolishi degani. Tartibli holat bilan esa:
- Agent yangi suhbatga kiradi
- Birinchi ish —
docs listni ishga tushirib, faol narsalarni tushunish - Uchta tugallangan bosqich va bitta davom etayotganini ko'radi
- Kecha nima sinab ko'rilganini bilish uchun implementation log ni o'qiydi
- Nima qurishi kerakligini bilish uchun spec ni tekshiradi
Suhbat arxeologiyasi yo'q. Tarqoq xabarlardan qarorlarni qayta tiklash yo'q. Faqat: nima sodir bo'layapti, keyin nima qilish kerak.
Eski suhbat? Endi uni yopish mumkin. Holat repositoryda saqlanadi — u yerda bo'lishi kerak bo'lgan joyda.
Bu qachon muhim
Agar siz quyidagilarni qilsangiz, bu siz uchun muhim:
- Bir necha kun davom etadigan sessiyalarda AI pair programming vositalari bilan ishlasangiz
- To'liq ma'lumot uzatmasdan qayta boshlanishi kerak bo'lgan AI agent ish jarayonlarini boshqarsangiz
- Loyiha yaxlitligini tekshirish kerak bo'lgan CI/CD pipeline larni ishga tushirsangiz
- Qabul qilingan va hali ochiq qolgan narsalar haqida umumiy tushunish kerak bo'lgan jamoada ishlasangiz
- Tez-tez o'zgartirishlar kiritib, joriy spec aslida nima deyishini unutib qo'ysangiz
Bu usul Git, test yoki kod review ni almashtirmaydi. Bu AI yordamida dasturlashni vaqt o'tishi bilan haqiqatan ham izchil qiladigan bog'lovchi qatlam.
Oddiy haqiqat
Bu yondashuvning eng yaxshi tomoni — u qanchalik zerikarli ekanligi. Siz yangi ma'lumotlar bazasi paradigmalarini o'ylab topmayapsiz. Maxsus IDE qurmayapsiz. Faqat dasturchilar allaqachon biladigan vositalardan (Markdown, Git, CLI) foydalanib, ular yaxshi bajara oladigan ishni qilyapsiz.
Chetki holatlar usulning to'g'riligini tasdiqlaydi. Agent tasodifan bog'liqlikni buzib qo'ydimi? Validatsiya uni ushlaydi. Arxivlangan yozuvni o'tkazib yubordimi? Ro'yxat buyrug'i uni ko'rsatadi. Ikki sessiya o'rtasida holat o'zgarishi sodir bo'ldimi? Indeks — bu shartnoma, u yo to'g'ri, yo yo'q.
Bu orqaga qaraganda aniq tuyuladigan infratuzilma turi. Lekin aynan shu narsa "agent qandaydir darajada ishlagan" bilan "agent loyihani tushundi va uni yakunladi" o'rtasidagi farqni yaratadi.