Ejen AI · Pelajaran

Memori Jangka Pendek dalam Tetingkap Konteks

Simpan sejarah perbualan dalam tatasusunan messages — bentuk memori paling mudah, tetapi mempunyai had yang ketat.

Pelajaran 1 daripada 413 langkah

Memori Jangka Pendek dalam Tetingkap Konteks ialah pelajaran Ejen AI percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ejen AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Memori Hanyalah Senarai

"Memori" LLM berasaskan sembang ialah senarai messages yang anda hantar pada setiap panggilan. Model tidak mempunyai keadaan — model tidak mengetahui apa-apa antara permintaan.

"Memori jangka pendek" = apa sahaja yang terdapat dalam senarai itu sekarang.

Mengapa Ia Berfungsi

Anda menambahkan setiap mesej pengguna dan setiap respons pembantu. Apabila anda mengajukan soalan ketiga, model melihat:

messages = [
  {'role': 'system', 'content': 'You are helpful.'},
  {'role': 'user',   'content': 'My name is Alice.'},
  {'role': 'assistant', 'content': 'Nice to meet you, Alice.'},
  {'role': 'user',   'content': 'What is my name?'}
]
# Model replies: 'Alice'
for m in messages:
    print(f"{m['role']}: {m['content']}")
print("Model replies: Alice")

Had Tetingkap Konteks

Setiap model mempunyai tetingkap konteks yang ditetapkan — bilangan maksimum token dalam input + output yang digabungkan.

  • gpt-4o-mini: 128k token
  • claude-sonnet-4-5: 200k token
  • gemini-1.5-pro: 2M token

Jika melebihinya, API akan menghasilkan ralat.

Kos Token adalah Linear

Anda membayar setiap token pada setiap giliran. Sembang 30 giliran dengan 500 token bagi setiap giliran menelan kos 15,000 token input pada panggilan LAST sahaja — keseluruhan sejarah dimainkan semula.

Sesi yang panjang menjadi mahal dengan cepat.

Maklumat Hilang di Tengah

Walaupun dengan konteks 200k, model memberikan perhatian yang LESS kepada kandungan di tengah-tengah gesaan yang panjang. Maklumat penting hendaklah diletakkan di awal (sistem) atau di akhir (mesej pengguna terkini).

Pemotongan Tetingkap Gelangsar

Pengurusan memori yang paling ringkas — kekalkan mesej sistem + N giliran terakhir:

MAX_TURNS = 20  # 10 user + 10 assistant

def trim(messages):
    system = messages[0]
    rest = messages[1:]
    return [system] + rest[-MAX_TURNS:]

demo_messages = [{'role': 'system', 'content': 'sys'}] + [
    {'role': 'user' if i % 2 == 0 else 'assistant', 'content': f'msg {i}'} for i in range(30)
]
trimmed = trim(demo_messages)
print(f"Original messages: {len(demo_messages)}")
print(f"Trimmed messages: {len(trimmed)}")

Pemangkasan Berasaskan Token

Lebih tepat: pangkas mengikut jumlah token, bukan jumlah giliran:

import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')

def trim_by_tokens(messages, max_tokens=8000):
    out = [messages[0]]   # keep system
    tokens_left = max_tokens - len(enc.encode(messages[0]['content']))
    # walk backwards from newest
    for m in reversed(messages[1:]):
        cost = len(enc.encode(m['content'])) + 4
        if cost > tokens_left:
            break
        out.insert(1, m)
        tokens_left -= cost
    return out

Kekalkan Pasangan Bersama

Memangkas di tengah-tengah pasangan menyebabkan panggilan alat tanpa pasangan. Sentiasa pangkas giliran pengguna+pembantu bersama-sama:

# Bad: cuts after assistant call but before tool result
# Good: trim whole turns (user + all responses)
print("Bad: cuts after assistant call but before tool result")
print("Good: trim whole turns (user + all responses)")

Apabila Memori Jangka Pendek Tidak Mencukupi

Memori jangka pendek tidak lagi berkesan apabila:

  • Perbualan melebihi 20 giliran
  • Pengguna kembali pada hari berikutnya dan mengharapkan ingatan semula
  • Berbilang pengguna berkongsi ejen yang sama

Anda memerlukan strategi yang berbeza — lihat pelajaran seterusnya.

Gesaan Sistem Kekal Disematkan

Mesej sistem mesti sentiasa menjadi item pertama. Jangan pangkasnya. Mesej ini membawa identiti, peraturan dan penerangan alat.

Menyemat Kemas Kini Sistem Terkini

Jika anda menambah "ingat bahawa pengguna lebih suka Celsius" sebagai nota sistem, sematkan nota itu di bahagian hadapan seperti gesaan sistem asal:

SYSTEM_PROMPT = 'You are a helpful assistant.'
messages = [
    {'role': 'system', 'content': SYSTEM_PROMPT},
    {'role': 'system', 'content': 'USER PREFERENCE: Celsius units'},
    {'role': 'user', 'content': 'What is the weather in Paris?'},
    {'role': 'assistant', 'content': 'It is 21C and sunny.'},
]
print('Pinned system messages:')
for m in messages:
    if m['role'] == 'system':
        print(' -', m['content'])
print('Total messages:', len(messages))

Had Konteks

Apakah yang berlaku apabila anda melebihi tetingkap konteks model?

Ringkasan

Memori jangka pendek = senarai mesej. Uruskannya dengan pemangkasan berdasarkan tetingkap gelongsor atau token, sematkan mesej sistem, dan terima bahawa kos meningkat mengikut bilangan giliran.

Percuma untuk bermula

Pelajari Ejen AI dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
60
Pelajaran
239

Soalan Lazim

Adakah pelajaran “Memori Jangka Pendek dalam Tetingkap Konteks” percuma?

Ya — teks penuh “Memori Jangka Pendek dalam Tetingkap Konteks” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ejen AI, tingkat taraf kepada CoddyKit PRO. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Memori Jangka Pendek dalam Tetingkap Konteks”?

Simpan sejarah perbualan dalam tatasusunan messages — bentuk memori paling mudah, tetapi mempunyai had yang ketat. Anda berlatih Ejen AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ejen AI?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ejen AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Memori Jangka Pendek dalam Tetingkap Konteks” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ejen AI ini?

Ya. Setiap pelajaran Ejen AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memori Jangka Pendek dalam Tetingkap Konteks
  2. Sebab Konteks Panjang Tidak Berkembang dengan Baik
  3. Peringkasan sebagai Pemampatan
  4. Storan Memori Mudah (Nilai Kunci)
← Kembali ke Ejen AI