Memori Jangka Pendek di Jendela Konteks
Simpan riwayat percakapan dalam array messages—memori paling sederhana, sekaligus pahami batasannya yang ketat.
Memori Jangka Pendek di Jendela Konteks adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Memori Hanyalah Sebuah Daftar
"Memori" LLM bergaya obrolan adalah daftar messages yang Anda kirim pada setiap panggilan. Model tidak memiliki status — model tidak mengetahui apa pun di antara permintaan.
"Memori jangka pendek" = apa pun yang saat ini ada dalam daftar tersebut.
Mengapa Ini Berfungsi
Anda menambahkan setiap pesan pengguna dan setiap respons asisten. Saat Anda mengajukan pertanyaan 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")
Batas Jendela Konteks
Setiap model memiliki jendela konteks yang memiliki batas tegas — jumlah maksimum token gabungan dalam masukan + keluaran.
- gpt-4o-mini: 128 ribu token
- claude-sonnet-4-5: 200 ribu token
- gemini-1.5-pro: 2 juta token
Jika melampauinya, API akan menghasilkan error.
Biaya Token Bersifat Linear
Anda membayar setiap token pada setiap giliran. Obrolan 30 giliran dengan 500 token per giliran menghabiskan 15.000 token masukan hanya pada panggilan LAST — seluruh riwayat diputar ulang.
Sesi yang panjang menjadi mahal dengan cepat.
Informasi yang Hilang di Tengah
Bahkan dengan konteks 200 ribu token, model memberikan perhatian LESS pada konten di tengah prompt yang panjang. Informasi penting sebaiknya ditempatkan di awal, yaitu di sistem, atau di akhir, yaitu pada pesan pengguna terbaru.
Pemotongan dengan Jendela Geser
Manajemen memori paling sederhana — pertahankan pesan 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 Berbasis Token
Lebih tepat: pangkas berdasarkan 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 outPertahankan Pasangan Tetap Utuh
Memangkas di tengah pasangan akan menyisakan panggilan alat tanpa pasangan. Selalu pangkas giliran pengguna+asisten secara bersamaan:
# 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)")
Saat Memori Jangka Pendek Tidak Cukup
Memori jangka pendek tidak memadai ketika:
- Percakapan berlangsung lebih dari 20 giliran
- Pengguna kembali keesokan hari dan mengharapkan informasi diingat
- Beberapa pengguna berbagi agen yang sama
Anda memerlukan strategi yang berbeda — lihat pelajaran berikutnya.
Perintah Sistem Tetap Disematkan
Pesan sistem harus selalu menjadi item pertama. Jangan pernah memangkasnya. Pesan ini memuat identitas, aturan, dan deskripsi alat.
Menyematkan Pembaruan Sistem Terbaru
Jika Anda menambahkan "ingat bahwa pengguna lebih menyukai Celsius" sebagai catatan sistem, sematkan catatan tersebut di bagian depan seperti perintah sistem asli:
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))
Batas Konteks
Apa yang terjadi ketika Anda melampaui jendela konteks model?
Rangkuman
Memori jangka pendek = daftar pesan. Kelola dengan pemangkasan berdasarkan jendela geser atau token, sematkan pesan sistem, dan terima bahwa biayanya meningkat seiring bertambahnya giliran.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memori Jangka Pendek di Jendela Konteks” gratis?
Ya — teks lengkap “Memori Jangka Pendek di Jendela Konteks” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memori Jangka Pendek di Jendela Konteks”?
Simpan riwayat percakapan dalam array messages—memori paling sederhana, sekaligus pahami batasannya yang ketat. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Memori Jangka Pendek di Jendela Konteks” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Memori Jangka Pendek di Jendela Konteks
- Mengapa Konteks Panjang Tidak Berskala
- Perangkuman sebagai Kompresi
- Penyimpanan Memori Sederhana (Kunci-Nilai)