Click for more products.
No produts were found.

New Era Post Vibe Coding, Caught between Dream and Reality

Posted on5 Months ago by 570
Spec-Driven Development (SDD) adalah era baru setelah Vibe-Coding (I Vibe, AI Coding), dimana kita mendefinisikan specification terlebih dahulu, baru kemudian melakukan eksesusi coding dengan menggunakan prompt pada AI-Assisted Coding Tools seperti GitHub Copilot, Cursor, Jules, Codex, etc. Basically ini termasuk advanced prompting. Jika kita sebut basic prompting adalah hanya meminta AI untuk membuat sesuatu secara garis besar dan berharap hasilnya sesuai dengan keinginan kita. Maka advanced prompting adalah prompting dengan spesifikasi yang sangat detil (termasuk granular step/task dan detailed logic) sehingga dengan 1 token prompt saja kita bisa menghasilkan behaviour aplikasi sesuai keinginan kita.
 
Basically, kita semua tahu bahwa Source-of-Truth saat ini adalah Source Code, yang di-compile menjadi Binary/Artifact, lalu dilakukan deployment. Konsep SDD menjadikan Specification menjadi Source-of-Truth dan Source Code menjadi Artifact. Dengan menggunakan semi-structured specification sebagai "Code" utama yang di-"compile" oleh AI (melalui prompt) dan menghasilkan "Source Code", kita menuju era dimana tidak ada lagi "Human-Coding". Semua coding dilakukan oleh AI dan dikontrol oleh Specification yang dikontrol oleh manusia dengan menggunakan Natural Language.

 

Konsep lama: Human (Analyst) => Specification => Human (Developer) => Source Code => Artifact

Konsep baru: Human => Specification => Source Code => Artifact

 
Berikut adalah contoh penerapan SDD pada source code:
 

 

Figure 1: Specs folder inside code namespace

 
  


Figure 2: API Specification Overview
 
 
Figure 3: API Specification Endpoints

  
Figure 4: Endpoint Return Code & Payload in Details
 
  


Figure 5: Endpoint Business Rule & Logic in Details

 

 
Dengan konsep ini, semua code berasal dari spec, tidak ada perubahan code manual. Jika ingin mengubah code, maka harus mengubah spec. Spec dan Code harus sama kondisinya. Spec reflect code, code reflect spec.

 

Conceptually Possible? Yes

Realistically Applicable? Not Yet

 

Why?
 
Saya sudah pensiun coding hampir 10 tahun. Saya sudah tidak mengenal lagi framework-framework terbaru, tahu, tapi tidak pernah benar-benar mencoba dan memakai. Namun saya aktif coding lagi untuk berbagai keperluan dengan menggunakan AI totally 100%. I don't even know where the hell is the starting point of this framework. Saya bahkan takut-takut juga untuk edit code bikinan AI tersebut karena saya totally tidak paham apa yg AI tuliskan, but IT WORKS. Saya bisa prompting dengan baik karena saya paham konsep coding, logic, dan analisis kebutuhan, meskipun tidak paham framework jaman now. So it is possible as a concept, dimana kita membuat prompt dengan sangat detail dan menghasilkan code yang sesuai expected result.

 

Lalu mengapa saat ini saya bilang belum "Realistically Applicable"?

Ada beberapa alasan:

  1. Developer masih harus melakukan prompting manual untuk mengeksekusi spec menjadi code.
  2. Tidak ada yg bisa memastikan state "spec = code" setiap waktu.
  3. Scaling problem, semakin besar aplikasinya, semakin banyak dan besar spec yang ditulis, sehingga semakin lama pula waktu yg dibutuhkan untuk prompt dan memastikan point no 2 tersebut.
  4. Prompt context limitation pada AI jika scope sudah terlalu besar.

 

Conclusion

SDD End Dream Goal adalah menghasilkan aplikasi dengan menggunakan Natural Language (bahasa manusia) tanpa perlu dibantu oleh manusia dengan hard-coding skills. Ke depan nanti, perlahan tapi pasti, akan lebih banyak code-prompter daripada code-programmer. Seperti saat ini kita lebih banyak menilai developer baru berdasarkan kemampuan analisis kebutuhan user daripada developer yang jago menuliskan algoritma kompresi atau quicksort.

 

Ya, developer tidak akan tergantikan oleh AI, namun Hard-coder lambat laun akan akan tergantikan oleh Soft-coder (smart prompter, analyst-level brain).

 

Namun untuk mencapai Dream Goal tersebut kita membutuhkan:

  1. Template SDD yang semi-structured. Terlalu kacau akan menurunkan kemampuan AI mendeteksi intent, terlalu terstruktur akan menafikan keunggulan AI untuk mendeteksi intent menggunakan natural language.
  2. Tidak ada manual code maupun editing lagi, code murni dari AI.
  3. Tools untuk memastikan "spec = code" setiap waktu.
  4. Performance AI yang lebih cepat seperti compiler mengubah source code menjadi artifact.
  5. Regulasi workflow yang jelas untuk menjalankan SDD, termasuk mitigasi risiko apabila spec tidak menghasilkan expected result.

Related articles
Related products
Improve the learning experience with Generative AI! GenAI for Learning offers interactive and personalized education through AI-powered adaptive materials and virtual tutors. Designed to boost comprehension and...
Accelerate software development with AI-driven coding assistance. GenAI for Developer helps developers generate code snippets, debug efficiently, and optimize workflows, enabling faster and smarter software...
Improve software quality and speed with AI-powered testing. This course explores intelligent test generation, defect prediction, and the use of AI to support continuous testing in agile and DevOps workflows. For...
AI in Development refers to the integration of artificial intelligence technologies throughout the entire software development lifecycle. This includes using AI to automate and enhance tasks from initial ideation and...
ISO/IEC 42001:2023 specifies requirements for building and maintaining an Artificial Intelligence Management System (AIMS). Our curriculum transitions participants from understanding the standard’s requirements to...
Maximize coding efficiency with AI-powered assistance! AI Code Assistant with GitHub Copilot helps developers write, review, and optimize code with intelligent suggestions, reducing manual effort and accelerating...
Leave a Comment
Leave a Reply
Please login to post a comment.

Menu

Settings

Click for more products.
No produts were found.