ในยุคที่ไม่อ่านโค้ดแล้ว วิศวกรควรอ่านอะไร
(flowkater.io)ถ้าใช้ AI การเรียนรู้จะลดลง?
- งานวิจัยของ Anthropic: คะแนนควิซของนักพัฒนาที่ทำโจทย์เขียนโค้ดเสร็จด้วย AI ต่ำลง 17%
- ประเด็นสำคัญไม่ใช่ "ถ้าใช้ AI การเรียนรู้จะลดลง" แต่คือแม้จะใช้ AI เหมือนกัน ผลลัพธ์ก็แตกต่างกันอย่างชัดเจนตามวิธีใช้งาน
- คนที่โยนงานเขียนโค้ดทั้งหมดให้ AI → เสร็จเร็วที่สุด แต่เรียนรู้น้อยที่สุด
- คนที่ถามแค่แนวคิดแล้วลงมือเขียนเอง → แม้จะมีข้อผิดพลาดมากกว่า แต่ได้คะแนนควิซสูงกว่ามาก
จากยุคอ่านโค้ด สู่ยุคสั่งงาน
- Ben Shoemaker: "เราไม่ได้อ่านโค้ดทีละบรรทัดอีกต่อไปแล้ว เราอ่านสเปก การทดสอบ และสถาปัตยกรรม" → แนวทางใหม่ที่เรียกว่า harness engineering
- ทีม OpenAI Codex: วิศวกร 3 คนสร้างโค้ดระดับล้านบรรทัดด้วยเอเจนต์ล้วน ๆ จนเป็นผลิตภัณฑ์ที่มีคนใช้งานหลายร้อยคน สิ่งที่ลงทุนไม่ใช่ตัวโค้ด แต่เป็นเอกสาร linter และโครงสร้างพื้นฐานการทดสอบ
- Evan Armstrong: การสร้างโค้ดกลายเป็นสินค้าโภคภัณฑ์แล้ว แต่ "ชั้นบริบท" ที่ใช้กำกับดูแลโค้ดใน production ยังไม่กลายเป็นสินค้าโภคภัณฑ์
- Steve Yegge: "ยุคของการเขียนโค้ดด้วยมือตัวเองจบลงแล้ว" เขาเสนอ 8 ระดับของการนำ AI มาใช้ — ตั้งแต่ Level 4 จะเริ่มไม่ดู diff และใน Level 8 จะสร้าง agent orchestrator เองโดยตรง
เกมเส้นชัย กับเกมดอกเบี้ยทบต้น
- Kent Beck: เบื้องหลังการพัฒนาแบบยึดสเปกเป็นฐาน มีสมมติฐานแบบ "เกมเส้นชัย" ซ่อนอยู่ (ไปถึง X เมื่อไรถือว่าจบ)
- แต่การพัฒนาซอฟต์แวร์จริงคือ "เกมดอกเบี้ยทบต้น" — สถาปัตยกรรมของวันนี้จะเปิดหรือปิดความเป็นไปได้ในอีก 6 เดือนข้างหน้า
- "AGENTS.md ที่ดีกว่าเดิมอย่างเดียว ไม่สามารถชนะเกมดอกเบี้ยทบต้นได้" — แก่นสำคัญคือการออกแบบให้ระบบสะสมแบบทบต้นได้
AI คือกระจกเงา
- Jeremy Utley (Stanford): "สำหรับคนที่อยากขี้เกียจ มันก็ช่วยให้ขี้เกียจได้ สำหรับคนที่อยากเฉียบคมขึ้น มันก็ช่วยให้คมขึ้นได้"
- ถ้ามีพื้นฐาน TDD/DDD ก็จะสั่ง AI ในแนวทางนั้นได้ แต่ถ้าโยนไปแค่ว่า "ช่วยทำให้หน่อย" ก็จะได้โค้ดที่โครงสร้างเละเทะ ไม่ใช่เพราะ AI โง่ แต่เพราะส่วนที่เราไม่ใส่ใจ AI ก็ไม่ใส่ใจเหมือนกัน
- งานวิจัยจาก Berkeley: AI ทำให้คนที่ไม่ใช่นักพัฒนาก็เขียนโค้ดได้ แต่ท้ายที่สุดวิศวกรกลับต้องใช้เวลามากขึ้นในการรีวิวและแก้โค้ด AI ของเพื่อนร่วมงาน
- "Dracula effect" — เมื่อทำ vibe coding แบบเหยียบคันเร่งสุด เวลาที่มีประสิทธิผลต่อวันมีขีดจำกัดอยู่ราว 3 ชั่วโมง
แล้วควรใช้อย่างไร
- "อย่าเรียกร้องคำตอบที่ถูกต้องจาก AI แต่ให้สนทนากับมัน" แทนที่จะถาม AI อย่างเดียว ให้ทำให้ AI เป็นฝ่ายถามเราด้วย
- แนะนำให้ใช้การป้อนข้อมูลด้วยเสียง — การพิมพ์จะพาไปอยู่ใน "โหมดคีย์เวิร์ด" ส่วนเสียงจะพาไปสู่ "โหมดสนทนา"
- Context engineering: ถ้าระบุเหตุผลของการตัดสินใจด้านสถาปัตยกรรม ข้อตกลงร่วม และคำศัพท์เฉพาะของโดเมนไว้ใน AGENTS.md AI ก็จะสร้างโค้ดที่สม่ำเสมอได้
- Kent Beck: "จงลงทุนกับ futures (ชุดของสิ่งที่อาจสร้างต่อได้ในอนาคต) ให้พอ ๆ กับ features"
สิ่งที่ไม่เปลี่ยนแปลง
- ความจำเป็นในการอ่านโค้ดทีละบรรทัดอาจลดลง แต่ความสามารถในการอ่านโค้ดให้เป็นกลับยิ่งสำคัญกว่าเดิม
- เมื่อการทดสอบทั้งหมดผ่านแต่ผลิตภัณฑ์ยังดูผิดปกติ เมื่อ AI บอกว่า "ไม่มีปัญหา" แต่ยังมีบั๊กอยู่ — สุดท้ายก็มีช่วงเวลาที่เราต้องอ่านเอง
- อ่านเป็นแต่เลือกไม่อ่าน กับอ่านไม่ออก เป็นคนละเรื่องกันโดยสิ้นเชิง
- การเป็นคนที่มีอะไรให้สะท้อนในกระจกเงา — นั่นคือแก่นแท้ของวิศวกรในยุคนี้
ยังไม่มีความคิดเห็น