← 返回列表

Seri Tutorial Claude Code 3: Mengapa Hanya Terminal yang Disediakan

1.3 Mengapa Menulis Kode di Terminal?

Analoginya: Anda sedang menulis fitur baru, dan tiba-tiba perlu mengubah fungsi utilitas tingkat rendah yang tersebar di tiga file, beberapa pemanggilannya melintasi modul. Anda membuka editor, mencari secara global, membuka file satu per satu, mengubah dengan hati-hati, lalu menjalankan tes lagi — merah. Lihat pesan error, periksa stack trace, perbaiki, ulangi lagi.

Dalam proses ini, waktu yang benar-benar dihabiskan untuk "memikirkan cara mengubah" mungkin kurang dari setengahnya. Sisanya adalah kerja mekanis: mencari file, mengubah referensi, menunggu kompilasi, mengklik mouse.

Tujuan utama menempatkan AI di terminal adalah untuk memampatkan kerja mekanis ini.

Terminal adalah Tempat Paling Dekat dengan Kode

Anda mungkin menggunakan VS Code, JetBrains, atau Vim. Apapun yang Anda gunakan, dalam proses menulis kode, Anda tidak bisa menghindari terminal. Menjalankan npm test, git log, grep, make build — operasi ini secara alami dilakukan di baris perintah.

Lalu, jika rekan AI Anda juga berada di terminal yang sama, segalanya menjadi lebih sederhana. Anda tidak perlu menyalin-menempel konten file ke jendela obrolan, tidak perlu mendeskripsikan sendiri "di proyek saya ada kelas bernama UserService, di baris 42 src/services/user.ts ...". Claude Code berdiri di direktori root proyek, dia sendiri yang akan melihat.

Ini adalah pukulan telak dalam konteks. Ketika Anda berkata pada Claude Code "tolong refaktor penanganan error modul login", dia benar-benar akan membaca auth/login.ts, membaca errors.ts, mencari semua tempat yang memanggilnya, lalu langsung mengubahnya. Di tengah, Anda tidak perlu menjadi perantara.

Membebaskan Anda dari Peran "Operator"

Saat menggunakan obrolan AI di browser, kita sering tanpa sadar berperan sebagai "perantara": AI mengeluarkan kode, kita membaca, memverifikasi, menyalin, lalu kembali ke editor untuk menempel. Jika kode berjalan, baik; jika tidak, salin pesan error, tanya lagi, salin lagi. Proses ini sangat mengganggu alur kerja.

Desain Claude Code memungkinkan Anda kembali ke posisi "pemikir". Anda menyampaikan ide, dia yang bertindak. Setelah perubahan, Anda langsung melihat diff di terminal dan memutuskan apakah akan menerimanya. Dia juga dapat membantu menjalankan tes dan lint. Anda duduk, lebih banyak membaca kode dan membuat keputusan, daripada bolak-balik mengganti jendela.

Mengapa Bukan Plugin Editor?

Anda mungkin bertanya: lalu mengapa tidak membuat plugin AI langsung di editor?

Plugin editor tentu berguna, dan banyak tim sudah menggunakannya. Namun Claude Code di terminal memiliki beberapa hal yang sulit digantikan plugin:

  1. Tanpa keterikatan editor. Hari ini Anda menggunakan VS Code, besok beralih ke Neovim, atau bahkan di server jarak jauh tanpa GUI, Claude Code tetap bisa digunakan. Dia tidak tergantung pada alat yang Anda pilih.
  2. Dapat melakukan hal-hal yang lebih "keluar batas". Di terminal, dia bisa mengeksekusi perintah Shell apa pun. Ini berarti batasan hal yang bisa dia lakukan jauh lebih luas — dapat membantu Anda menjalankan kontainer Docker untuk memverifikasi migrasi database, menarik cabang jarak jauh dan memeriksa konflik, atau secara otomatis menjalankan tes e2e setelah mengubah kode. Hal-hal seperti ini biasanya plugin editor tidak berani lakukan sembarangan, atau bahkan tidak bisa sama sekali.
  3. Pemrosesan batch dan otomatisasi. Anda bisa memasukkan Claude Code ke dalam skrip, menyuruhnya memproses puluhan repositori, menghasilkan dokumentasi secara massal, atau menangani Issue secara otomatis. Pada saat ini, dia bukan lagi "asisten", melainkan bagian dari jalur perakitan.

Contoh Kecil Saya Sendiri

Dulu saya perlu memigrasi proyek JavaScript ke TypeScript, sekitar dua puluh ribu baris kode. Cara saya bukan dengan menambahkan tipe satu per satu secara manual, juga bukan dengan mengandalkan plugin editor untuk menyelesaikan semuanya.

Saya langsung meluncurkan Claude Code di direktori proyek itu, dan berkata: "Migrasikan proyek ini secara bertahap ke mode ketat TypeScript, setiap kali ubah beberapa file, setelah selesai jalankan tsc --noEmit, jika ada error perbaiki sendiri, hingga semua lolos."

Selama setengah jam berikutnya, saya hanya melakukan satu hal: melihat diff yang dia buat, mengangguk atau menggeleng. Kadang-kadang mengatakan "jangan pakai any untuk tipe di sini, definisikan sebuah interface", lalu dia melanjutkan pekerjaan. Pada akhirnya kompilasi proyek berhasil, beberapa kali lebih cepat dari perkiraan saya.

Ini tentu bukan berarti Claude Code lebih pintar dari plugin. Namun dia bisa menyelesaikan siklus tertutup "ubah-verifikasi-perbaiki" sendiri, dan ini perbedaan paling mendasar antara dia dan AI berbasis obrolan.

Pada Akhirnya, Terminal Memberi AI Tangan dan Kaki

Menempatkan AI di terminal, pada hakikatnya memberinya kemampuan eksekusi, bukan sekadar kemampuan memberi saran.

Ini membuat repositori kode Anda tidak lagi menjadi sekumpulan teks yang hanya bisa dibaca, tetapi menjadi lingkungan nyata yang dapat "disentuh", diubah, dan diverifikasi oleh AI. Ini adalah lompatan besar.

Anda tetap memegang arah proyek dan semua keputusan penting, tetapi pekerjaan yang membosankan, rendah kreativitas, dan membutuhkan loncatan berulang, kini memiliki penanggung jawab yang lebih tepat.

评论

暂无已展示的评论。

发表评论(匿名)