Talim

Agent memory

Agent xotirasi turlari: kontekst, suhbat tarixi va uzoq muddatli saqlash.

9 daqiqa o‘qish · O‘rta

Agent xotirasi — bu tizimning kontekstni saqlash qobiliyati. Xotirasiz agent har safar «boshidan boshlaydi».

Xotira turlari

Tur Davomiylik Misol
Kontekst Bitta so‘rov Joriy prompt
Suhbat tarixi Bitta sessiya Chat log
Ish xotirasi Vazifa davomida Reja, oraliq natijalar
Uzoq muddatli Sessiyalar o‘rtasida Fayllar, vektor DB

Kontekst va suhbat tarixi

Eng oddiy xotira — konversatsiyani promptga qo‘shish:

messages = [
    {"role": "system", "content": "Sen yordamchi agent."},
    {"role": "user", "content": "Mening ismim Aziz."},
    {"role": "assistant", "content": "Salom Aziz!"},
    {"role": "user", "content": "Ismimni eslaysanmi?"},
]

Muammo: kontekst cheklangan (masalan, 128K token). Uzoq suhbatlar sig‘maydi.

Kontekstni boshqarish

Uzoq suhbatda kontekstni boshqarish kerak:

  1. Kesish — eski xabarlarni olib tashlash.
  2. Xulosa — eski suhbatni xulosalash va xulosani saqlash.
  3. RAG — kerakli ma’lumotni vektor bazadan olish.
def manage_context(messages, max_tokens=8000):
    total = sum(len(m["content"]) for m in messages)
    if total <= max_tokens:
        return messages
    # Eski xabarlarni xulosalash
    summary = llm.summarize(messages[:-10])
    return [
        {"role": "system", "content": f"Avvalgi suhbat xulosasi: {summary}"},
        *messages[-10:],
    ]

Uzoq muddatli xotira

Agent sessiyalar o‘rtasida ma’lumotni saqlashi kerak bo‘lsa:

# Vektor bazaga yozish
vector_db.add(
    id="user_pref_aziz",
    content="Aziz Python va agentlarga qiziqadi",
    metadata={"user": "aziz"},
)

# Keyingi sessiyada olish
prefs = vector_db.search("Aziz qiziqishlari", limit=3)

Muhim

Xotira maxfiy ma'lumotlarni saqlashi mumkin. Foydalanuvchi ruxsatisiz shaxsiy ma'lumotni uzoq muddat saqlamang.

Xulosa

Agent xotirasi — kontekst, suhbat tarixi va uzoq muddatli saqlash kombinatsiyasi. Kontekst cheklangan, shuning uchun uni boshqarishni bilish muhim.