บทความ

Vibe coding กับ agentic coding ต่างกันที่ใครพิสูจน์ว่างานถูก

สองคำนี้ถูกใช้ปนกันจนฟังเหมือนเรื่องเดียว แต่ต่างกันที่สิ่งที่เกิดขึ้นหลังโค้ดถูกเขียน ไม่ใช่เครื่องมือที่ใช้

ภาพเส้นสองแบบ เส้นประตรงที่ไม่ผ่านจุดตรวจใดเลย กับวงรอบที่มีจุดตรวจสี่จุด

ลองนึกถึงงานเดียวกันสองครั้ง ให้ AI สร้างเว็บหนึ่งหน้าในบ่ายวันเดียว โค้ดที่ส่งกลับมาอาจหน้าตาเหมือนกันเลยด้วยซ้ำ ความต่างของ vibe coding กับ agentic coding ไม่ได้อยู่ที่โค้ดที่ถูกเขียน แต่อยู่ที่สิ่งที่เกิดขึ้นหลังจากนั้น

สองคำนี้ถูกใช้ปนกันจนฟังเหมือนเรื่องเดียวกัน คือการเขียนโค้ดกับ AI แต่มันเป็นสองวิธีทำงานที่ให้ผลต่างกันมากเมื่อมีคนต้องพึ่งโค้ดนั้นต่อ เราเขียนเว็บไซต์ให้ลูกค้าด้วย Claude Code และ Codex ทุกวัน จึงอยากแยกให้ชัดว่าเส้นแบ่งอยู่ตรงไหน และเมื่อไหร่ควรใช้อะไร

Vibe coding เดิมแปลว่าไม่อ่านโค้ด

คำนี้มาจาก Andrej Karpathy ในโพสต์เมื่อเดือนกุมภาพันธ์ 2025 เขาเล่าถึงการเขียนโปรแกรมแบบที่ “fully give in to the vibes” และ “forget that the code even exists” คือกด Accept All ทุกครั้ง ไม่อ่าน diff เจอ error ก็ก๊อปไปวางให้ AI โดยไม่ต้องอธิบายอะไร เขาบอกเองด้วยว่าวิธีนี้เหมาะกับโปรเจกต์ทิ้งช่วงสุดสัปดาห์

ความหมายเดิมจึงแคบมาก คือเขียนโดยไม่ตรวจและไม่สนใจว่าโค้ดหน้าตาอย่างไร พอคำนี้แพร่ออกไป คนก็เริ่มใช้เรียกการเขียนโค้ดด้วย AI ทุกแบบ ความสับสนเริ่มตรงนี้ เพราะการใช้ AI แล้วอ่านทุกบรรทัดกับการไม่อ่านเลยไม่ใช่เรื่องเดียวกัน

Agentic coding คือวงรอบที่มีตัวตรวจซึ่งล้มได้

เอเจนต์อย่าง Claude Code และ Codex ทำงานเป็นวงรอบ อ่านโค้ดที่มีอยู่ วางแผน แก้ไฟล์ รันคำสั่งจริง เช่น type check เทสต์ และ build อ่านผลที่ออกมา แล้วแก้ต่อจนผ่าน มนุษย์เป็นคนกำหนดเป้าหมายกับข้อจำกัด และเป็นคนอ่านผลก่อนปล่อย

ที่ทำให้มันเป็น agentic ไม่ใช่การที่ AI ลงมือเองได้ แต่คือวงรอบนั้นมีตัวตรวจที่ล้มได้จริง ถ้าไม่มี เอเจนต์ก็แค่เขียนต่อไปเรื่อย ๆ เหมือนเดิมแต่เร็วขึ้น ต้องมีสามอย่างอยู่จริง

  • เป้าหมายที่เขียนไว้ บอกว่าต้องการอะไร ทำไม และห้ามทำอะไร เก็บในไฟล์ที่เอเจนต์อ่านทุกครั้ง เช่น AGENTS.md หรือ CLAUDE.md

  • ตัวตรวจที่ล้มได้ คือคำสั่งที่รันแล้วบอกได้ว่าพัง เช่น type check เทสต์ และ build

  • คนที่อ่าน diff ก่อนรวมโค้ด และเป็นคนรับผิดชอบสิ่งที่ปล่อยออกไป

