Agent xotirasi: qatlamlar va amaliy arxitektura

AI-agent o'z-o'zicha hech narsani eslab qolmaydi. Har bir suhbat oxirida — kontekst tugadi, oyna yopildi, model unutildi. Bu klassik LLM bilan ishlashning eng katta cheklovi. Yaxshi qurilgan xotira tizimi shu chegaradan o'tishga yordam beradi: agent o'zining oldingi qarorlarini eslaydi, takror xatolarni qaytarmaydi, foydalanuvchi haqida bilgan narsalarni saqlaydi.
Ushbu qo'llanmada xotira arxitekturasining asosiy qatlamlarini va amaliy paternlarini ko'rib chiqamiz.
Nima uchun kontekst oynasi yetarli emas?
Hozirgi modellarning kontekst oynasi katta — Claude Sonnet 4.6 da 200K token, Gemini 2.5 da 1M+. Lekin shunday bo'lsa-da, faqat kontekstga tayanish — bu xatolik:
- Narx: har bir so'rovga butun oyna yuborilsa — pul yondi.
- Sifat: kontekst qancha to'lsa, modelning diqqati shuncha tarqaladi. 100K dan keyin "iskala" effekti — eng muhim narsa unutiladi.
- Sessiyalar orasidagi davomiylik: yangi suhbatda kontekst nolda. Agent kechagi gapingizni bilmaydi.
- Hajmi cheklangan: 200K token bu juda ko'p, lekin bir yilning ish kunlari logini sig'dirmaydi.
Yechim — kontekst ichiga butun tarixni emas, balki kerakli qismni olib kelish. Buning uchun xotirani qatlamlarga bo'lish kerak.
Xotira qatlamlari
1. Working memory (ishchi xotira)
Eng yuqori qatlam — hozirgi sessiya. Bu — model ko'rayotgan barcha narsa: tizim promti, suhbat tarixi, joriy savol, ulangan hujjatlar.
- Hajmi: model kontekst oynasi (200K Claude uchun).
- Tezligi: darhol — token-by-token.
- Xarajati: har bir so'rovda to'lanadi.
- Vazifa: bevosita javob berish uchun zarur kontekstni tutib turish.
Optimallashtirish: prompt caching (Anthropic), kontekstni stabil hujjatlar bilan to'ldirish (cache hit beradi), oxirida o'zgaruvchi savolni qo'shish.
2. Episodic memory (epizodik xotira)
Suhbat tarixi va aniq voqealar. "Kecha biz mahsulot narxi haqida nima gaplashgan edik?" — bu epizodik xotira savoli.
- Saqlanish joyi: vektor ma'lumotlar bazasi (Pinecone, Qdrant, pgvector) yoki SQL.
- Indekslash: har bir xabar embedding ga aylanadi, semantik qidiruv mumkin.
- Yuklash: foydalanuvchi savol berganida — embedding orqali eng yaqin epizodlarni topish va kontekstga qo'shish.
Amaliy yondashuv: agar sessiya 30 ta xabardan uzun bo'lsa — eski xabarlarni umumlashtirish (summarization), umumlashtirilgan blokni saqlash, asl xabarlarni vektor DB ga.
3. Semantic memory (bilim xotirasi)
Bilim bazasi — fakt, qoida, qo'llanma, hujjat. Bu — RAG ning klassik vazifasi.
- Saqlanish joyi: vektor DB + matn arxivi.
- Yangilanish: tashqi manbalardan yangi hujjatlar kelganida.
- Yuklash: savolga muvofiq eng mos hujjat parchalarini kontekstga qo'shish.
Tipik chunk-strategy: 500–1000 token bo'laklarga bo'lish, 10–15% overlap, har biriga metadata (manba, sana).
4. Procedural memory (jarayonli xotira)
Qoidalar, paternlar, qaror qabul qilish protokollari. Bu — agent o'zini qanday tutishi haqida.
- Saqlanish joyi: matn fayllar (
CLAUDE.md,rules.md,system-prompt.md). - Yuklash: har bir sessiya boshida tizim promtga qo'shiladi.
- Yangilanish: qo'lda yoki self-improvement orqali (agent o'z xatolaridan o'rganadi).
Hooks — xotirani avtomatlashtirish
Faqat xotirani saqlash kam — uni avtomatik yangilash kerak. Hooks shu uchun.
Tipik hook-lar:
- pre-query: savol kelganida — semantik qidiruv, kontekstga top-K natijani qo'shish.
- post-query: javob berilgandan keyin — bu epizodni xotiraga yozish.
- session-end: sessiya tugaganda — uzun suhbatni umumlashtirish, asl xabarlarni arxivga.
- rule-violation: agent biror qoidani buzganida — bu kuzatuvni
lessons.mdga yozish.
Hook-lar dasturlash darajasida amalga oshiriladi (Python skriptlar, agent SDK-lari) yoki klient sozlamalarida (Claude Code-da .claude/settings.json orqali).
O'z-o'zini takomillashtirish
Eng kuchli pattern — agent o'z xatolaridan o'rganadi. Bu shunday ishlaydi:
- Foydalanuvchi tuzatish kiritadi ("yo'q, bunday emas")
- Hook tuzatishni qayd qiladi:
episodes/2026-05-28-correction.md - Vaqti-vaqti bilan (kuniga 1 marta, masalan) — agent o'zining episodes-ni o'qiydi, qaytadigan paternlarni topib, ularni
rules.mdga ko'taradi - Yangi qoida — keyingi sessiyada avtomatik qo'llaniladi
Bu — kichik LLM-classifier yoki promt-template orqali bajariladigan vazifa. Murakkab emas, lekin agentni tirik qiladi.
Amaliy maslahatlar
- Boshlang sodda: faqat
CLAUDE.md+ suhbat log. RAG va vektor DB keyinroq, agar haqiqatan kerak bo'lsa. - Tezlik muhim: agar xotirani yuklash 2 soniya olsa — foydalanuvchi shovqinni sezadi. Asinxron yoki kechiktirib yuklang.
- Sifatni o'lchang: xotira yangilanganda — javob sifati o'zgardimi? Aniq misollarda tekshiring.
- Privacy: foydalanuvchi ma'lumotlarini saqlash — javobgarlik. Encryption at rest, GDPR-uyumlilik, foydalanuvchining "unut meni" tugmasi.
Keyingi qadamlar
- CLAUDE.md — Claude Code uchun kontekst fayli (tayyorlanmoqda)
- Vektor ma'lumotlar bazasini tanlash (tayyorlanmoqda)