21.2 AI untuk Memahami Codebase dan Dokumen yang Sudah Ada

Setelah memahami cara memberi brief yang baik, kita perlu tahu bagaimana AI bisa membantu kita memahami situasi yang sudah ada, terutama codebase dan dokumen yang kompleks.

Bayangkan Anda baru bergabung dengan tim yang sudah memiliki sistem berusia lima tahun. Ada ribuan file, puluhan modul, dan dokumentasi yang tersebar di berbagai tempat. Manajer Anda berkata, “Coba pelajari dulu sistemnya.” Pertanyaan pertama yang muncul: mulai dari mana? Membaca baris per baris tidak realistis. Membaca dokumen halaman per halaman juga tidak efisien, apalagi jika dokumennya sudah tidak sinkron dengan kode yang berjalan.

Situasi ini tidak hanya terjadi saat onboarding. Sebagai arsitek, Anda sering perlu memahami bagian tertentu dari sistem yang sudah ada sebelum mengambil keputusan desain. Mungkin Anda perlu tahu bagaimana modul pembayaran menangani retry logic, atau bagaimana service A berkomunikasi dengan service B. Tanpa pemahaman yang baik, keputusan arsitektur bisa salah arah.

Di sinilah AI bisa menjadi alat navigasi. Bukan untuk menggantikan pemahaman Anda, tetapi untuk mempercepat proses orientasi dan eksplorasi.

Pola kerja yang paling sederhana adalah menggunakan AI sebagai code navigator. Briefnya bisa berbunyi: “Saya perlu memahami bagaimana modul pembayaran menangani kegagalan transaksi. Fokus pada retry logic, timeout, dan mekanisme rollback. Abaikan bagian logging dan monitoring.” AI kemudian akan membaca struktur kode, mengidentifikasi fungsi-fungsi relevan, dan memberikan ringkasan yang terfokus. Anda tidak perlu membaca seluruh file—cukup bagian yang penting untuk keputusan yang akan diambil.

Berikut adalah contoh brief yang bisa Anda gunakan langsung:

Saya perlu memahami bagaimana modul pembayaran menangani kegagalan transaksi. Fokus pada retry logic, timeout, dan mekanisme rollback. Abaikan bagian logging dan monitoring.

Berikut adalah diagram alur yang menggambarkan proses tersebut:

flowchart TD A[Pertanyaan Arsitek] --> B[AI Membaca Struktur Kode] B --> C[Identifikasi Fungsi Relevan] C --> D[Retry Logic] C --> E[Timeout] C --> F[Rollback] D --> G[Ringkasan Terfokus] E --> G F --> G G --> H[Keputusan Desain]

Pola ini bisa diperluas menjadi repository agent, yaitu AI yang sudah memiliki konteks terhadap seluruh codebase. Dengan memberikan pertanyaan seperti “Apa saja entry point yang memanggil service ini?” atau “Bagaimana alur data dari controller ke database untuk fitur ini?”, Anda bisa mendapatkan peta navigasi tanpa harus membuka setiap file satu per satu.

Untuk dokumen, AI bisa berperan sebagai knowledge assistant. Bayangkan Anda memiliki dokumen spesifikasi kebutuhan yang panjangnya seratus halaman. Anda tidak perlu membacanya dari awal. Cukup beri brief: “Saya perlu memahami requirement untuk fitur persetujuan alur kerja. Tolong ringkas bagian yang relevan, termasuk aktor, kondisi, dan aturan bisnis yang terkait.” AI akan mengekstrak informasi yang Anda butuhkan dan menyajikannya dalam bentuk yang siap pakai.

Yang penting, AI tidak menghafal seluruh kode atau dokumen. Ia membaca, memahami konteks, dan memberikan ringkasan yang terstruktur. Anda tetap perlu memverifikasi kebenaran ringkasan itu, terutama untuk bagian yang kritis. Tapi untuk eksplorasi awal dan orientasi, pendekatan ini menghemat waktu secara drastis.

Implikasinya untuk arsitek dan tim cukup besar. Pertama, waktu onboarding bisa dipangkas dari minggu menjadi hari. Kedua, keputusan arsitektur bisa diambil dengan pemahaman yang lebih baik karena Anda bisa dengan cepat mengeksplorasi bagian sistem yang relevan. Ketiga, Anda tidak perlu lagi bergantung sepenuhnya pada anggota tim lain yang sudah lama di proyek untuk menjelaskan sistem.

Tentu ada batasnya. AI tidak bisa menangkap konteks bisnis yang tidak tertulis di kode atau dokumen. Ia juga bisa salah interpretasi jika kode memiliki pola yang tidak umum. Karena itu, gunakan AI sebagai alat bantu navigasi, bukan sebagai satu-satunya sumber kebenaran. Verifikasi temuan Anda dengan membaca langsung bagian kritis atau bertanya ke anggota tim yang lebih berpengalaman.

Setelah Anda memahami codebase dan dokumen yang sudah ada, langkah berikutnya adalah mengeksplorasi desain. Dengan pemahaman yang cukup tentang sistem saat ini, Anda bisa mulai membandingkan opsi-opsi arsitektur sebelum memutuskan arah yang akan diambil.