Setiap sesi coding agent dimulai dalam keadaan kosong. Claude Code menyatakannya sendiri dalam dokumentasinya: setiap sesi dimulai dengan context window yang baru. Tool ini tidak mengingat apa pun yang Anda beritahukan kemarin, kecuali ada sesuatu di luar percakapan yang meneruskannya. Karena itu, mempelajari cara mempertahankan konteks antar sesi AI bukanlah soal satu trik saja; ini soal mengetahui di lapisan mana dari empat lapisan sebuah konteks tertentu seharusnya diletakkan, lalu menempatkannya di sana sebelum sesi berakhir.
Panduan ini membahas keempat lapisan tersebut secara berurutan: file instruksi yang dibaca tool saat diluncurkan, catatan yang ditulis tool untuk dirinya sendiri, resume sesi, dan catatan pekerjaan bersama yang tidak disediakan oleh ketiga lapisan pertama. Tiga lapisan pertama adalah fitur Claude Code, Codex, dan Gemini CLI. Lapisan keempat adalah tempat Sharkly berperan, karena Task yang membawa tujuan, diskusi, eksekusi, dan penerimaan adalah satu-satunya lapisan yang bisa dibaca orang lain. Jika Anda masih ragu antara mengobrol dan menugaskan, panduan kami tentang mengobrol dengan AI agent atau menugaskan Task adalah artikel pendampingnya.
TL;DR
Konteks bertahan melampaui sebuah sesi di empat tempat. File instruksi (CLAUDE.md, AGENTS.md, GEMINI.md) memuat aturan yang harus dipegang tool setiap saat. Auto memory memuat koreksi dan preferensi yang dipelajari tool. Resume sesi meneruskan satu percakapan untuk satu orang di satu mesin. Catatan pekerjaan, yaitu sebuah Task beserta deskripsi, komentar, dan log eksekusinya, memuat apa yang diputuskan, apa yang dijalankan, dan apa yang diterima seseorang, dan inilah satu-satunya lapisan yang dibagikan. Tempatkan setiap jenis konteks di lapisannya masing-masing, dan context window yang baru tidak lagi menjadi sebuah kerugian.
Lapisan 1: File instruksi yang dibaca tool saat diluncurkan
File instruksi adalah konteks yang Anda tulis sekali dan dimuat tool di setiap sesi. Setiap CLI utama memilikinya, dan cara penyelesaiannya serupa.
| Tool | File | Cara penyelesaiannya |
|---|---|---|
| Claude Code | CLAUDE.md (proyek atau .claude/CLAUDE.md), ~/.claude/CLAUDE.md (pengguna), CLAUDE.local.md (personal, di-gitignore) |
Dimuat dari direktori kerja dan setiap direktori di atasnya, digabungkan dari root ke bawah; file di subdirektori dimuat sesuai kebutuhan |
| Codex | AGENTS.md, dengan ~/.codex/AGENTS.md untuk cakupan global dan AGENTS.override.md untuk penimpaan sementara |
Digabungkan dari root Git ke bawah, dibatasi oleh project_doc_max_bytes, default 32 KiB |
| Gemini CLI | GEMINI.md, dengan ~/.gemini/GEMINI.md untuk cakupan global |
Penemuan global, workspace, dan just-in-time; /memory show menampilkan hasil gabungannya |
Dua kebiasaan menjaga lapisan ini tetap berguna. Jaga agar file tetap pendek: panduan Claude Code menargetkan di bawah 200 baris per file, karena tingkat kepatuhan menurun seiring bertambahnya panjang file. Dan tuliskan fakta yang kalau tidak, harus Anda jelaskan ulang, seperti perintah build, konvensi, dan aturan yang Anda ketikkan ke chat pada sesi sebelumnya. Jika sebuah repositori sudah memiliki AGENTS.md, CLAUDE.md yang hanya berisi @AGENTS.md akan mengimpornya, sehingga kedua tool membaca satu sumber yang sama. Semua yang ada di lapisan ini adalah konteks, bukan penegakan; dokumentasi memory Claude Code secara eksplisit menyatakan bahwa hook, bukan instruksi, yang memblokir suatu tindakan.
Lapisan 2: Catatan yang ditulis tool untuk dirinya sendiri
Auto memory Claude Code adalah lapisan yang sering orang lupakan keberadaannya. Saat bekerja, Claude menyimpan catatan tentang peran dan preferensi Anda, koreksi yang Anda berikan, konteks proyek yang tidak bisa disimpulkannya dari kode, dan tempat menemukan hal-hal di luar repositori. Catatan tersebut tersimpan di ~/.claude/projects/<project>/memory/, diindeks oleh sebuah MEMORY.md yang 200 baris pertama atau 25 KB-nya dimuat di awal setiap sesi. File topik dimuat sesuai kebutuhan.
Ada tiga batasan yang penting. Auto memory bersifat per repositori, dibagikan di seluruh worktree. Catatan ini bersifat lokal pada mesin, jadi catatan di desktop Anda tidak ada di laptop Anda. Dan catatan ini bertahan melewati /compact, karena compaction menulis ulang percakapan, bukan file di disk. Untuk melihat apa yang tersimpan, jalankan /memory; untuk mematikannya, set autoMemoryEnabled ke false atau ekspor CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.
Gunakan lapisan ini untuk hal-hal yang Anda ucapkan sekali dan berharap melekat: “selalu gunakan pnpm,” “tes API memerlukan Redis lokal.” Jangan mengandalkannya untuk keputusan yang dibutuhkan rekan tim; catatan ini milik Anda sendiri.
Lapisan 3: Resume sesi
Terkadang konteks yang Anda butuhkan adalah percakapan itu sendiri. Claude Code menyimpan sesi di disk: claude --continue membuka kembali percakapan terbaru di direktori saat ini, claude --resume <id-or-name> membuka kembali sesi tertentu, dan --fork-session membuat ID sesi baru sehingga Anda bisa bercabang dari checkpoint tanpa menimpanya. Ganti nama sesi dengan /rename sebelum Anda /clear agar bisa menemukannya lagi. Codex menyediakan codex resume untuk membuka kembali chat terbaru dari repositori saat ini.
Resume memiliki biaya. Setiap permintaan membawa seluruh percakapan, jadi sesi yang sudah berjalan lama menghabiskan lebih banyak kuota untuk pertanyaan satu baris dibandingkan sesi baru. /compact dengan instruksi fokus, seperti /compact Focus on the migration plan, menukar detail dengan ruang. Yang bertahan setelah compaction adalah ringkasan ditambah apa pun yang dimuat ulang oleh file instruksi; apa pun yang hanya diberikan dalam percakapan dan tidak diringkas akan hilang. Perlakukan resume sebagai jembatan melintasi jeda makan siang, bukan sebagai memori tim.
Lapisan 4: Catatan pekerjaan
Tak satu pun dari tiga lapisan pertama menjawab pertanyaan yang diajukan rekan tim pada hari Kamis: apa yang dilakukan agent pada hari Selasa, mengapa, dan siapa yang menerimanya? File instruksi menyimpan aturan. Auto memory menyimpan preferensi satu orang. Sesi yang di-resume menyimpan percakapan satu orang di satu mesin. Keputusan, eksekusi, dan penerimaan memerlukan catatan bersama, dan catatan itu adalah sebuah Task.
Di Sharkly, eksekusi yang didukung Task mencakup judul dan deskripsi Task, komentar terbaru dan komentar yang memicu eksekusi, instruksi dan Skills milik Agent, serta repositori yang dikonfigurasi untuk Task tersebut. Itulah serah terima konteks: eksekusi berikutnya dimulai dari Task, bukan dari memori sesi sebelumnya. Progres, event trace, dan hasilnya kembali ke Task, dan log eksekusi mencatat mengapa sebuah eksekusi diantrekan, kapan dimulai dan berakhir, pemanggilan tool, sumber pemicu, dan detail kegagalan.
Dua aturan dari dokumentasi produk menentukan ke mana sesuatu harus diletakkan, dan keduanya adalah aturan batas, bukan fitur. Sesi Agent Chat mandiri adalah milik orang yang membuatnya, dan anggota lain tidak mendapatkan akses; jika tim membutuhkan kesimpulannya, salin ke deskripsi Task atau sebuah komentar. Dan chat Agent pada sebuah Task bukanlah komentar: chat ini tidak muncul di Activity, sehingga keputusan yang dibuat di sana tidak terlihat kecuali ada yang menuliskannya. Panduan kami tentang manajemen proyek Claude Code menunjukkan Task yang membawa sebuah perubahan dari issue hingga review.
Ada satu perbedaan lagi yang layak dikutip karena inilah tepatnya jebakan yang dibahas artikel ini. Sebuah Crew dapat mengaktifkan penggunaan ulang direktori Task bersama, sehingga eksekusi anggota Agent berikutnya mewarisi perubahan lokal anggota sebelumnya di Computer yang sama. Setelan itu membagikan status filesystem, bukan sesi provider Agent sebelumnya. File terbawa; percakapan model tidak. Jika Agent kedua memerlukan penalaran Agent pertama, penalaran itu harus ada di Task.
Menempatkan setiap jenis konteks di lapisannya
| Jenis konteks | Lapisan | Contoh |
|---|---|---|
| Aturan yang berlaku setiap sesi | File instruksi | Jalankan test suite sebelum commit |
| Koreksi atau preferensi | Auto memory | Gunakan pnpm, bukan npm |
| Eksplorasi yang belum selesai | Resume sesi | Utas debugging kemarin |
| Prosedur yang dapat digunakan ulang dan dibagikan beberapa Agent | Skill | Checklist rilis |
| Tujuan, cakupan, kriteria penerimaan | Deskripsi Task | Persyaratan yang sedang dibangun |
| Keputusan, bukti, temuan review | Komentar Task | Alasan opsi B dipilih |
| Apa yang dijalankan, kapan, dan bagaimana berakhirnya | Log eksekusi | Eksekusi migrasi yang gagal |
Skills punya barisnya sendiri. Sebuah Skill mengemas instruksi dan file pendukung yang dapat digunakan ulang untuk panduan yang harus diterapkan berulang kali, dan Skill yang ditemukan di direktori Runtime lokal dapat diimpor ke organisasi sehingga tidak lagi hanya berada di satu laptop. Panduan kami tentang Skills di Sharkly membahas cakupan dan binding, dan apa itu coding agent skill membahas format filenya.
Gunakan file instruksi dan auto memory ketika konteksnya tentang cara Anda bekerja. Gunakan Task ketika konteksnya tentang apa yang sedang dibangun tim dan mungkin perlu dibaca orang lain. Sharkly bukan pengganti Claude Code, Codex, atau tool eksekusi lainnya; Sharkly menambahkan catatan bersama yang tidak disimpan tool-tool tersebut.
FAQ
Apakah /compact menghilangkan CLAUDE.md saya? Tidak. CLAUDE.md di root proyek dibaca ulang dari disk setelah compaction. Instruksi yang hanya diberikan dalam percakapan bisa hilang; pindahkan ke file tersebut.
Apakah auto memory dibagikan ke tim saya? Tidak. Catatan ini disimpan di bawah direktori home Anda, per repositori, dan tidak pernah disinkronkan. Konteks yang terlihat oleh tim harus ada di file instruksi yang di-check-in atau di sebuah Task.
Bisakah Agent di Sharkly mengingat eksekusi sebelumnya? Agent menerima Task, komentar terbarunya, dan komentar pemicu di setiap eksekusi, yang merupakan bentuk mengingat yang tahan lama. Agent tidak menerima percakapan privat eksekusi sebelumnya. Lihat Agents di Sharkly untuk mengetahui apa saja yang termasuk dalam sebuah eksekusi.
Bagaimana dengan server memory MCP? Server tersebut menambahkan penyimpanan kelima yang bisa di-query model, berguna untuk mengingat struktur sebuah codebase. Namun server tersebut tetap tidak mencatat siapa yang menerima suatu perubahan, jadi pasangkan dengan catatan pekerjaan, bukan menggantikannya.



