19 poin oleh spilist2 2025-05-16 | 4 komentar | Bagikan ke WhatsApp

Vibe coding = mengalihdayakan ke AI

Pada dasarnya, vibe coding adalah mengalihdayakan pembuatan program kepada AI.

Kalau melihat kembali pengalaman outsourcing pengembangan, klien yang baik biasanya melakukan hal-hal berikut dengan baik:

  1. Mendefinisikan pekerjaan untuk menyelesaikan masalah saya
  2. Berkomunikasi agar developer bisa memahaminya dengan baik
  3. Menyediakan resource yang dibutuhkan agar program bisa dibuat dengan baik
  4. Memeriksa apakah program yang dibuat benar-benar menggantikan pekerjaan sesuai niat awal
  5. Dalam proses ini, mempelajari hal yang belum diketahui dari developer sehingga perlahan bisa melakukannya sendiri

Jika diterapkan ke sudut pandang vibe coder:

  1. Mendefinisikan PRD dan user flow
  2. Menggunakan prompt dan panduan yang baik (Cursor Rules, dll.)
  3. Menangkap bagian yang melenceng dari tujuan dan menjalankan automated test
  4. Belajar sambil bolak-balik berdiskusi dengan AI

Lalu bagaimana dengan poin 3? Ini bisa dilihat dari dua sisi program:

  • Pertama, program harus dijalankan di suatu tempat. → Menentukan lingkungan eksekusi dan deployment
  • Kedua, program adalah sekumpulan kode yang 'memproses input lalu menghasilkan output'. → Menyediakan data dan API

Program harus dijalankan

  • Dalam outsourcing pengembangan, tanggung jawab developer biasanya sampai implementasi kode, sedangkan deployment dan operasional menjadi tanggung jawab klien
    • Sebagai gantinya, developer menyediakan panduan agar klien bisa menjalankan program tersebut
  • Sebagai pihak yang mengalihdayakan ke AI, kalau kita memberi tahu lingkungan untuk menjalankan dan men-deploy kode, AI akan mengerjakannya dengan sangat baik.
    • Terutama jika kodenya berjalan di atas web browser
  • Dulu, bahkan skrip yang sangat sederhana seperti 'menghapus sebagian sintaks dokumen Markdown dengan regular expression' pun tidak mudah dijalankan/di-deploy oleh non-developer
  • Sekarang, dengan Claude Artifacts, Gemini Canvas, dan sejenisnya, kita bisa cepat membuat lalu menjalankan program kecil sendiri. Kalau ingin orang lain juga memakainya, kita bisa membuat dan men-deploy-nya di Lovable, semuanya bisa dilakukan gratis dalam sekejap
  • Vibe coding tidak harus berarti membuat 'app'. Kalau itu adalah program yang menyelesaikan masalah saya dan mengurangi pekerjaan berulang, entah itu app, script, GPTs, atau prompt, semuanya tidak masalah

API yang membuat program lebih berguna

  • Namun program kecil punya keterbatasan
    • Markdown remover tidak terhubung ke DB, API, maupun LLM
    • Jadi input teks harus dimasukkan langsung oleh pengguna, dan teks hasil output juga harus disalin lalu ditempelkan sendiri ke tempat lain
  • Bagaimana jika tujuan pengguna adalah 'membersihkan tulisan yang ada di Notion lalu mempostingnya ke SNS'?
    • Input: cukup masukkan link halaman Notion
    • Proses: tulisan yang diambil dimasukkan ke LLM, diringkas agar cocok untuk SNS, lalu sintaks Markdown dihapus
    • Output: setelah ditinjau dan disetujui, otomatis diposting ke akun SNS saya
  • Dengan mengorbankan waktu respons cepat dan sifat umum, program itu akan sangat mengurangi waktu dan energi pengguna untuk pekerjaan tersebut. Artinya, untuk tujuan tertentu program menjadi lebih 'berguna'
  • Pada akhirnya, kegunaan program bergantung pada seberapa banyak pekerjaan manual pengguna yang bisa dikurangi dari sisi input/proses/output
    • Mengotomatiskan input
    • Membuat proses lebih kompleks
    • Mengotomatiskan output
  • Pada program umum, melalui API (yakni dengan terhubung ke program lain), otomatisasi input/output dan pemrosesan yang lebih canggih menjadi mungkin
    • Input: mendapatkan izin Notion dan memanggil Notion API untuk mengambil isi halaman
    • Proses: memasukkan isi halaman Notion ke LLM API bersama system prompt untuk mendapatkan respons yang sesuai untuk SNS
    • Output: mendapatkan izin Threads dan memanggil SNS API untuk mempublikasikan tulisan
  • Namun membangun hal seperti ini bukan pekerjaan yang sangat mudah bahkan bagi developer berpengalaman. Terutama karena pemberian otorisasi cukup rumit
  • Apakah ini bisa dibuat lebih mudah?

