Kalau AI agent lu ngulang salah yang sama, masalahnya belum tentu modelnya bodoh. Bisa jadi context kerja yang lu kasih memang berantakan.

Artikel ini membahas context engineering buat AI coding agent: cara menyusun instruksi, memory, file repo, tools, dan acceptance criteria supaya agent lebih konsisten. Intinya, prompt panjang bukan strategi jangka panjang. Buat workflow coding yang dipakai berulang, lu butuh context layer yang rapi, bisa diaudit, dan gampang diperbarui.

Gua suka AI coding tool karena dia beneran bisa mempercepat kerja: bikin draft fungsi, baca dokumentasi, ngecek bug kecil, sampai bantu refactor. Tapi setelah beberapa bulan pakai agent di workflow nyata, gua makin yakin satu hal: hasil AI bukan cuma ditentukan oleh model. Hasilnya juga ditentukan oleh “lingkungan kerja” yang lu siapin buat dia.

Apa itu context engineering?

Context engineering adalah proses mendesain semua informasi yang masuk ke AI agent sebelum dan selama dia bekerja. Bukan cuma prompt yang lu ketik di chat, tapi juga system prompt, instruksi repo seperti AGENTS.md atau CLAUDE.md, memory, contoh kode, file yang dibaca, tools yang tersedia, permission, test command, dan aturan review.

Anthropic menjelaskan hal yang mirip di tulisan mereka tentang aturan baru context engineering untuk Claude 5 generation models. Mereka bilang prompt user cuma sebagian kecil dari context. Dalam Claude Code, context bisa datang dari system prompt, Skills, CLAUDE.md, memory, artifacts, tools, dan sumber lain. Bahkan Anthropic menyebut mereka menghapus lebih dari 80% system prompt Claude Code untuk model yang lebih advanced tanpa penurunan terukur di evaluasi coding mereka.

Pelajarannya bukan “hapus semua aturan”. Pelajarannya: aturan yang terlalu panjang, tumpang tindih, dan kaku bisa kalah efektif dibanding context yang ringkas, jelas, dan ditempatkan di layer yang tepat.

Kenapa prompt panjang sering mulai gagal?

Prompt panjang terasa aman karena lu bisa menumpuk semua instruksi di satu tempat: “jangan hapus file”, “jangan ubah API”, “pakai TypeScript strict”, “jalanin test”, “pakai style project”, “jangan overengineering”, dan seterusnya.

Masalahnya, setelah prompt jadi terlalu panjang, agent harus menebak mana aturan yang paling penting. Kalau ada instruksi konflik, dia bisa milih yang salah. Kalau instruksi terlalu umum, dia tetap butuh contoh konkret. Kalau instruksi ada di chat doang, sesi berikutnya bisa lupa. Kalau instruksi tersebar di banyak tempat tanpa struktur, lu sendiri susah audit.

Di workflow gua, prompt panjang biasanya jadi tanda ada hal yang belum ditulis sebagai sistem. Misalnya:

  • kalau agent sering salah command, berarti test/build command perlu masuk dokumentasi repo;
  • kalau agent sering salah style, berarti contoh pola kode perlu lebih mudah ditemukan;
  • kalau agent sering bikin scope melebar, berarti acceptance criteria belum tegas;
  • kalau agent sering menyentuh file sensitif, berarti permission dan file boundary perlu diatur;
  • kalau agent sering mengulang bug lama, berarti memory/lesson learned belum ditulis rapi.

Dengan kata lain, jangan buru-buru ganti model tiap agent ngaco. Kadang yang perlu diganti adalah cara lu memberi context.

Context layer yang perlu lu rapikan

Kalau lu pakai AI coding agent secara serius, gua akan mulai dari lima layer ini.

1. Instruksi repo: AGENTS.md atau CLAUDE.md

Repo perlu punya “buku manual” buat agent. Isinya bukan esai panjang, tapi aturan kerja yang stabil: stack yang dipakai, command build/test, struktur folder, cara menambah fitur, coding convention, dan hal yang dilarang.

GitHub Copilot Code Review sekarang mendukung AGENTS.md di root repository untuk membantu membentuk feedback review. Di sisi Claude Code, dokumentasi Anthropic menjelaskan bahwa Claude membaca CLAUDE.md, sementara repo yang sudah punya AGENTS.md bisa membuat CLAUDE.md yang mengimpor file tersebut. Ini menarik karena instruksi repo mulai jadi interface lintas agent, bukan catatan pribadi satu tool.

Prinsip praktisnya: tulis instruksi yang agent nggak bisa temukan sendiri. Jangan isi dengan hal obvious seperti “tulis kode bagus”. Lebih berguna tulis: “untuk export carousel, jalankan npm run build sebelum Playwright export” atau “jangan rewrite App.tsx; tambahkan konten sebagai entry data baru”.

2. Memory: simpan pelajaran yang memang berulang

Memory berguna untuk hal yang sering muncul lintas sesi: preferensi workflow, error yang pernah kejadian, keputusan arsitektur, atau pitfall yang mahal kalau diulang. Tapi memory bukan tempat membuang semua catatan mentah.

