26 คะแนน โดย GN⁺ 2026-02-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • antirez ให้นิยาม กระบวนการเขียนซอฟต์แวร์โดยใช้ AI ช่วย ว่าเป็น ‘Automatic Programming’ และคาดว่านี่จะกลายเป็นมาตรฐานของการพัฒนาซอฟต์แวร์ในไม่ช้า
  • แม้จะใช้ LLM ตัวเดียวกัน แต่ สัญชาตญาณ การออกแบบ และการปรับทิศทางอย่างต่อเนื่องของมนุษย์ ก็ทำให้ผลลัพธ์แตกต่างกันได้มาก
  • Vibe coding คือแนวทางที่ปล่อยให้ AI ทำงานไปโดยแทบไม่มีความเข้าใจเชิงลึก ขณะที่ Automatic Programming ตั้งอยู่บนพื้นฐานของ วิสัยทัศน์และการควบคุมที่ชัดเจนของนักพัฒนา
  • โค้ดที่ AI สร้างขึ้นเองก็ยัง อาศัยข้อมูล pretraining และการตัดสินใจที่มนุษย์สั่งสมไว้ และความเป็นเจ้าของผลงานยังคงเป็นของนักพัฒนา
  • แม้การเขียนโปรแกรมจะถูกทำให้เป็นอัตโนมัติมากขึ้นเรื่อย ๆ แต่ ไอเดียและวิสัยทัศน์ยังคงเป็นพื้นที่ของมนุษย์

นิยามแนวคิดของ Automatic Programming

  • ตั้งชื่อกระบวนการเขียนซอฟต์แวร์ด้วยการสนับสนุนจาก AI ว่า Automatic Programming
  • วิธีนี้จะกลายเป็นกระบวนการมาตรฐานของการพัฒนาซอฟต์แวร์ในเร็ว ๆ นี้

ความแตกต่างจาก Vibe Coding

  • Vibe Coding คือการสร้างซอฟต์แวร์ด้วย AI โดยไม่เข้าไปมีส่วนร่วมในกระบวนการเลย
    • หากอธิบายสิ่งที่ต้องการด้วยคำกว้าง ๆ มาก ๆ LLM ก็จะสร้างไอเดีย การออกแบบ หรือโค้ดชุดแรกที่ผุดขึ้นมาอย่างเป็นธรรมชาติ ตามข้อมูลที่มันเรียนรู้และการสุ่มตัวอย่างเฉพาะของการรันครั้งนั้น
    • สิ่งที่ Vibe coder ทำได้มากที่สุดก็มักเป็นเพียงการรายงานว่าส่วนไหนไม่ทำงานหรือไม่ตรงกับที่คาดไว้
  • Automatic Programming เป็นแนวทางที่มุ่งคุณภาพสูง และยึดตามวิสัยทัศน์ด้านซอฟต์แวร์ของผู้สร้างอย่างเคร่งครัด
    • วิสัยทัศน์นี้มี หลายชั้น: ตั้งแต่วิธีทำงานบางอย่างอย่างแม่นยำ ไปจนถึงการสั่ง AI โดยตรงว่าควรเขียนฟังก์ชันหนึ่งอย่างไร
    • องค์ประกอบสำคัญอีกอย่างคือ จะทำอะไร

ความสำคัญของปัจจัยมนุษย์

  • แม้จะเป็น LLM ตัวเดียวกัน ผลลัพธ์ก็อาจต่างกันมากตาม สัญชาตญาณ การออกแบบ การปรับทิศทางอย่างต่อเนื่อง และไอเดียเกี่ยวกับซอฟต์แวร์ ของมนุษย์ที่เป็นผู้นำกระบวนการ
  • คำพูดว่า "Claude ช่วย vibe coding ซอฟต์แวร์นี้ให้" จึงไม่ใช่การอธิบายที่เหมาะสม
  • หากคุณรู้ว่าเกิดอะไรขึ้น และมีส่วนในกระบวนการผลิตซอฟต์แวร์จริง ๆ นั่นก็คือ ซอฟต์แวร์ที่คุณเป็นผู้สร้าง

