ในยุค AI ควรทำ Code Review อย่างไร?
(flowkater.io)- บทความเชิงเรียงความที่เริ่มจากประสบการณ์ CTO 15 ปี และสรุปประเด็นถกเถียงเรื่องโค้ดรีวิวในยุค AI แบบ thesis-antithesis-synthesis
- Code review เป็นปัญหามาโดยตลอด — ทั้งเวลา คน และกระบวนการล้วนไม่เพียงพอ
- AI ทำให้ปริมาณการผลิตโค้ดพุ่งสูงขึ้นอย่างมาก แต่ความสามารถในการรีวิวยังเท่าเดิม → คอขวดจึงยิ่งรุนแรงขึ้น
วิทยานิพนธ์ — ฝ่ายที่ยืนยันว่ามนุษย์ยังจำเป็นต่อการรีวิว
- Simon Willison: "อย่าส่งต่อโค้ดที่ยังไม่ได้ตรวจสอบให้เพื่อนร่วมงานรับภาระ"
- Kent Beck: ยิ่งต้นทุนการสร้างเข้าใกล้ 0 มากเท่าไร มูลค่าก็จะย้ายจากการสร้างไปสู่การตรวจสอบมากขึ้นเท่านั้น
- Addy Osmani: "ปัญหาที่ยังแก้ไม่ตกไม่ใช่การสร้าง แต่คือการตรวจสอบ"
- ไม่ว่า AI จะทำได้ดีแค่ไหน ความรับผิดชอบก็ยังอยู่ที่มนุษย์ → ต้องตรวจสอบ → ต้องรีวิว
ปฏิทรรศน์ — ฝ่ายที่มองว่ายุคของการรีวิวโดยมนุษย์จบลงแล้ว
- Bryan Finster: นำทฤษฎี Nyquist-Shannon มาปรับใช้ — ถ้าเพิ่มเฉพาะความถี่ในการผลิต แต่ความถี่ของ feedback ยังเท่าเดิม ก็จะเกิดการพลาดอย่างเป็นระบบ
- ข้อมูลจาก SmartBear: เมื่อเกิน 400 บรรทัด อัตราการตรวจพบข้อบกพร่องจะลดฮวบ ขณะที่ AI สร้าง 600 บรรทัดได้ในครั้งเดียว
- StrongDM "ซอฟต์แวร์แฟกทอรี": มนุษย์ไม่เขียนโค้ดและไม่อ่านโค้ดอีกต่อไป เหลือเพียงการกำหนดเจตนา + คัดสรร scenario
- Stanford CodeX: "ถ้าเอเจนต์เป็นผู้สร้างและทดสอบ แล้วใครจะเป็นคนที่เชื่อถือได้?"
- Salesforce Prizm: โมเดลรีวิวที่ยึด diff เป็นศูนย์กลางนั้นใช้ไม่ได้เองในยุค AI → ต้องสร้างเจตนาขึ้นมาใหม่
สังเคราะห์ — เราควรรีวิวอะไร
- latent.space: code review → เปลี่ยนเป็น intent review
- สเปกคือแหล่งความจริง ส่วนโค้ดเป็นผลลัพธ์
- สร้างความน่าเชื่อถือด้วยเลเยอร์ 5 ชั้น (โมเดลสวิสชีส)
- แพตเทิร์นของ Qodo: ให้บริบทมาก่อน, อิงตามระดับความร้ายแรง, รีวิวโดยเอเจนต์ผู้เชี่ยวชาญ
- Bryan Finster: การที่มนุษย์ต้องเข้ามา block มีอยู่แค่ 2 กรณี คือความรู้ที่ยังไม่พอ + เส้นทางด้านกฎระเบียบ
ส่งท้าย
- ผู้เขียนไม่ได้รีวิวโค้ดจาก AI โดยตรง → เปลี่ยนบทบาทไปเป็น QA
- AI-native engineer = ต้องทำหน้าที่แบบ PM ในยุคก่อนด้วยตัวเอง
- "คุณสามารถรับผิดชอบต่อโค้ดของตัวเองได้หรือไม่?"
4 ความคิดเห็น
https://app.devin.ai/review
ยังไม่แน่ใจว่านี่จะเป็นเพียงอีกวิธีหนึ่งที่ผ่านเข้ามาแล้วผ่านไป เหมือนกับข้อผิดพลาดในจุดกึ่งกลางหรือไม่
แต่มีเครื่องมือที่ช่วยให้ทำ PR review ร่วมกับ AI พร้อมทั้งเข้าใจโค้ดและแก้บั๊กได้ เลยอยากมาแชร์ครับ
ตอนทำไซด์โปรเจกต์ ถ้าไม่เข้าใจการแก้โค้ดที่ AI ทำไว้ ผมจะใช้สิ่งนี้ครับ
ข้อผิดพลาดของจุดกึ่งกลาง (Argument to Moderation): เป็นตรรกะที่ด่วนสรุปว่า เมื่อมีข้ออ้างสุดโต่งสองด้าน (A และ Z) จุดกึ่งกลางระหว่างนั้น (M) จะต้องเป็นความจริงหรือเป็นทางออกที่ดีที่สุด
ในทางกลับกัน การตรวจทานโดยมนุษย์ก็กลายเป็นคอขวดในท้ายที่สุด
ผมคิดว่าการแบ่งครึ่งคนละครึ่งยังไม่สมจริงนักในตอนนี้ โค้ดเป็นสิ่งที่ถูกใช้งานต่อเนื่อง และเพราะ LLM มีลักษณะเชิงความน่าจะเป็น มนุษย์จึงยังจำเป็นต้องอ่านโค้ดที่ตัวเองเขียนทั้งหมดอยู่ (อย่างน้อยในตอนนี้) เพื่อให้รีวิวได้ง่ายขึ้น มีความจำเป็นที่จะให้ระบบช่วยเขียน PR template อัตโนมัติ หรือเขียนเป็น ADR เพื่อให้เข้าใจบริบทและเจตนาได้