18.7 AI sebagai Alat Eksplorasi, Manusia sebagai Penjelas
Setelah Anda merapikan kode melalui refactor, sistem menjadi lebih mudah dipahami dan dimodifikasi. Tapi pertanyaan yang lebih dalam muncul: siapa yang memutuskan perubahan apa yang perlu dilakukan? Apakah Anda bisa menyerahkan keputusan desain kepada AI?
Bayangkan Anda sedang merancang sistem pembayaran untuk marketplace. Ada beberapa skenario yang perlu dipertimbangkan: bagaimana jika pembayaran gagal di tengah proses? Bagaimana jika pengguna membatalkan pesanan setelah pembayaran berhasil? Bagaimana jika sistem bank sedang down? Setiap skenario membawa konsekuensi yang berbeda, dan setiap keputusan desain akan memengaruhi pengalaman pengguna, biaya operasional, bahkan kepatuhan terhadap regulasi.
Pada tahap eksplorasi, AI berguna untuk memperluas daftar skenario. Anda bisa memberikan konteks sistem yang sudah memiliki boundary jelas, modul-modul yang terdefinisi, API dengan contract yang tegas, dan data dengan schema yang rapi. Kemudian Anda meminta AI mengeksplorasi berbagai kemungkinan yang bisa terjadi. AI bisa dengan cepat menghasilkan daftar skenario, mengidentifikasi potensi kegagalan, dan mengusulkan mitigasi untuk masing-masing. Dalam hitungan menit, Anda bisa memiliki peta lengkap tentang apa yang bisa salah dan bagaimana cara mengatasinya.
Tapi ada batasan penting yang tidak boleh dilupakan. AI tidak bisa menjelaskan mengapa suatu keputusan desain lebih baik daripada yang lain. AI bisa mengatakan "gunakan pattern retry dengan exponential backoff", tetapi tidak bisa menjelaskan mengapa pattern itu dipilih dibandingkan jalur cadangan ke metode pembayaran lain. AI bisa mengusulkan "simpan status transaksi di database", tetapi tidak bisa menjelaskan trade-off antara konsistensi dan ketersediaan yang harus Anda pertimbangkan.
Keputusan desain tetap harus bisa dijelaskan oleh manusia. Bukan karena AI tidak mampu, tetapi karena keputusan arsitektur selalu melibatkan pertimbangan yang tidak bisa direduksi menjadi pola atau data historis. Ada faktor bisnis: berapa biaya yang bisa ditoleransi untuk setiap kegagalan? Ada faktor organisasi: tim mana yang akan bertanggung jawab jika terjadi masalah? Ada faktor strategis: apakah keputusan ini sejalan dengan arah produk dalam dua tahun ke depan? Semua pertimbangan ini membutuhkan konteks yang hanya dimiliki manusia.
Praktik yang sehat adalah menggunakan AI sebagai sparring partner. Anda datang dengan skenario, AI membantu memperluas dan menguji. Anda datang dengan keputusan awal, AI membantu menemukan kelemahan. Anda datang dengan mitigasi yang diusulkan, AI membantu mengevaluasi apakah mitigasi itu cukup. Tapi keputusan akhir tetap di tangan Anda, dan Anda harus bisa menjelaskan kepada tim, kepada stakeholder, dan kepada regulator mengapa keputusan itu diambil.
Berikut adalah diagram yang merangkum alur interaksi tersebut.
Ini bukan berarti Anda harus menulis dokumentasi panjang setiap kali membuat keputusan. Penjelasan yang dimaksud adalah kemampuan untuk menjawab pertanyaan "kenapa" dengan alasan yang bisa dipahami orang lain. Ketika ada anggota tim baru bertanya mengapa sistem pembayaran menggunakan pattern saga, Anda harus bisa menjelaskan bahwa itu dipilih karena konsistensi data lebih penting daripada latensi, dan karena tim operasional sudah siap menangani kompleksitas kompensasi transaksi.
Dengan cara ini, AI menjadi alat yang memperluas kapasitas eksplorasi Anda, bukan pengganti pertimbangan Anda. Anda bisa mengeksplorasi lebih banyak skenario dalam waktu lebih singkat, menemukan lebih banyak risiko sebelum menjadi masalah, dan tiba di keputusan yang lebih matang. Tapi penjelasan tetap milik Anda, dan itu membuat Anda tetap menjadi arsitek yang bertanggung jawab atas desain sistem.
Setelah Anda terbiasa menggunakan AI sebagai alat eksplorasi, pertanyaan selanjutnya adalah bagaimana memastikan bahwa eksplorasi ini tidak berhenti di satu titik. Bagaimana Anda bisa terus mengevaluasi dan memperbaiki keputusan desain seiring waktu? Itu menjadi arah bab berikutnya: bagaimana membangun siklus umpan balik yang membuat arsitektur terus berkembang.