มุมมองต่อความเป็นเจ้าของโค้ด

  • ข้อมูล pretraining ไม่ใช่ส่วนเดียวที่ LLM ใช้เรียนรู้ (RL ก็มีสัดส่วนมากเช่นกัน) แต่สิ่งเหล่านั้นก็ล้วนเป็นสิ่งที่มนุษย์สร้างขึ้น
    • ดังนั้นนี่จึงไม่ใช่การยึดเอาของอย่างอื่นมาใช้โดยเฉพาะเจาะจง
  • เราสามารถเรียกโค้ดที่ AI สร้างว่าเป็น "ของเรา" ได้ และมีสิทธิ์ที่จะพูดเช่นนั้น
  • pretraining คือ ของขวัญร่วมกันของส่วนรวม ที่ทำให้หลายคนสามารถทำสิ่งที่ลำพังคนเดียวไม่มีวันทำได้
    • คล้ายกับการเชื่อมต่อกันผ่าน จิตสำนึกร่วมของส่วนรวม ในบางรูปแบบ
  • โค้ดที่สร้างผ่าน Automatic Programming คือ โค้ดของคุณ ผลงานของคุณ และสิ่งที่คุณเป็นผู้ผลิต และคุณสามารถภูมิใจกับมันได้

กรณีของ Redis

  • Redis ไม่ได้มีความน่าพิศวงทางเทคนิคมากนัก
    • ในช่วงเริ่มต้น มันเป็นเพียง การรวมกันของโครงสร้างข้อมูลพื้นฐานและโค้ดเครือข่าย ที่โปรแกรมเมอร์สายระบบที่มีความสามารถคนใดก็เขียนได้
  • ถึงอย่างนั้นมันก็กลายเป็นซอฟต์แวร์ที่มีประโยชน์มาก เพราะมี ไอเดียและวิสัยทัศน์ อยู่ภายใน

บทสรุป

  • ตอนนี้การเขียนโปรแกรมถูกทำให้เป็นอัตโนมัติแล้ว แต่วิสัยทัศน์ยังไม่ถูกทำให้เป็นอัตโนมัติ

