𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴 𝗕𝘂𝗸𝗮𝗻𝗹𝗮𝗵 𝗠𝗮𝘀𝗮𝗹𝗮𝗵𝗻𝘆𝗮. 𝗧𝗮𝗽𝗶 𝗧𝗶𝗱𝗮𝗸 𝗠𝗲𝗺𝗮𝗵𝗮𝗺𝗶 𝗦𝘁𝗮𝗰𝗸-𝗻𝘆𝗮𝗹𝗮𝗵 𝗠𝗮𝘀𝗮𝗹𝗮𝗵𝗻𝘆𝗮.

Sebuah alat AI pernah memberikan saya file konfigurasi ini: DATABASE_URL = "postgresql://admin:SuperSecret123@db.internal:5432/app" API_KEY = "sk-live-4f9a..."

Itu berhasil. Itulah jebakannya. Demonya berjalan dan peninjau mengangguk setuju. Namun, rahasia tersebut kini ada di riwayat git Anda selamanya. Siapa pun yang masuk ke repo Anda dapat melihatnya.

Saya bukan seorang pengembang. Saya menghabiskan dua puluh tahun di bidang rekayasa sistem (systems engineering). Saya membangun fondasi tempat aplikasi berjalan. Saya membangun host, jaringan, dan basis data.

Saat saya menggunakan alat AI, saya tidak gagal seperti orang lain. Inilah alasannya.

Andrej Karpathy berbicara tentang "vibe coding" untuk proyek sekali pakai (throwaway projects). Beberapa orang membawa hal ini terlalu jauh. Mereka berhenti melihat kode. Sekarang, mereka berhenti melihat sistem. Anda bisa mengabaikan kode, tetapi Anda tidak bisa mengabaikan sistem. Sistemlah yang sebenarnya menjalankan segalanya.

Saya sering kali mengabaikan saran AI karena model tersebut kurang memiliki konteks operasional:

  • Sistem Operasi: AI mungkin menyarankan Windows untuk aplikasi keamanan. Ia mengabaikan biaya lisensi. Server Ubuntu gratis dapat melakukan pekerjaan yang sama dengan lebih murah.
  • Basis Data: AI mungkin memilih MySQL. Ia tidak tahu mesin (engine) mana yang dapat saya kelola pada jam 2 pagi setahun dari sekarang.
  • Keamanan: AI berhenti pada tahap "login berhasil." Keamanan yang sebenarnya membutuhkan akses bersyarat (conditional access) dan perangkat tepercaya. Anda tidak akan menemukan hal itu hanya melalui "vibes".
  • Jaringan: AI sering menyarankan untuk membuka port ke seluruh internet. Saya membatasi akses ke jaringan manajemen tertentu.

AI menganggap jaringan sebagai masalah orang lain. Padahal tidak.

Solusi untuk hardcoded secrets sangatlah sederhana. Gunakan variabel lingkungan (environment variables): import os DATABASE_URL = os.environ["DATABASE_URL"]

Model tersebut akan memasukkan rahasia secara langsung (inline) ke dalam file Anda kecuali Anda menghentikannya.

Para vibe coder gagal karena mereka mengira kode aplikasi adalah keseluruhan sistem. Padahal tidak. Aplikasi hanyalah satu lantai dari sebuah bangunan. Jika Anda tidak menuangkan fondasinya, bangunan tersebut akan runtuh.

Saat saya menggunakan AI, saya tidak memulai dengan "buatkan saya X." Hal itu menciptakan demo yang rusak saat masuk ke tahap produksi. Saya menghabiskan tiga puluh menit terlebih dahulu untuk membahas batasan (constraints) dan tradeoff. Saya meminta model tersebut menulis spesifikasi berdasarkan logika tersebut. Ini mencegah pembersihan berjam-jam di kemudian hari.

Masalahnya bukan pada alatnya. Masalahnya adalah melakukan perubahan tanpa melihat apa yang disentuhnya. Jika Anda memahami fondasinya, mengikuti "vibes" akan aman dilakukan.

Garis pemisahnya bukan pada seberapa banyak kode yang Anda ketik. Melainkan apakah Anda memahami fondasi tempat kode Anda berpijak.

Apa override yang terus Anda lakukan karena model selalu salah setiap saat?

Sumber: https://dev.to/kkierii/vibe-coding-isnt-the-problem-not-understanding-the-stack-is-4kif

Komunitas belajar opsional: https://t.me/GyaanSetuAi