91 poin oleh GN⁺ 2026-01-12 | 1 komentar | Bagikan ke WhatsApp
  • Asisten coding AI telah menjadi alat inti dalam pengembangan nyata sepanjang 2025, dan untuk memanfaatkannya secara efektif dibutuhkan alur kerja yang terstruktur serta campur tangan manusia yang bertanggung jawab
  • Alih-alih langsung meminta pembuatan kode, memulai dengan spesifikasi dan perencanaan yang jelas lalu melanjutkan implementasi bertahap berdasarkan itu dapat meningkatkan kualitas dan produktivitas sekaligus
  • Semakin pekerjaan dipecah menjadi unit-unit kecil dan diberi konteks serta batasan yang memadai, semakin besar pula penurunan masalah error dan inkonsistensi pada LLM
  • Alih-alih bergantung pada satu model saja, tren yang berkembang adalah memilih beberapa LLM dan alat sesuai tujuan, serta memanfaatkan AI sebagai pendamping di seluruh siklus pengembangan
  • Pada akhirnya, ketika manusia tetap memegang kendali melalui pengujian, review, dan manajemen versi, AI dapat berfungsi sebagai pengungkit produktivitas yang sangat kuat

Gambaran umum

  • Sepanjang 2025, asisten coding AI mulai digunakan secara luas untuk menulis kode produk nyata
  • Para engineer Anthropic secara aktif mengadopsi Claude Code, hingga kini mencapai tingkat di mana sekitar 90% kode Claude Code ditulis oleh Claude Code itu sendiri
  • Menggunakan LLM untuk pemrograman bukanlah sihir sekali klik, melainkan membutuhkan pembelajaran pola baru dan pemikiran kritis
  • Manfaatkan AI secara agresif, tetapi tanggung jawab atas software yang dihasilkan tetap ada pada developer
  • Intinya adalah memperlakukan LLM bukan sebagai pengambil keputusan otonom, melainkan sebagai pair programmer yang kuat yang membutuhkan arahan, konteks, dan pengawasan yang jelas

Mulai dengan rencana yang jelas (spesifikasi dulu, kode belakangan)

  • Jangan melempar permintaan yang samar ke LLM; mulailah dari pendefinisian masalah dan rencana solusi
  • Untuk proyek baru, jelaskan idenya dan minta LLM mengajukan pertanyaan secara iteratif agar kebutuhan dan edge case menjadi lebih konkret
  • Pada akhirnya, rangkum semuanya dalam spec.md yang mencakup requirement, keputusan arsitektur, model data, dan strategi pengujian
  • Masukkan spesifikasi ke model yang mampu bernalar untuk menghasilkan rencana proyek yang membagi implementasi menjadi tugas-tugas kecil yang logis
  • Seperti istilah Les Orchard, melalui tahap perencanaan terstruktur cepat ala "waterfall dalam 15 menit", proses coding setelahnya menjadi jauh lebih lancar
  • Dengan spesifikasi dan rencana yang jelas, baik manusia maupun LLM dapat memahami dengan tepat apa yang dibuat dan mengapa, sehingga mencegah rework dan siklus yang terbuang

Pecah pekerjaan menjadi chunk kecil dan iteratif

  • Jangan meminta output raksasa dari LLM sekaligus; pecah proyek menjadi tahap atau tiket yang dapat diulang lalu proses secara berurutan
    • Contoh: memberi prompt seperti “implementasikan Step 1 dari rencana”, lalu setelah coding dan pengujian selesai, lanjut ke Step 2
  • Jika cakupan yang diberikan terlalu besar sekaligus, model bisa kehilangan arah atau menghasilkan output yang semrawut, dan biaya perbaikannya melonjak
  • Saat diminta menghasilkan bagian besar aplikasi sekaligus, hasilnya kehilangan konsistensi dan menumpuk kode duplikat, bahkan sampai dinilai “terasa seperti dibuat oleh 10 orang tanpa percakapan”
  • Di setiap iterasi, manfaatkan konteks yang sudah dibangun lalu tambahkan secara bertahap; pendekatan ini juga cocok dengan TDD (test-driven development)
  • Beberapa alat coding agent mendukung alur kerja berbasis chunk ini secara eksplisit, dengan membuat file prompt plan untuk dijalankan secara berurutan

