Memori Jangka Pendek dalam Tetingkap Konteks
Simpan sejarah perbualan dalam tatasusunan messages — bentuk memori paling mudah, tetapi mempunyai had yang ketat.
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 outKekalkan 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.
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
- Memori Jangka Pendek dalam Tetingkap Konteks
- Sebab Konteks Panjang Tidak Berkembang dengan Baik
- Peringkasan sebagai Pemampatan
- Storan Memori Mudah (Nilai Kunci)