Batas Tepian: Apa yang Harus Tetap di Tangan Manusia dan Apa yang Bisa Diserahkan ke AI

Perkembangan artificial intelligence dalam beberapa tahun terakhir telah mengubah lanskap pemrograman dengan cara yang belum pernah terjadi sebelumnya. Tool seperti Claude Code, GitHub Copilot, dan berbagai AI assistant lainnya kini mampu menulis, menganalisis, bahkan merefaktor kode dengan tingkat akurasi yang semakin tinggi. Fenomena ini memunculkan pertanyaan mendasar bagi setiap programmer: di tengah kemampuan AI yang semakin canggih, peran apa yang seharusnya tetap dipegang manusia dan apa yang bisa diserahkan kepada mesin?
Pergeseran Paradigma: Dari Eksekusi ke Keputusan
Secara tradisional, identitas seorang programmer sering dikaitkan dengan kemampuan menulis kode yang efisien, menguasai berbagai bahasa pemrograman, dan memahami detail implementasi secara mendalam. Namun, di era AI, fokus ini perlu bergeser. Boris Cherny, pencipta Claude Code, telah mendemonstrasikan pendekatan radikal dalam hal ini: ia menyerahkan 100% eksekusi coding kepada AI sambil tetap mempertahankan kendali penuh atas aspek-aspek strategis.
Pendekatan ini bukan berarti Cherny kehilangan perannya sebagai programmer. Sebaliknya, ia justru meningkatkan perannya dari seseorang yang mengeksekusi instruksi menjadi seseorang yang membuat keputusan arsitektur, mendefinisikan design system, dan menetapkan objective serta batasan-batasan yang harus dipatuhi. AI kemudian bertindak sebagai executor yang menerjemahkan keputusan-keputusan tersebut menjadi kode yang fungsional.
Apa yang Harus Tetap dalam Kendali Manusia
Ada beberapa domain yang seharusnya tetap menjadi wilayah kendali mutlak manusia, terlepas dari seberapa canggih AI yang digunakan.
Keputusan Arsitektur dan Design System
Arsitektur software adalah tentang membuat keputusan trade-off. Setiap pilihan arsitektural memiliki konsekuensi: scalability versus simplicity, performance versus maintainability, cost versus reliability. Keputusan-keputusan ini memerlukan pemahaman konteks bisnis, constraint organisasi, dan visi jangka panjang yang hanya manusia yang bisa memahami secara holistik. AI bisa memberikan saran berdasarkan pola yang telah dipelajarinya, namun keputusan akhir harus tetap berada di tangan manusia yang memahami konteks lengkap.
Demikian pula dengan design system. Menetapkan standar, konvensi, dan prinsip-prinsip yang akan digunakan dalam seluruh proyek memerlukan pertimbangan yang melampaui sekadar efisiensi teknis. Ini melibatkan faktor-faktor seperti culture tim, roadmap produk, dan filosofi engineering yang ingin dibangun.
Objective dan Goals
AI bekerja berdasarkan instruksi yang diberikan. Ia tidak memiliki kemampuan untuk mendefinisikan tujuan sendiri. Menentukan apa yang ingin dicapai, bagaimana mengukur keberhasilan, dan prioritas antara berbagai objective yang saling bersaing adalah domain eksklusif manusia. Tanpa kejelasan objective, AI tidak akan menghasilkan output yang bermakna.
Batasan dan Constraint
Setiap proyek memiliki batasan: deadline, budget, compliance requirement, technical debt yang harus dikelola, dan berbagai constraint lainnya. AI bisa mengoptimalkan solusi dalam batasan yang ditentukan, namun menetapkan batasan itu sendiri adalah tanggung jawab manusia. Ini termasuk keputusan tentang scope apa yang in-scope dan out-of-scope, trade-off mana yang acceptable, dan standar kualitas minimum yang harus dipenuhi.
Keamanan dan Etika
Keputusan terkait keamanan data, privacy, dan implikasi etis dari software yang dibangun tidak bisa diserahkan begitu saja kepada AI. AI bisa mengidentifikasi vulnerability atau mengimplementasikan security best practices, namun menentukan risk appetite, acceptable level of exposure, dan keputusan etis memerlukan pertimbangan manusia. Regulasi seperti GDPR, HIPAA, atau standar industri lainnya memerlukan interpretasi dan keputusan yang hanya manusia yang bisa memberikan accountability.
Apa yang Bisa Diserahkan ke AI
Di sisi lain, ada domain-domain yang semakin cocok untuk diserahkan kepada AI, terutama yang bersifat eksekusional dan repetitif.
Penulisan Kode Implementasi
Menulis boilerplate code, implementasi CRUD operations, konfigurasi routing, dan berbagai task koding yang bersifat rutin kini bisa dilakukan oleh AI dengan sangat efisien. AI excel dalam menerjemahkan spesifikasi yang jelas menjadi kode yang berfungsi. Ini membebaskan programmer untuk fokus pada masalah-masalah yang memerlukan kreativitas dan pertimbangan mendalam.
Debugging dan Error Resolution
AI memiliki kemampuan yang mengesankan dalam menganalisis error message, menelusuri call stack, dan mengidentifikasi root cause dari bug. Ia bisa dengan cepat mempattern-match masalah dengan solusi yang telah terbukti, menghemat waktu signifikan dalam proses debugging.
Code Review dan Optimization
AI bisa bertindak sebagai reviewer yang teliti, mengidentifikasi code smell, potential performance issue, dan area yang bisa dioptimasi. Ia tidak akan lelah mengreview ribuan baris kode dan bisa memberikan feedback yang konsisten berdasarkan best practices.
Dokumentasi dan Testing
Menulis dokumentasi dan test case adalah task yang sering diabaikan namun kritikal untuk maintainability. AI bisa menghasilkan dokumentasi yang komprehensif dan test case yang thorough berdasarkan kode yang ada, memastikan coverage yang memadai tanpa membebani programmer dengan task yang repetitive.
Keseimbangan dan Disclaimers
Perspektif yang disampaikan dalam artikel ini merupakan pandangan penulis berdasarkan observasi terhadap tren industri dan praktik-praktik yang mulai diterapkan. Tidak ada klaim bahwa ini adalah satu-satunya cara yang benar. Setiap programmer dan tim harus mengevaluasi pendekatan mana yang paling sesuai dengan konteks dan kebutuhan mereka masing-masing.
Yang jelas, AI tidak akan menggantikan programmer. Yang terjadi adalah transformasi peran: dari seseorang yang menulis kode menjadi seseorang yang mengarahkan AI untuk menulis kode. Analoginya, kalkulator tidak menggantikan matematikawan—ia justru memungkinkan matematikawan untuk fokus pada problems yang lebih kompleks. Demikian pula dengan AI di dunia pemrograman.
Programmer yang akan thrive di era AI adalah mereka yang mampu beradaptasi, memahami kekuatan dan limitasi AI, dan yang terpenting, mengetahui dengan tepat kapan harus memegang kendali dan kapan harus melepaskannya. Bukan tentang menyerah kepada AI, tapi tentang berkembang bersama AI.