Berikan konteks dan panduan yang luas

  • LLM hanya dapat berkinerja sejauh konteks yang diberikan, jadi kode, dokumentasi, dan batasan yang relevan harus disediakan secara memadai
  • Dalam mode Projects, Claude dapat memuat seluruh repo GitHub sebagai konteks, sementara asisten IDE seperti Cursor dan Copilot otomatis menyertakan file yang sedang terbuka
  • Pendekatan brain dump untuk menyampaikan terlebih dahulu informasi yang perlu diketahui model sangat efektif, termasuk tujuan tingkat tinggi, contoh solusi yang diinginkan, hingga pendekatan yang harus dihindari
  • Alat seperti gitingest atau repo2txt dapat digunakan untuk membuang bagian yang diperlukan dari codebase ke file teks lalu memberikannya ke LLM
  • Claude Skills melampaui cara lama yang bergantung pada prompting berulang, dengan mengemas instruksi, skrip, dan keahlian domain menjadi modul yang tahan lama dan dapat digunakan kembali
    • Ada juga koleksi Skills yang dikurasi komunitas
    • Skill frontend-design bahkan dapat mengoreksi estetika desain UI bernuansa ungu yang sering muncul pada hasil buatan LLM
  • Menyertakan komentar dan aturan langsung di dalam prompt juga sangat efektif untuk memandu AI
    • Contoh: “Berikut implementasi X saat ini. Perluas menjadi Y, tetapi jangan merusak Z”
  • Karena LLM memiliki sifat literal dalam mengikuti instruksi, semakin detail dan jelas konteks arahannya, semakin kecil kemungkinan halusinasi dan saran yang melenceng

Pilih model yang tepat (gunakan beberapa model bila perlu)

  • Tidak semua LLM untuk coding setara, dan penting untuk secara sengaja memilih model atau layanan yang sesuai dengan sifat tugasnya
  • Dalam beberapa kasus, menggunakan dua atau lebih LLM secara paralel untuk memvalidasi silang pendekatan berbeda terhadap masalah yang sama bisa efektif
  • Setiap model memiliki kecenderungan dan kekuatan unik, jadi ketika satu model mentok atau hanya memberi hasil biasa-biasa saja, perlu beralih ke model lain
  • Dengan pendekatan ‘kursi musik model’, yaitu memindahkan prompt yang sama ke layanan lain untuk diuji, titik buta model tertentu dapat dihindari
  • Jika memungkinkan, menggunakan model tier pro terbaru memberikan keunggulan yang jelas dari sisi kualitas
  • Untuk kolaborasi jangka panjang, "vibe" AI pair programmer — nada respons dan rasa interaksinya cocok atau tidak dengan diri sendiri — juga menjadi kriteria penting

Manfaatkan AI coding di seluruh lifecycle

  • Di lingkungan command line, agent AI seperti Claude Code, OpenAI Codex CLI, dan Google Gemini CLI telah muncul, memungkinkan pembacaan file, menjalankan tes, dan melakukan perbaikan multi-langkah dari dalam direktori proyek
  • Jules dari Google dan Copilot Agent dari GitHub dapat digunakan sebagai agent coding asinkron yang menyalin repo ke cloud VM, mengerjakan tugas, lalu membuka PR
  • Alat-alat ini belum sempurna, dan memahami keterbatasannya sebelum digunakan adalah hal yang wajib
    • Untuk tugas mekanis seperti membuat boilerplate, menerapkan perubahan berulang, dan menjalankan tes otomatis, alat-alat ini memberi percepatan besar, tetapi kualitas tetap sangat ditentukan oleh arahan manusia
  • Saat menggunakan agent, memberikan rencana atau daftar todo pada tahap awal sangat membantu pemahaman urutan kerja yang benar
  • AI agent belum sampai pada tahap mampu mengimplementasikan seluruh fitur secara tanpa pengawasan dan menghasilkan hasil sempurna, sehingga penggunaan dengan supervisi masih menjadi pendekatan yang realistis
  • Eksperimen juga sedang berlangsung dengan memakai alat orkestrasi seperti Conductor untuk menjalankan beberapa agent secara paralel dan menangani fitur yang berbeda secara bersamaan