1 ความคิดเห็น

 
GN⁺ 2026-02-02
ความคิดเห็นจาก Hacker News
  • ผมมีประสบการณ์ในวงการมากกว่า 30 ปี และช่วงนี้กำลังอินกับ การพัฒนาแบบขับเคลื่อนด้วยสเปก(spec-driven development) มาก
    ผมใช้ Claude Code และ GPT-5.2(CoPilot) เพื่อสร้างข้อกำหนด แล้วขัดเกลาด้วยการทำ ทบทวนด้วยตนเอง(self-review) ซ้ำหลายรอบ
    เมื่อได้สเปกที่สมบูรณ์แล้ว Claude Code ก็จะเขียนแผนการพัฒนาและโค้ดจากสเปกนั้น ทำให้ฟีเจอร์หลักเสร็จได้ภายใน 20 นาที
    มันทำให้นึกถึง แนวทางวอเตอร์ฟอล สมัยทำงานในอุตสาหกรรมป้องกันประเทศ แต่รู้สึกว่าด้วย AI ตอนนี้เราสามารถใช้แนวทางแบบ “augmented cascade” ที่เร็วและขัดเกลามากกว่าเดิมได้

    • ถ้าวอเตอร์ฟอลจะทำงานได้ดี ต้องมีมุมมองระยะยาว และคนเขียนสเปกกับคนพัฒนาต้องเป็นคนเดียวกัน
      Agile เป็นการตอบสนองของบริษัทที่ทำแบบนั้นไม่ได้ และต้องรีบปล่อยผลิตภัณฑ์เพื่อความอยู่รอด
    • ผมเองก็คิดว่าอนาคตของการเขียนโปรแกรมจะเป็น สเปกเป็นศูนย์กลาง
      เลยสงสัยว่ามีตัวอย่างสเปกแบบเปิดเผยสาธารณะอะไรที่น่าอ้างอิงบ้างไหม สมัยก่อนคนรุ่นหนึ่งยกย่องโค้ด Quake ของ John Carmack ส่วนคนรุ่นต่อไปอาจจะยกย่องสเปกที่ยอดเยี่ยมก็ได้
    • ต่อให้สเปกจะละเอียดแค่ไหน ก็ยากจะหลีกเลี่ยงการปะทะกับความเป็นจริง
      เพราะมนุษย์ไม่สามารถคาดการณ์ความซับซ้อนและกรณียกเว้นทั้งหมดได้ พอลงมือทำจริงก็ต้องมีจุดที่คิดไม่ถึงโผล่มาแน่
    • Agile คือวิธีค่อย ๆ หาเส้นทางที่ถูกต้องในสภาพแวดล้อมที่ข้อกำหนดเปลี่ยนตลอด
      ถ้าข้อกำหนดชัดเจนอยู่แล้ว ก็ไม่ได้จำเป็นนัก
    • แนวทางนี้สุดท้ายก็ดูเหมือนเป็นการแปลงแนวคิด Design by Contract ให้ทันสมัย
      เพียงแต่ต่างกันตรงที่ใช้ LLM แทนทีมย่อย
      ข้อมูลอ้างอิงที่เกี่ยวข้อง: Design by Contract (Goodreads), PDF ต้นฉบับ
  • ผมไม่เห็นด้วยกับคำพูดที่ว่า “การฝึกสอนล่วงหน้า(pre-training) คือของขวัญร่วมกันจากมนุษยชาติ”
    ถ้ามันเป็นของที่ขโมยมา ก็ไม่ใช่ของขวัญ
    ต่อให้เป็นโค้ดที่ LLM สร้าง ถ้าผมเป็นคนรับผิดชอบและดูแลมัน ผมก็ถือว่านั่นคือโค้ดของผม
    ปัญหาเกิดขึ้นตอนที่ผู้เขียน หลีกเลี่ยงความรับผิดชอบ

    • ผมรู้สึกต่อต้านคำว่า “ของขวัญที่ขโมยมา” แบบสัญชาตญาณ
    • ความรู้ไม่ใช่สิ่งที่ขโมยกันได้ เราไม่พูดกันว่ามีใครขโมยคณิตศาสตร์ไป เช่นเดียวกัน ผมคิดว่า การแบ่งปันความรู้ เองคือแก่นของความก้าวหน้าของมนุษย์
  • หลังจากลองใช้ Claude Code กับ Opus 4.5 ผมก็มาถึงข้อสรุปคล้ายกัน
    ผมเรียกมันว่า “zen coding” คือดูแล codebase เหมือนสวนเซน วางสเปกอย่างละเอียดและรีวิวทีละบรรทัด
    AI ควรทำงานเป็น เครื่องมือ ไม่ใช่นักออกแบบ
    คนที่มีสเปกชัดเจนจะได้โค้ดคุณภาพสูงกว่าจาก AI อย่างมาก
    Vibe coding คือการทดลองตามสัญชาตญาณ ส่วน Zen coding คือการฝึกฝนของช่างฝีมือ

  • เวลาได้ยินคำพูดทำนองว่า “Claude ให้มา” ผมมักมีลางสังหรณ์ว่านั่นยังเป็น โค้ดที่มีกลิ่นอายแบบร่างแรก
    อย่าโทษเครื่องมือหรือเอาแต่ขอโทษ แค่ทำให้ผลลัพธ์ดีขึ้นก็พอ

    • ปัญหาคือตอนนี้เราไปได้ไกลพอสมควรแล้วโดยแทบไม่ต้องสนใจ สถาปัตยกรรมหรือคุณภาพโค้ด
    • เพราะงั้นยิ่งต้องยกระดับความคาดหวัง และใช้ระบบอัตโนมัติมาช่วยยกระดับ คุณภาพของแอปที่ vibe-coded
  • ผมรู้สึกไม่สบายใจกับคำว่า “การฝึกสอนล่วงหน้าเป็นของขวัญจากมนุษยชาติ”
    นักพัฒนาโอเพนซอร์สจำนวนมากไม่ได้ต้องการให้โค้ดของตนถูกใช้ฝึก LLM
    โค้ดที่ LLM สร้างขึ้นบางส่วนที่ผมเคยเห็น แทบจะคัดลอก โค้ดจากหนังสือหรือบล็อก มาตรง ๆ
    อย่างน้อยที่สุดก็ควรระบุที่มาเพื่อความเหมาะสม

    • การพัฒนาทุกอย่างล้วนยืนอยู่บนไหล่ของคนรุ่นก่อน ไม่มีงานสร้างสรรค์ที่เป็นอิสระโดยสมบูรณ์
    • ใบอนุญาตโอเพนซอร์สกับ สาธารณสมบัติ(public domain) ต่างกันในทางกฎหมาย
      ถ้านำโค้ด GPL ไปฝึก LLM ก็อาจตีความได้ว่าผลลัพธ์ที่ออกมาก็ควรถูกเผยแพร่ภายใต้ GPL ด้วย
    • ในประวัติศาสตร์มีตัวอย่างมากมายที่ผลงานถูกนำไปใช้โดยไม่สนใจเจตนาของผู้สร้าง
      เช่น Kafka เคยขอให้เผาต้นฉบับของตัวเองทิ้ง แต่ตอนนี้กลับกลายเป็นวรรณกรรมคลาสสิก
    • บางคนก็ย้อนถามว่า “เวลาเขียน quicksort คุณให้เครดิต Hoare ไหม?”
    • ทรัพย์สินทางปัญญา เองก็ไม่ใช่สิทธิแบบสัมบูรณ์ และหากจำเป็นก็อาจถูก เวนคืน(expropriation) ได้ในระดับสังคม
  • automatic programming” ในช่วงทศวรรษ 1950~60 แท้จริงแล้วหมายถึงคอมไพเลอร์
    ส่วน 4GL ในยุค 1980 คือภาษาระดับสูงเฉพาะโดเมน และ LLM ในปัจจุบันก็ยังอยู่ในขั้นของการสร้างแบบร่างจากสเปกภาษาธรรมชาติ
    ท้ายที่สุดมนุษย์ก็ยังต้องยกระดับความสมบูรณ์ผ่าน การแก้ไขซ้ำและการเปลี่ยนแบบการออกแบบ อยู่ดี

  • ตอนนี้เราอาจกำลังมองดูคนรุ่นสุดท้ายของ นักพัฒนาระดับช่างฝีมือ(artisanal coder) อยู่ก็ได้
    ช่างฝีมืออย่าง Antirez จัดการกับแนวคิดที่ก้าวข้ามขีดจำกัดของมนุษย์ และสร้าง ซอฟต์แวร์ที่เรียบง่ายแต่สวยงามอย่าง Redis ขึ้นมา
    AI สร้างโค้ดได้เร็วในระดับที่มนุษย์ทำไม่ได้ แต่ก็ไม่ใช่พู่กันกับผืนผ้าใบ
    คนรุ่นใหม่จะกลายเป็นช่างฝีมือในแบบที่ต่างออกไปโดยสิ้นเชิง
    ผมเองก็กลัวเหมือนกัน แต่ก็ยอมรับเครื่องมือใหม่เหล่านี้และกำลังทดลองกับ ยุคใหม่ของงานช่างฝีมือ

    • แม้ในหมากรุกมนุษย์จะสู้คอมพิวเตอร์ไม่ได้แล้ว แต่ก็ยังเป็นที่นิยมมาก
    • ตอนนี้ Antirez ดูจะเป็น AI influencer มากกว่า แต่การเขียนโค้ดก็ยังเป็นกิจกรรมที่สนุกอยู่ดี
    • ถึง LLM จะช่วยเรื่องโค้ดได้ แต่ ความเข้าใจแนวคิดพื้นฐานและโครงสร้าง ก็ยังจำเป็น
      เพียงแค่มีทักษะในการใช้งาน AI เพิ่มเข้ามา ไม่ได้หมายความว่าความรู้เดิมจะหมดความจำเป็น
  • ในบทความของ Antirez การแยกความต่างระหว่าง “vibe coding กับ automatic programming” อย่างชัดเจนนั้นน่าประทับใจ
    มันคล้ายกับการเปลี่ยนผ่านจากยุคที่สถาปนิกวาดแบบด้วยมือ ไปสู่ BIM, CAD
    สำหรับนักพัฒนาในยุค AI นี่ไม่ใช่ว่าเขียนโค้ดน้อยลง แต่เป็น จุดโฟกัสของคุณค่าได้เปลี่ยนไป

  • “vibe coding vs automatic coding” ไม่ใช่ การแบ่งขั้วแบบสองทาง แต่เป็นสเปกตรัม
    แม้แต่ในโปรเจกต์เดียวก็สามารถผสมหลายระดับของแนวทางเข้าด้วยกันได้

    • เอาต์พุตของ LLM แตกต่างกันไปตาม ระดับทักษะและเจตนา ของผู้ใช้ ดังนั้นสุดท้ายแล้วผลงานก็ยังเป็นของผู้ใช้อยู่ดี
      สิ่งสำคัญคือท่าทีในการใช้เครื่องมืออย่าง วิพากษ์วิจารณ์ และปรับปรุงมันอย่างต่อเนื่อง
    • AI ก็เหมือน เครื่องดนตรี ที่เล่นได้หลายรูปแบบ
      บางคนเรียกสิ่งนี้ว่า “spec strumming