ในยุคของ AI coding agent การมอง การพัฒนาแบบขับเคลื่อนด้วยสเปก (Spec-Driven Development) เป็นเพียงสมการเส้นตรงว่า “สเปก → โค้ด” คือมุมมองที่ผิด

ข้อโต้แย้งหลัก

การพัฒนาแบบขับเคลื่อนด้วยสเปกไม่ใช่ สมการคงที่ แต่เป็นสามเหลี่ยมแบบพลวัต
วงจรป้อนกลับที่ทั้งสามแกนส่งอิทธิพลต่อกันอย่างต่อเนื่อง:

  • สเปก (Spec)
  • โค้ด (Code)
  • การทดสอบ (Tests)

ทั้งสามองค์ประกอบนี้ต้องซิงก์กันจึงจะทำงานได้อย่างถูกต้อง

กรณีศึกษาและการทดลองสำคัญ

  • ไลบรารีแบบไม่มีโค้ด whenwords ที่สร้างโดย Drew Breunig
    → วางไว้เพียงสเปก (Markdown) + การทดสอบ 750 รายการ (YAML) โดยไม่มีโค้ด แล้วให้ AI agent สร้างโค้ดขึ้นมา
    → ได้รับความสนใจจาก Andrej Karpathy + มีดาวบน GitHub มากกว่า 1k + มีผู้ร่วมพัฒนาอย่างคึกคัก

แต่ปัญหาที่เกิดซ้ำในงานทดลองลักษณะนี้คือ:

  • การพัฒนาทำได้เร็ว แต่พอความซับซ้อนเพิ่มขึ้นเพียงเล็กน้อย แก้ส่วนหนึ่งแล้วอีกส่วนก็พัง
  • สุดท้ายแล้วโปรเจกต์ส่วนใหญ่ก็ถูกปล่อยค้างไว้ไม่เสร็จสมบูรณ์
  • ต่อให้สเปกดีแค่ไหน ก็ยังมีการถกเถียงเรื่องวิธีลงมือทำอยู่ต่อเนื่อง

ทำไมจึงเป็นสามเหลี่ยม?

เมื่อสร้างโค้ดไปเรื่อย ๆ → พบความกำกวม/ข้อผิดพลาดในสเปก → แก้สเปก → ต้องมีการทดสอบใหม่ → แก้โค้ดอีกครั้ง → …
→ เพราะนี่คือ ลูป ที่วนซ้ำอย่างต่อเนื่อง

แนวทางแก้ที่เสนอ: เครื่องมือ Plumb

CLI tool Plumb ที่ Drew สร้างขึ้น

  • ทุกครั้งที่ Git commit จะวิเคราะห์ทั้งบันทึกบทสนทนากับ agent + การเปลี่ยนแปลงของโค้ด
  • agent ดึงการตัดสินใจโดยนัยที่เกิดขึ้นออกมา → ให้นักพัฒนาอนุมัติ
  • การตัดสินใจที่อนุมัติแล้ว → อัปเดตสเปกอัตโนมัติ
  • มีรายงานช่องว่างของความครอบคลุมระหว่างสเปก/การทดสอบ
    → ด้วย “โหมด commit failure” จึงบังคับให้การตัดสินใจสำคัญต้องผ่านการทบทวนโดยมนุษย์เสมอ

บริบททางประวัติศาสตร์

ตอนนี้เรากำลังเผชิญ ‘วิกฤตซอฟต์แวร์’ แบบยุคทศวรรษ 1960 อีกครั้ง
ในเวลานั้น โค้ดมีขนาดใหญ่เกินกว่าจะเก็บไว้ในหัวได้ → จึงเกิด Waterfall, Agile และ CI/CD
ตอนนี้กลับกลายเป็นว่า แม้แต่อ่านโค้ดก็ยังทำไม่ได้ → จึงต้องการกระบวนการแบบใหม่
→ มีข้อเสนอว่าเครื่องมืออย่าง Plumb กำลังชี้ทิศทางนั้น

สรุปหนึ่งบรรทัด

แม้จะเป็นยุคที่ AI สร้างโค้ดได้รวดเร็วมหาศาล
แต่สิ่งที่ยากจริง ๆ คือการ ทำให้สามเหลี่ยม สเปก-โค้ด-การทดสอบ ซิงก์กันอยู่ตลอดเวลา

https://aisparkup.com/posts/9837

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น