Alat otomatisasi dan MCP yang menggantikan integrasi API yang rumit

  • Dengan alat otomatisasi seperti Zapier, Make, dll., kita tidak perlu melakukan integrasi API secara langsung
    • Contoh: ketika item baru masuk ke DB Notion -> jalankan ChatGPT -> lalu unggah ke Instagram sebagai Zap
  • Aslinya, untuk memanggil API posting Instagram, kita harus membuat aplikasi khusus dan bahkan melewati proses review
  • Di Zapier atau Make, aplikasi untuk upload Instagram sudah dibuat, dan alur untuk memperoleh izin serta bertukar data juga sudah diimplementasikan. Kita tidak perlu memikirkan masalah otorisasi yang rumit
  • Namun bagi sebagian orang, membangun alur 'ini lalu itu' seperti ini pun bisa terasa sulit dan merepotkan. Hal-hal seperti MCP/A2A memungkinkan orang-orang ini melakukan semuanya lewat chatbot LLM
  • Seperti program umum yang bisa melakukan lebih dari logika sederhana lewat API, program bernama chatbot LLM juga bisa terhubung ke program lain melalui MCP sehingga dapat melakukan lebih dari sekadar output teks/gambar/suara sederhana(?)
    • Artinya, di Claude bisa menjadi mungkin untuk mengatakan 'ambil isi halaman Notion saya, ringkas, lalu unggah ke Instagram'
  • Tentu saja, untuk melakukan ini, MCP server yang sesuai (Notion, Instagram) harus dihubungkan ke MCP client (Claude)
    • Peran terbesar MCP server adalah memanggil API sebagai pengganti lewat tool, dan meskipun Notion sudah punya MCP server resmi, Instagram belum punya
    • Lalu bagaimana Claude memanggil Instagram API?
  • Di sinilah Zapier muncul lagi. Lewat MCP server yang disediakan Zapier atau Make, upload ke Instagram menjadi mungkin
  • Jadi, jika alat otomatisasi (yang sudah punya banyak integrasi) dihubungkan ke chatbot LLM lewat MCP, hasilnya menjadi sangat kuat

Potensi dan keterbatasan MCP

  • Kalau dilihat seperti ini, mungkin ada yang bertanya kenapa harus repot menggunakan MCP
    • Karena hampir semua pekerjaan yang saat ini bisa dilakukan chatbot + MCP juga bisa dilakukan oleh alat otomatisasi
  • Namun penulis merasa potensi MCP sangat besar karena tiga alasan:
    1. Antarmuka yang nyaman (bukankah asisten chatbot yang mengurus semuanya adalah bentuk program paling ideal?)
    2. Intervensi pengguna untuk pekerjaan sensitif jadi lebih nyaman
    3. Bukan hanya bisa mengotomatiskan pekerjaan di PC lokal seperti kontrol file system dan browser, tetapi juga bisa menyediakan lebih banyak informasi seperti resource dan template prompt
  • Ada banyak hal yang perlu diperhatikan saat menggunakan MCP
    • Semakin banyak yang diserahkan ke MCP, semakin besar perhatian yang harus diberikan pada keamanan. Karena itu, official remote MCP server lebih aman daripada local
    • Jika terlalu banyak MCP tool diberikan ke LLM, tool yang saya inginkan bisa jadi tidak dijalankan, dan karena definisi tool semuanya ikut masuk sebagai input token, biaya serta waktu pemanggilan LLM juga bertambah
    • Keacakan khas LLM juga harus selalu diwaspadai dalam layanan komersial
  • Pada akhirnya, entah kita menghubungkan API ke program kita sendiri, merancang automation flow, atau menempelkan MCP ke chatbot LLM, semua itu sama-sama berarti 'tolong kerjakan pekerjaan saya'
  • Tidak perlu stres hanya karena kata kunci seperti Make atau MCP sedang naik daun. Dengan cara yang paling nyaman bagi kita, sambil memahami kelebihan dan kekurangan masing-masing pendekatan, kita cukup membuat program yang menggantikan pekerjaan kita

Ringkasan

  • Vibe coding adalah mengalihdayakan pengembangan program kepada AI.
  • Selama bisa menjalankan pekerjaan saya dengan baik, web app, code snippet, maupun prompt semuanya bisa menjadi program yang berguna.
  • Agar program menjadi lebih berguna, koneksi API diperlukan untuk otomatisasi input/output dan pemrosesan yang lebih canggih.
  • Alat otomatisasi membantu menyelesaikan kerumitan integrasi API.
  • Program berupa chatbot LLM juga bisa menjadi lebih berguna lewat koneksi MCP. Terutama kuat jika dihubungkan dengan MCP server yang disediakan alat otomatisasi.
  • Tidak perlu hanya memakai salah satu dari API, otomatisasi, atau MCP; jika digabungkan justru bisa menjadi lebih praktis dan kuat (contoh: hanya memasang Notion MCP ke Claude, lalu mengatur Notion to Instagram di Zapier untuk otomatisasi upload)
  • Dengan mempertimbangkan kelebihan dan kekurangan, mari buat program yang memecahkan masalah kita dengan cara yang paling cocok bagi kita, bersama AI

4 komentar

 
iolothebard 2025-05-17

Sekadar vibe coding saja belum bisa disebut outsourcing. Dalam outsourcing, hasilnya ditinjau per proyek, sedangkan agen coding AI saat ini perlu ditinjau pada unit tugas yang lebih kecil dari itu.

Kalau memang outsourcing, saya seharusnya bisa menyerahkan pekerjaan lalu mengerjakan hal lain… tapi untuk saat ini masih harus terlalu sering diawasi. Seperti developer junior yang pintar tapi masih canggung…

Saya rasa tak lama lagi… meski belum sampai level outsourcing, mungkin mereka bisa bekerja seperti tim pengembang kecil… diberi instruksi, ditinjau sesering mungkin, lalu diperbaiki… tetapi rasanya sekarang pun masih belum sampai ke tahap itu.

Mungkin saya saja yang kurang punya vibe…

 
ifmkl 2025-05-16

Saya merasa postingan ini https://tech.kakao.com/posts/700 menunjukkan contoh yang bagus dari Vibe Coding, dan sepertinya konteksnya mirip. Saya juga setuju dengan isi yang Anda tuliskan.

 
spilist2 2025-05-16

Berkat ini saya jadi membaca tulisan yang menarik! Terima kasih.

 
spilist2 2025-05-16

Kalau begitu, bagaimana dengan 3? -> Ini membahas dukungan resource.

Di atas saya memberi penomoran 1, 2, 4, 5, tetapi di Markdown otomatis berubah menjadi 1234 ya.