Dokumentasi Claude Code membedakan instruksi seperti CLAUDE.md dari auto memory. CLAUDE.md dimuat di awal sesi, sementara memory bisa menyimpan dan mengambil pembelajaran selama sesi. Ini powerful, tapi tetap perlu diaudit. Memory yang basi bisa sama berbahayanya dengan prompt yang salah.

3. Tools dan permission: jangan kasih akses tanpa batas

Agent yang bisa edit file, jalanin command, dan akses network bukan chatbot biasa. Dia software high-trust. Kalau tools terlalu bebas, prompt bukan guardrail yang cukup. Lu butuh permission yang jelas: file apa yang boleh disentuh, command apa yang aman, kapan perlu approval, dan kapan agent harus berhenti.

Context engineering yang sehat bukan cuma “kasih tahu agent harus hati-hati”. Lebih bagus kalau environment-nya memang didesain supaya kesalahan kecil tidak langsung jadi kerusakan besar.

4. Acceptance criteria: definisikan selesai itu apa

Banyak agent muter-muter bukan karena malas, tapi karena definisi “selesai” terlalu kabur. Untuk task coding, acceptance criteria minimal berisi hasil yang diharapkan, file/area yang boleh berubah, test yang harus lewat, dan hal yang tidak boleh dilakukan.

Contoh yang jelek: “fix bug login”.

Contoh yang lebih jelas: “fix redirect setelah login OAuth di Safari. Jangan ubah schema database. Tambahkan regression test untuk callback URL. Jalankan test auth saja, lalu laporkan file yang berubah dan risiko sisa.”

5. Evidence: minta bukti, bukan cerita panjang

Agent sering bisa menjelaskan seolah-olah semua beres. Tapi buat kerja engineering, yang penting bukan narasi. Yang penting bukti: test result, diff kecil, screenshot, log, benchmark sederhana, atau langkah reproduksi.

Ini juga bikin hasil agent lebih gampang direview manusia. Lu nggak perlu membaca semua proses berpikirnya. Lu perlu tahu perubahan apa yang dibuat, kenapa, dan bukti apa yang mendukung.

Checklist context audit 15 menit

Sebelum menyalahkan model atau pindah subscription, coba audit singkat ini:

  • Instruksi repo: apakah command build/test dan struktur folder sudah jelas?
  • Scope: apakah agent tahu file/area mana yang boleh dan tidak boleh disentuh?
  • Contoh: apakah ada pola kode yang bisa ditiru, bukan cuma aturan abstrak?
  • Memory: apakah lesson learned penting sudah tersimpan dan yang basi sudah dibersihkan?
  • Tools: apakah permission agent sesuai risiko task?
  • Acceptance criteria: apakah definisi selesai bisa diverifikasi?
  • Evidence: apakah agent wajib kasih test result, diff summary, atau screenshot?

Kalau tujuh hal ini belum rapi, model baru mungkin cuma bikin masalah lama muncul dengan gaya yang lebih percaya diri.

Kesimpulan: model pintar tetap butuh ruang kerja yang rapi

Gua nggak melihat context engineering sebagai istilah fancy baru buat “prompting”. Bedanya lumayan besar. Prompting sering fokus ke kalimat yang lu tulis sekarang. Context engineering fokus ke sistem kerja yang bikin agent bisa konsisten di banyak task.

AI coding agent yang bagus bukan cuma butuh model kuat. Dia butuh repo yang punya manual, memory yang sehat, tools yang aman, task yang jelas, dan bukti yang bisa direview. Ini alasan kenapa developer tetap penting. Bukan karena AI nggak bisa nulis kode, tapi karena software yang beneran jalan butuh judgment, boundary, dan ownership.

Kalau lu mulai pakai AI agent buat kerja harian, jangan mulai dari prompt 2.000 kata. Mulai dari satu file instruksi repo yang rapi, satu checklist acceptance criteria, dan satu kebiasaan: setiap output AI harus punya bukti.

FAQ singkat

Apakah context engineering sama dengan prompt engineering?

Nggak persis. Prompt engineering fokus ke instruksi dalam prompt. Context engineering lebih luas: instruksi repo, memory, tools, file yang dibaca, permission, contoh, dan evidence workflow.

Apakah berarti prompt panjang selalu buruk?

Tidak. Prompt panjang bisa berguna untuk task sekali jalan yang kompleks. Tapi untuk workflow berulang, instruksi yang stabil lebih baik dipindahkan ke context layer yang bisa diaudit.

File mana yang sebaiknya dipakai: AGENTS.md atau CLAUDE.md?

Tergantung tool. AGENTS.md mulai dipakai lintas agent seperti Copilot, sementara Claude Code membaca CLAUDE.md. Kalau repo lu pakai dua ekosistem, bikin satu sumber utama lalu import/symlink agar instruksinya tidak dobel dan konflik.

Referensi / Bacaan Lanjut