ความต่างอยู่ที่ว่าใครพิสูจน์ว่างานถูก

เครื่องมือตัวเดียวกันใช้ได้ทั้งสองแบบ ความต่างอยู่ที่ว่าหลังโค้ดถูกเขียน มีอะไรมาพิสูจน์ว่ามันถูก

แผนภาพเปรียบเทียบสองวงรอบ ฝั่ง vibe coding ไล่จาก prompt ไป accept all, run แล้วปล่อย และวนกลับไป prompt เมื่อเจอ error ฝั่ง agentic coding ไล่จากเป้าหมายและกฎ ไป plan, edit, run checks, คนอ่าน diff แล้วปล่อย และวนกลับไป edit เมื่อตัวตรวจล้ม
วงรอบของสองวิธี ฝั่งซ้ายพิสูจน์ด้วยการรันแล้วดูว่าพังไหม ฝั่งขวามีตัวตรวจและคนอ่านก่อนปล่อย

ลองถามสามข้อกับงานที่เพิ่งเสร็จ

ใครบอกว่างานเสร็จ

ใน vibe coding คือความรู้สึกว่าหน้าจอดูใช้ได้ ใน agentic coding คือคำสั่งตรวจที่ผ่านกับ diff ที่มีคนอ่านแล้ว

อะไรหยุดการเปลี่ยนที่ผิด

ใน vibe coding คือสายตาของคุณเอง ถ้ามันพังตรงที่มองไม่เห็น เช่น การคำนวณ สิทธิ์ของผู้ใช้ หรือกรณีที่ไม่ค่อยเกิด จะไม่มีใครรู้จนกว่าจะมีคนเจอ ใน agentic coding คือตัวตรวจที่เขียนไว้ก่อนกับคนอ่าน diff

คนที่แก้ต่อจะเจออะไร

คนนั้นมักเป็นตัวคุณเองในอีกสามเดือน ใน vibe coding จะเจอโค้ดที่ไม่มีใครเคยอ่าน ใน agentic coding จะเจอโค้ดที่มีคนอ่านแล้ว มีไฟล์กฎ และเทสต์ที่บอกว่าแก้แล้วพังตรงไหน

ตัวอย่างจากเว็บของเราเอง

คะแนน PageSpeed บนเดสก์ท็อปของเว็บนี้เคยอยู่ที่ 45 ถึง 57 เพราะฉาก 3D ในหน้าแรก เครื่องวัดของ PageSpeed ไม่มี GPU เบราว์เซอร์จึงต้องสร้าง WebGL ด้วยซอฟต์แวร์ ซึ่งใช้เวลาราวหนึ่งวินาทีแค่สร้าง context และบล็อกหน้าเว็บไว้ตลอดช่วงนั้น ตัวเลือก failIfMajorPerformanceCaveat ของ WebGL ก็จับกรณีนี้ไม่ได้

ส่วนคะแนนบนมือถือ ข้อสันนิษฐานแรกที่ใครก็คิดคืออินโทรยาวเกินไป ถ้ารับข้อเสนอแรกมาแล้วกด Accept All เรื่องจะจบในห้านาทีและดูเหมือนแก้แล้ว เราวัดแทน อินโทรแบบเต็ม 2.8 วินาที แบบสั้น 1.6 วินาที และแบบบีบอัด 1.9 วินาที ให้คะแนนไม่ต่างกันทั้งสามแบบ ข้อสันนิษฐานนั้นผิด

