คอขวดอยู่ที่ "องค์กร"
(oreilly.com)- แม้การนำเครื่องมือ AI สำหรับการเขียนโค้ดมาใช้จะทำให้ ความเร็วในการเขียนโค้ด เพิ่มขึ้น แต่ก็ยังไม่ชัดเจนว่าองค์กรสามารถ ส่งมอบคุณค่าได้เร็วขึ้นจริง หรือไม่
- รากฐานสู่ความสำเร็จของไมโครเซอร์วิสอย่าง engineering enablement, guardrails, การทดสอบอัตโนมัติ, ความเป็นเจ้าของเชิงรุก, lightweight governance ก็คือรากฐานเดียวกันกับความสำเร็จของ AI coding agents
- รายงาน DORA ระบุว่า "AI ทำหน้าที่เป็น ตัวขยาย (amplify) ในการพัฒนาซอฟต์แวร์ โดยขยายทั้งจุดแข็งขององค์กรสมรรถนะสูงและความผิดปกติขององค์กรที่ทำผลงานได้ต่ำ"
- องค์กรที่ไม่มีการทดสอบอัตโนมัติ เอกสารประกอบ และ CI/CD pipeline ที่รองรับการปล่อยแบบค่อยเป็นค่อยไป จะไม่สามารถทำให้ทั้งไมโครเซอร์วิสและ AI coding agents ประสบความสำเร็จได้
- สิ่งที่ตัดสินความสำเร็จหรือล้มเหลวของการนำเครื่องมือ AI มาใช้ ไม่ใช่ตัวเครื่องมือเอง แต่คือ ระดับความพร้อมขององค์กรวิศวกรรมซอฟต์แวร์และการลงทุนในรากฐาน
ประเด็นปัญหาหลัก
- ทุกคนกำลังนำเครื่องมือ AI สำหรับการเขียนโค้ดมาใช้ และวิศวกรกำลังเขียนโค้ดได้เร็วกว่าเดิมมาก
- แต่ยัง ไม่ชัดเจนว่าองค์กรกำลังส่งมอบคุณค่าได้เร็วขึ้นจริงหรือไม่
- แนวปฏิบัติที่ทำให้ไมโครเซอร์วิสใช้งานได้ผลในระยะยาว สอดคล้องกันอย่างพอดีกับรากฐานที่ทำให้ AI coding agents ใช้งานได้ผล
ความพร้อมขององค์กรคือสิ่งที่สร้างความแตกต่าง
- ประสบการณ์ในการนำเครื่องมือ AI สำหรับการเขียนโค้ดมาใช้แตกต่างกันมากในแต่ละองค์กร และปัจจัยสำคัญที่สร้างความแตกต่างคือ ระดับความพร้อมขององค์กรวิศวกรรมซอฟต์แวร์
- รายงานล่าสุดของ DORA
"บทบาทหลักของ AI คือการขยาย โดยขยายทั้งจุดแข็งขององค์กรสมรรถนะสูงและความผิดปกติขององค์กรที่ทำผลงานได้ต่ำ"
- เมื่อ 10 ปีก่อน ตอนเริ่มใช้ไมโครเซอร์วิสที่ Financial Times ความสำเร็จก็ไม่ได้ขึ้นกับการเลือกเทคโนโลยี แต่ขึ้นกับ การจัดวางด้านวัฒนธรรมและองค์กร
- หากเป็นองค์กรที่ปล่อยรีลีสได้เพียงสัปดาห์ละครั้ง ก็แทบไม่มีประโยชน์จากการนำไมโครเซอร์วิสมาใช้
- จะมีเพียงต้นทุนจากสถาปัตยกรรมการปฏิบัติการที่ซับซ้อนขึ้น โดยไม่ได้รับประโยชน์จากการปล่อยการเปลี่ยนแปลงได้บ่อยและปลอดภัย
รูปแบบร่วมกันของ AI coding agents และไมโครเซอร์วิส
- หากไม่มีการทดสอบอัตโนมัติ เอกสารประกอบ และ CI/CD pipeline ที่รองรับการ deploy แบบค่อยเป็นค่อยไป ก็ไม่อาจทำให้ทั้งไมโครเซอร์วิสและ AI coding agents ประสบความสำเร็จได้
- องค์กรที่รายงานผลลัพธ์ดีที่สุด คือองค์กรที่ ลงทุนในพื้นฐานไว้แล้ว
Guardrails สำคัญมาก (Guardrails matter)
- การบอกทีมเพียงว่า "ให้ทำสิ่งที่ถูกต้อง" นั้นไม่พอ ต้องสร้าง paved roads และ guardrails ที่ช่วยให้ทำสิ่งที่ถูกต้องได้โดยอัตโนมัติ
- เพื่อไม่ให้ความเป็นอิสระกลายเป็นความโกลาหล
- เอเจนต์ที่มีแค่สิทธิ์เข้าถึง codebase แต่ไม่มีข้อจำกัด ก็เหมือน ทีมอิสระที่ไม่มี guardrails ซึ่งอาจเคลื่อนที่ได้เร็ว แต่ไม่จำเป็นว่าจะไปถูกทิศทาง
- องค์กรที่เตรียม guardrails ไว้ให้ทีมแล้วจะได้เปรียบอย่างมาก
- มาตรฐานการเขียนโค้ดที่บังคับใช้ใน CI, architecture decision records (ADR), และเทมเพลตสำหรับบริการใหม่ จะกลายเป็นข้อจำกัดที่ช่วยให้เอเจนต์ไม่หลุดออกนอกเส้นทาง
Deployment pipeline คือ safety net ที่ดีที่สุด
- การทดสอบอัตโนมัติ, การ rollout แบบค่อยเป็นค่อยไป, การ deploy โดยไม่หยุดระบบ จะช่วยจับความผิดพลาดก่อนถึงโปรดักชัน ไม่ว่าโค้ดนั้นจะเขียนโดยคนหรือ AI
- observability ก็สำคัญ
- เช่นเดียวกับที่เราไม่ควรรันไมโครเซอร์วิสโดยไม่มี logs, metrics, traces เราก็ไม่ควร merge โค้ดที่ตัวเองไม่ได้เขียน โดยไม่มีวิธีทำความเข้าใจว่าอะไรเปลี่ยนไปและเพราะอะไร
- ความสามารถในการ deploy แยกอิสระ หมายถึงความสามารถในการ rollback แยกอิสระด้วย
- แม้ AI agent จะทำการเปลี่ยนแปลงที่ผิดพลาดกับบริการหนึ่ง ก็ยัง rollback ได้โดยไม่ต้องไปรื้ออีกหกอย่าง
- หาก AI agents ทำให้ deploy ได้เร็วขึ้น 3 เท่า แนวปฏิบัติเหล่านี้ยิ่งมีความสำคัญมากขึ้น
Engineering enablement คือวิธีการขยายผล
- เทมเพลต, ไลบรารี, golden paths ของทีมแพลตฟอร์มไม่ได้ช่วยแค่นักพัฒนาเท่านั้น แต่ยังเป็น ข้อจำกัดและบริบท ที่ทำให้ AI agents มีประสิทธิภาพทั่วทั้งองค์กร
- องค์กรที่ลงทุนด้าน enablement ไว้แล้ว จะนำ AI coding tools มาใช้ได้ง่ายที่สุด
- สำหรับองค์กรที่ไม่ได้ลงทุนไว้ AI จะเพียงแค่ ขยายความสับสนวุ่นวาย เท่านั้น
ยังไม่มีความคิดเห็น