Pertahankan human in the loop - verifikasi, pengujian, dan review secara ketat

  • AI dapat menghasilkan kode yang tampak meyakinkan tanpa ragu, tetapi tanggung jawab atas kualitas dan hasil sepenuhnya ada pada developer
  • Seperti ungkapan Simon Willison, programmer pasangan LLM harus dipandang sebagai entitas yang terlalu percaya diri dan mudah melakukan kesalahan, serta bisa menulis bug atau kode yang tidak masuk akal dengan penuh keyakinan
  • Snippet kode yang dihasilkan AI harus diperlakukan seperti kode dari developer junior, yakni dibaca langsung, dijalankan, dan diuji sesuai kebutuhan
  • Sertakan pengujian secara alami ke dalam workflow, dan sejak tahap perencanaan rancang bersama daftar pengujian dan rencana testing untuk tiap tahap
  • Untuk alat seperti Claude Code, setelah implementasi task selesai, instruksikan secara eksplisit untuk menjalankan test suite, lalu jika gagal lanjutkan sampai analisis penyebab dan perbaikannya
  • Kasus di mana coding agent paling efektif biasanya datang dari tim dan individu yang memiliki budaya testing yang kuat
  • Dalam lingkungan tanpa testing, ada risiko agent menganggap tidak ada masalah padahal sebenarnya sudah merusak banyak bagian
  • Selain automated testing, pertahankan code review sebagai tahap wajib, dengan menggabungkan review manual dan review berbasis AI
    • Gunakan sesi AI terpisah atau model lain untuk meminta kritik atau review atas kode yang ditulis AI pertama
    • Contoh: setelah Claude menulis kode, minta Gemini meninjau error atau kemungkinan perbaikan pada fungsi tersebut
  • Manfaatkan Chrome DevTools MCP sebagai alat inti dalam loop debugging dan kualitas untuk menjembatani kesenjangan antara analisis statis dan eksekusi nyata di browser
    • Berikan akses agar AI agent bisa langsung mengamati struktur DOM, performance trace, console log, dan network request
    • Memungkinkan automated UI testing berbasis LLM tanpa perlu memindahkan konteks secara manual
    • Membuka alur untuk mendiagnosis dan memperbaiki bug secara presisi berdasarkan data runtime nyata
  • Seorang developer mengatakan bahwa hasil dari terlalu bergantung pada generasi AI dalam proyek yang mendesak adalah kekacauan yang tidak konsisten
    • Logika duplikat, nama method yang berbeda-beda, dan arsitektur yang tidak terintegrasi terus menumpuk
    • Ia mengakui hanya terus menghasilkan kode tanpa mundur selangkah untuk memeriksa struktur keseluruhan yang dirangkai AI
    • Pada akhirnya ia sampai pada kesimpulan, setelah refactoring besar-besaran, untuk tidak pernah lagi menyerahkannya tanpa pengawasan
  • Terlepas dari seberapa banyak AI digunakan, developer harus tetap menjadi engineer yang bertanggung jawab sampai akhir
  • Secara praktik, merge atau deploy hanya setelah memahami kodenya, dan jika AI menghasilkan implementasi yang kompleks, minta penambahan komentar penjelas atau penulisan ulang ke bentuk yang lebih sederhana

