Talim

Sessiya jurnali

Append-only sessiya jurnali: davomiylik, tarmoqlar, audit, qidiruv va eksport — va «model nima ko‘rsa, u log'da» qoidasi.

7 daqiqa o‘qish · O‘rta → Ilg‘or

Sessiya jurnali — faqat qo‘shib boriladigan (append-only) fayl. Unga yozilgan narsa hech qachon o‘zgartirilmaydi. Va qolgan hamma narsa — aynan shu fayldan kelib chiqadi.

Bu qoidaning o‘zi kichik ko‘rinadi, lekin undan kutilgan va kutilmagan ko‘plab imkoniyatlar chiqadi.

Jurnaldan keladigan imkoniyatlar

Imkoniyat Nima beradi
Continuity — davom ettirish Suhbatni qolgan joyidan tiklash
Branches — tarmoqlar Eski nuqtadan ikkiga ajratish (fork)
Audit — qayta ijro Bosqichma-bosqich, xuddi bo‘lganidek qayta o‘tish (replay)
Search — qidiruv Sessiya ichidan biror narsani topish
Output — eksport Ma’lumotni tizimdan tashqariga chiqarish
Accounting — hisob Nimani, qayerda sarflanganini o‘lchash

Bularning barchasi bitta event oqimidan kelib chiqadi — har biri uchun alohida mexanizm qurilmagan.

Deyarli hech kim tushuntirmaydigan nuans

Model log’ni o‘qimaydi. U log’dan qurilgan proyeksiyani (projection) o‘qiydi. Xom bo‘laklar (raw fragments) alohida saqlanadi — va aynan ular sessiyani faqat xulosalash o‘rniga sodiq qayta ijro qilish imkonini beradi.

Eslatma

Proyeksiya va xom bo‘laklar o‘rtasidagi farq muhim: proyeksiya — modelga ko‘rsatiladigan ko‘rinish, xom bo‘laklar — nima bo‘lganini qayta tiklash uchun kerak bo‘lgan to‘liq asl ma’lumot. Shuning uchun sessiyani «taxminan» emas, «aynan» qayta ijro qilish mumkin.

Asosiy qoida: model nima ko‘rsa, u log’da

Har qanday so‘rovga yetib boradigan narsa log’dan qayta tiklanishi shart. Bu yaxshi niyat emas — buni tekshiradigan runtime check bor. Plagin yozayotganlar uchun amaliy natija: kontekstga iz qoldirmasdan yashirincha biror narsa kiritishning imkoni yo‘q.

Bu qoidaga nima uchun ishonish mumkin?

Tekshiruv qanday qurilganini ko‘rsangiz — dizayn jiddiy ekani ko‘rinadi:

  • Loyihadagi har bir paket o‘z tekshiruvlarini o‘z nomi ostida e’lon qiladi. Xatolik bo‘lsa, kim mas’ul ekani darhol ko‘rinadi.
  • «Tekshiradigan hech narsamiz yo‘q» deb e’lon qilgan paketni avtomatik skript rad etadi — agar buning uchun aniq, qo‘lda yozilgan izoh bo‘lmasa.

Ma'lumot

Bu — hech kim audit qilmaydigan va’daga qilingan jiddiy intizom. Shuning uchun bu da’voga ishonch bor: bu «keyin qo‘shib qo‘yilgan» faollik jurnali emas, dizaynning o‘zidan keladigan kuzatiluvchanlik (traceability by design).

Amalda bu nima beradi?

Agar siz agentning infratuzilmangizda nima qilgani uchun javob berishingiz kerak bo‘lsa — bu har qanday ishlash ko‘rsatkichidan muhimroq. Sessiya jurnali bu ishni «nazariy imkoniyat» emas, «ishlatishga tayyor xususiyat» qiladi.

Sessiya jurnali yetti tayanch qismdan biri ekanini ham eslaylik — u kontekstda ctx.sessions nomi ostida ro‘yxatdan o‘tadi va turn darsida ko‘rganimizdek, turn, step, message va tool event’lari aynan unga yoziladi.

Amaliy maslahat

Agentni sinashda sessiya jurnalini eksport qilib qo‘yish odat qiling: bitta faylda butun jarayon — qaysi tool chaqirilgan, nima natija bergan, qayerda rad etilgan. Muammoni qayta ijro orqali aniqlash shu faylsiz ancha qiyin bo‘ladi.

Xulosa

Sessiya jurnali — append-only fayl, va qolgan hamma narsa undan kelib chiqadi: davom ettirish, tarmoqlar, audit, qidiruv, eksport va hisob. Model log’ni emas, undan qurilgan proyeksiyani o‘qiydi; xom bo‘laklar sodiq qayta ijroni ta’minlaydi. «Model nima ko‘rsa, u log’da» qoidasi runtime check bilan himoyalangan. Keyingi darsda bu bilimlarni ishga solamiz — birinchi plaginimizni yozamiz.

Bu dars foydali bo‘ldimi?