50 poin oleh princox 20 hari lalu | 1 komentar | Bagikan ke WhatsApp

Ringkasan inti tentang bagaimana Claude Code berjalan di terminal berdasarkan dokumentasi resmi (versi ringkasan Mintlify oleh VineeTagarwaL).

Bagaimana Claude Code bekerja?
Singkatnya, ini adalah loop “membaca → berpikir → memakai alat → melihat hasil → mengulang”.
6 tahap Agentic Loop

  1. Pengguna memasukkan pesan di terminal (atau mengirimkannya lewat --print / stdin)
  2. Menyusun system prompt — tanggal saat ini, status git, file CLAUDE.md, daftar alat yang tersedia
  3. Memanggil Anthropic API → model membuat blok tool_use (nama alat + input JSON)
  4. Pemeriksaan izin — menentukan salah satu dari persetujuan otomatis / minta konfirmasi / blokir
  5. Menjalankan alat → hasilnya (isi file, output perintah, dan sebagainya) ditambahkan ke percakapan sebagai tool_result
  6. Model yang menerima hasil akan memanggil alat tambahan atau memberi respons akhir — diulang sampai tidak ada lagi pemanggilan alat
    Loop ini hanya berjalan di proses terminal lokal. Kecuali alat yang secara eksplisit memanggil pihak luar seperti WebFetch, WebSearch, atau server MCP, file, shell, dan informasi autentikasi tidak keluar dari mesin.

Bagaimana konteks dibuat?
Saat percakapan dimulai, dua blok disusun lalu ditempelkan di depan setiap pemanggilan API.

  • Konteks sistem — branch saat ini, 5 commit terbaru, hasil git status --short (dipotong bila melebihi 2.000 karakter)
  • Konteks pengguna — file memori CLAUDE.md (penelusuran hierarki 4 tahap), tanggal hari ini (Today's date is YYYY-MM-DD)
    Kedua blok ini di-cache per percakapan dengan lodash/memoize. Saat setSystemPromptInjection() dipanggil, cache langsung diinisialisasi ulang.

Model izin — kapan alat dijalankan?

Hasil Perilaku
allow Langsung dijalankan, hasil ditambahkan ke percakapan
ask Dijeda → tampilkan dialog konfirmasi
deny Ditolak → kembalikan error ke model
  • Mode bypassPermissions: lewati semua pemeriksaan
  • Mode acceptEdits: edit file disetujui otomatis, tetapi bash tetap meminta konfirmasi
  • Alat baca-saja seperti Read, Glob, dan Grep secara default otomatis disetujui di semua mode

Sub-agent (alat Task)
Claude dapat memunculkan sub-agent dengan alat Task (AgentTool). Sub-agent menjalankan Agentic Loop-nya sendiri dengan percakapan yang terisolasi dan, secara opsional, set alat yang dibatasi, lalu mengembalikan hasil ke agent induk setelah selesai. Ini bisa dijalankan secara lokal (in-process) atau di komputasi remote.

Penyimpanan dan pemulihan percakapan
Percakapan disimpan di ~/.claude/ sebagai file transkrip JSON.

  • --resume <session-id> atau --resume saja untuk melanjutkan percakapan sebelumnya
  • Saat dilanjutkan: seluruh riwayat pesan dimuat, file CLAUDE.md ditelusuri ulang, mode izin di-reset ke nilai bawaan konfigurasi
  • Percakapan panjang dipadatkan secara berkala — pesan lama diringkas untuk mengelola context window. Seluruh transkrip asli tetap disimpan di disk

Apa yang dikerjakan query engine
Setiap “turn” dijalankan oleh query.ts.

  • Menampilkan streaming token ke terminal secara real-time
  • Mendispatch blok tool_use ke handler yang sesuai
  • Mengelola anggaran token dan pemanggilan alat per turn
  • Memicu compaction saat context window penuh
  • Setiap alat memiliki properti maxResultSizeChars — bila hasil melebihi batas ini, hasil disimpan ke file sementara dan model hanya menerima path file tersebut (mencegah overflow pada context window)

Sumber asli: How Claude Code works — Mintlify
Catatan: ini adalah dokumen mirror tidak resmi yang merapikan dokumentasi resmi Claude Code ke Mintlify oleh VineeTagarwaL.

1 komentar

 
jeeeyul 19 hari lalu

Sejak 2023, struktur ReAct tampaknya tidak banyak berubah.