Commit sesering mungkin dan gunakan version control sebagai jaring pengaman

  • Semakin sering bekerja dengan AI yang dapat menghasilkan banyak kode dengan cepat, semakin diperlukan kebiasaan version control yang lebih rapat
  • Setiap kali task kecil selesai atau perbaikan otomatis berhasil, buat git commit dengan pesan yang jelas maknanya agar ada checkpoint untuk segera rollback jika perubahan berikutnya menimbulkan masalah
  • Perlakukan commit seperti save point dalam game, sehingga saat sesi LLM melenceng, Anda bisa kembali kapan saja ke status stabil terakhir
  • Version control juga berperan penting dalam kolaborasi dengan AI; ketika keterbatasan context window membuat semua perubahan tidak dapat diingat, riwayat git menjadi log kerja yang tepercaya
  • Dengan meninjau commit terbaru, Anda bisa dengan cepat memberi ringkasan perubahan kepada AI atau kepada diri sendiri
  • Jika git diff atau log commit disertakan dalam prompt, LLM dapat memahami kode baru dan status sebelumnya dengan lebih akurat
  • LLM juga mahir menafsirkan diff dan memanfaatkan alat seperti git bisect, sehingga bisa menelusuri riwayat commit untuk melacak titik masuk bug dengan gigih
  • Commit yang kecil dan pesan yang jelas akan mendokumentasikan proses pengembangan secara alami, sangat membantu saat code review
  • Bahkan ketika AI agent melakukan banyak perubahan sekaligus, jika perubahan itu dipisahkan per commit maka lebih mudah mengidentifikasi secara tepat titik yang menimbulkan masalah
  • Gunakan branch atau worktree untuk mengisolasi eksperimen AI dari kode utama
    • Terinspirasi dari pendekatan Jesse Vincent, buat fresh git worktree untuk setiap fitur baru atau subproyek
    • Jalankan beberapa sesi AI coding secara paralel di repo yang sama tanpa saling mengganggu, lalu merge hasilnya secara selektif
    • Ini membuat tiap task AI seolah berada di branch sandbox-nya sendiri, sehingga eksperimen yang gagal bisa dibuang tanpa memengaruhi main
  • Pertahankan prinsip untuk tidak pernah melakukan commit pada kode yang tidak bisa dipahami dan dijelaskan

Kustomisasi perilaku AI dengan aturan dan contoh

  • Jangan menerima begitu saja gaya atau pendekatan default AI; memberikan panduan yang jelas saja sudah sangat memengaruhi kualitas dan konsistensi output
  • Kelola file CLAUDE.md secara berkala untuk menjelaskan aturan proses dan preferensi yang harus diikuti Claude, dan saat memakai Gemini CLI gunakan juga GEMINI.md dengan cara yang sama
    • Contoh: menulis kode sesuai gaya proyek, mematuhi aturan lint, melarang penggunaan fungsi tertentu, lebih memilih gaya fungsional daripada OOP, dan sebagainya
    • Berikan file tersebut kepada Claude saat sesi dimulai agar seluruh pekerjaan mengikuti konvensi itu
    • Menurut Jesse Vincent, pendekatan ini mengurangi frekuensi AI menyimpang ke arah yang tidak diinginkan atau memperkenalkan pola yang asing
  • Meski tanpa file aturan terpisah, perilaku dan tone umum tetap bisa diatur lewat custom instruction atau system prompt
    • GitHub Copilot dan Cursor sama-sama menyediakan fitur untuk mengatur perilaku AI secara global di tingkat proyek
    • Tuliskan gaya coding dalam paragraf singkat: “gunakan indentasi 4 spasi, hindari arrow function di React, gunakan nama variabel yang deskriptif, kode harus lolos ESLint”
    • Ben Congdon menyebut ia terkejut karena fitur custom instruction di Copilot nyaris tidak digunakan, padahal hanya dengan memberi beberapa contoh dan preferensi di awal, output kode bisa menyesuaikan idiom tim
  • Memberikan contoh inline adalah teknik yang sangat kuat
    • Jika menginginkan implementasi fungsi dengan cara tertentu, tunjukkan dulu fungsi serupa yang sudah ada di codebase, lalu arahkan: “X diimplementasikan seperti ini, jadi gunakan pendekatan yang sama untuk Y”
    • Jika ingin menyamakan gaya komentar, tulis sendiri satu baris lalu minta AI melanjutkan dengan gaya tersebut
    • Pada akhirnya ini adalah cara mem-prime model dengan pola yang akan diikuti, dan LLM sangat kuat dalam peniruan seperti ini
  • Di komunitas, berbagai ruleset untuk menyempurnakan perilaku LLM dibagikan
    • Seperti aturan "Big Daddy" atau cara menambahkan klausul “jangan berhalusinasi atau menipu” ke dalam prompt
    • Ini adalah mekanisme untuk mengurangi perilaku AI yang mengarang kode yang tidak ada atau terlalu percaya diri secara berlebihan
    • Contoh: menambahkan “jika tidak yakin atau tidak punya konteks codebase, jangan mengarang jawaban dan mintalah klarifikasi” di bagian awal prompt untuk mengurangi halusinasi
    • Aturan lain seperti “saat memperbaiki bug, selalu jelaskan alasannya secara singkat dalam komentar” akan membuat AI meninggalkan komentar seperti “// Fixed: mengubah X menjadi Y untuk mencegah Z sesuai spesifikasi”