ผลวัดนั้นถูกเขียนลงไฟล์ AGENTS.md ของโปรเจกต์เป็นประโยคเดียวว่าอย่าย่ออินโทรเพื่อคะแนน คนหรือเอเจนต์ที่เข้ามาแก้ทีหลังจึงไม่ต้องลองซ้ำ ส่วนปัญหา GPU แก้ที่ต้นเหตุ ด้วยการให้ Web Worker ตัวเล็กลองสร้าง WebGL แทนหน้าเว็บ แล้วรายงานกลับว่าเครื่องนี้มี GPU หรือไม่

เรื่องนี้ยังมีด้านกลับ เราเคยสร้างหน้าประเมินราคา แล้วถอดออกในวันเดียวกันเพราะพอใช้จริงมันไม่ตอบโจทย์ เอเจนต์ทำให้การสร้างและการถอดของออกถูกลงมาก แต่ไม่มีตัวตรวจไหนบอกได้ว่าหน้าไหนควรมีอยู่ นั่นยังเป็นการตัดสินใจของคน

เลือกแบบไหนเมื่อไหร่

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

เมื่อมีเงิน ข้อมูลผู้ใช้ หรือสิทธิ์การเข้าถึงเกี่ยวข้อง หรือโค้ดต้องถูกแก้ต่อไปอีกนาน ควรใช้ agentic coding ข้อควรรู้คือมันไม่ใช่ทางลัด การเขียนไฟล์กฎ การทำตัวตรวจ และการอ่าน diff ใช้เวลาจริง และเอเจนต์ก็พลาดได้ เช่น ทำให้เทสต์ที่อ่อนเกินไปผ่านแทนที่จะทำให้ตรงเจตนา หรือแก้เกินขอบเขตที่สั่ง ตัวตรวจจึงต้องดีพอ และ diff ต้องเล็กพอให้คนอ่านไหว

เริ่มจากตรงไหนโดยไม่ต้องซื้ออะไรเพิ่ม

  1. เขียนไฟล์กฎหนึ่งไฟล์ บอกสิ่งที่โค้ดนี้ห้ามทำพร้อมเหตุผล แล้วเพิ่มบรรทัดใหม่ทุกครั้งที่พลาดซ้ำ

  2. ทำให้มีคำสั่งเดียวที่ตรวจทุกอย่าง และต้องล้มได้จริง ลองทำให้โค้ดพังสักจุดแล้วดูว่ามันจับได้ไหม

  3. อ่าน diff ก่อนรวมทุกครั้ง ถ้าใหญ่เกินกว่าจะอ่านไหว ให้ขอให้เอเจนต์แบ่งงานเป็นชิ้นเล็กลง

เราจึงอ่านโค้ดทุกบรรทัดที่ขึ้นเว็บของลูกค้า ไม่ใช่เพราะไม่เชื่อ AI แต่เพราะต้องมีคนรับผิดชอบสิ่งที่ปล่อยออกไป

บทความอื่น

อ่าน 4 นาที

หน้า 3D ที่คะแนน PageSpeed ตก เพราะเครื่องวัดไม่มี GPU

บนเครื่องที่มี GPU หน้านี้ลื่นปกติ แต่ในแล็บของ PageSpeed การสร้าง WebGL ด้วยซอฟต์แวร์ใช้เวลาราวหนึ่งวินาที นี่คือวิธีที่เราหาสาเหตุและแก้

อ่าน 4 นาที

Core Web Vitals อ่านอย่างไร โดยไม่ต้องเป็นโปรแกรมเมอร์

คะแนน PageSpeed เป็นตัวเลขเดียวที่คนมักดู แต่สิ่งที่ควรอ่านคือสามตัววัดกับข้อมูลจากผู้ใช้จริง และเว็บเดียวกันก็ได้คะแนนไม่เท่ากันทุกรอบ

ดูบทความทั้งหมด

ติดต่อContact

อยากได้เว็บไซต์ที่ออกแบบแบบนี้

เล่าโจทย์ให้เราฟัง แล้วเราจะตอบกลับพร้อมขอบเขตงานและแพ็กเกจที่เหมาะกับคุณ