Mengadopsi pengujian dan otomasi sebagai penguat tenaga

  • Semakin aktif memanfaatkan CI/CD, linter, dan bot code review, semakin baik AI bekerja dalam lingkungan yang otomatis menyaring kesalahan
  • Semakin besar porsi coding oleh AI dalam sebuah repo, semakin penting lingkungan continuous integration yang kokoh
    • Jalankan pengujian otomatis pada setiap commit atau PR, wajibkan pemeriksaan gaya kode seperti ESLint dan Prettier, dan jika memungkinkan sertakan deployment staging per branch
    • Ini juga bisa diatur agar AI sendiri yang memicunya dan mengevaluasi hasilnya
    • Contoh: saat Jules atau GitHub Copilot Agent membuka PR, CI menjalankan tes dan melaporkan kegagalan → log kegagalan diteruskan ke AI untuk dilanjutkan dengan “tes integrasi gagal di XYZ, mari debug bersama”
    • Proses perbaikan bug berubah menjadi loop kolaboratif dengan umpan balik cepat, sesuatu yang sangat cocok untuk AI
  • Pemeriksaan kualitas kode otomatis juga berperan sebagai kemudi bagi AI
    • Sertakan output linter apa adanya dalam prompt; jika AI menulis kode yang kena lint, salin pesan error lalu minta “perbaiki masalah-masalah ini”
    • Efeknya seperti ada guru yang ketat mengawasi dari balik bahu AI
    • Saat AI mengenali output alat seperti kegagalan tes atau peringatan linter, ia cenderung gigih mencoba memperbaikinya
  • Agen coding AI itu sendiri juga makin banyak yang menyertakan hook otomasi
    • Sebagian agen tidak akan menganggap pekerjaan “selesai” sampai semua tes lulus
  • Bot code review, baik AI maupun manusia, juga bisa dimanfaatkan sebagai filter tambahan
    • Gunakan komentar review apa adanya sebagai prompt untuk perbaikan
    • Contoh: jika CodeRabbit atau reviewer lain menulis “fungsi ini melakukan X, tetapi itu tidak ideal”, mintalah AI “bisakah kamu melakukan refactor dengan memasukkan masukan ini”
  • Menggabungkan AI dan otomasi membentuk siklus yang saling menguatkan
    • AI menulis kode → alat otomasi menangkap masalah → AI memperbaiki → berulang, sementara developer hanya mengawasi arah tingkat tinggi
    • Rasanya seperti pekerjaan developer junior yang sangat cepat divalidasi seketika oleh engineer QA yang tidak pernah lelah
    • Namun, lingkungan ini harus dibangun sendiri oleh developer, dan pada proyek tanpa pengujian atau otomasi, bug halus atau penurunan kualitas dari AI bisa baru terlihat jauh belakangan
  • Salah satu target menuju 2026 adalah memperkuat quality gate di sekitar kontribusi kode dari AI
    • Lebih banyak tes, lebih banyak monitoring, dan bila perlu bahkan struktur di mana AI mereview AI
    • Sudah ada kasus nyata di mana masalah yang lolos dari satu model tertangkap oleh model lain

Pembelajaran dan adaptasi berkelanjutan (AI memperkuat skill)

  • Jika setiap sesi coding dengan AI diperlakukan sebagai kesempatan belajar, tercipta siklus positif di mana makin bertambah pengetahuan, makin besar pula bantuan AI
  • Memakai LLM dalam pengembangan secara alami membuka paparan pada bahasa, framework, dan teknik baru yang biasanya tidak akan dicoba
  • Dengan fondasi software engineering yang kuat, AI dapat melipatgandakan produktivitas beberapa kali lipat; tetapi jika fondasinya lemah, kebingungan pun ikut diperbesar
  • Pengamatan umum dari developer berpengalaman: LLM cenderung memperkuat best practice yang sudah ada
    • Menulis spesifikasi yang jelas, menyiapkan tes dengan baik, dan melakukan code review secara konsisten menjadi makin efektif saat AI ikut terlibat
  • Saat AI menangani boilerplate, developer bisa fokus pada abstraksi tingkat tinggi seperti desain, interface, dan arsitektur, tetapi kemampuan itu harus sudah ada terlebih dahulu
  • Seperti yang ditunjukkan Simon Willison, hampir semua hal yang membentuk engineer senior—desain sistem, pengelolaan kompleksitas, penilaian antara otomasi dan kerja manual—kini menghasilkan hasil terbaik saat dipadukan dengan AI
  • Pemanfaatan AI justru mendorong peningkatan kemampuan engineering
    • Menjadi lebih ketat pada tahap perencanaan dan lebih sadar saat memikirkan arsitektur
    • Mengambil peran mengelola AI yang sangat cepat tetapi agak naif sebagai coder, sehingga mempertajam penilaian
  • Menjawab kekhawatiran bahwa AI bisa menurunkan kemampuan, jika digunakan dengan benar hasilnya justru sebaliknya
    • Belajar idiom dan cara penyelesaian baru lewat code review AI
    • Memperdalam pemahaman tentang bahasa dan domain masalah saat mendebug kesalahan AI
    • Meminta AI menjelaskan kode atau alasan di balik perubahan, terus mengajukan pertanyaan seperti mewawancarai kandidat untuk mendapatkan insight
    • Saat library atau pendekatan belum jelas, gunakan AI sebagai asisten riset untuk membandingkan opsi dan trade-off
  • Dalam gambaran besar, alat AI memperkuat keahlian
    • Menjelang 2026, alih-alih takut pekerjaan diambil, ada harapan untuk lepas dari tugas berulang dan monoton sehingga bisa mencurahkan lebih banyak waktu pada masalah yang kreatif dan kompleks
    • Sebaliknya, tanpa fondasi yang kuat, AI juga berisiko menghasilkan efek Dunning-Kruger yang seperti diberi steroid
  • Saran utamanya adalah menjaga keseimbangan yang disengaja: terus mengasah keterampilan sambil memakai AI untuk mempercepat belajar dan produktivitas, serta secara berkala coding tanpa AI agar dasar-dasarnya tetap tajam
  • Pada akhirnya, kombinasi developer dan AI jauh lebih kuat daripada salah satunya saja, dan di dalam kombinasi itu pihak developer harus menjalankan perannya dengan baik

Kesimpulan

  • AI telah diadopsi secara aktif ke seluruh workflow pengembangan, tetapi tetap dengan pendekatan hati-hati dan dipimpin oleh ahli
  • Pendekatan yang dituju bukan pengembangan di mana AI mengotomatisasi semuanya, melainkan “AI-augmented software engineering”
  • Hasil terbaik muncul saat kolaborasi dengan AI tetap menerapkan disiplin software engineering klasik
  • Semua praktik yang dibangun dengan susah payah—seperti mendesain sebelum coding, menulis tes, version control, dan menjaga standar kode—tetap berlaku, dan justru makin penting ketika AI menulis setengah dari kode
  • Alat akan terus berkembang, dan workflow juga akan berevolusi bersamanya
    • “AI development intern” yang sepenuhnya otonom mungkin akan mengambil lebih banyak tugas sederhana, sementara manusia fokus pada masalah tingkat tinggi
    • Ada kemungkinan muncul cara debugging baru dan paradigma penelusuran kode yang baru
  • Dalam perubahan apa pun, pertahankan sikap untuk selalu tetap berada di dalam loop
    • Membimbing AI, memverifikasi hasilnya, belajar dari prosesnya, dan memperluas produktivitas secara bertanggung jawab
  • Kesimpulan akhirnya jelas: asisten coding AI adalah penguat yang kuat, tetapi sutradara di panggung tetap engineer manusia hingga akhir

1 komentar

 
gracefullight 2026-01-12

Semakin diabstraksikan, tampaknya rekayasa justru menjadi semakin penting.