Spotlight on Shopify: เจาะลึกการใช้ Claude Code และ Roast ในการเพิ่มประสิทธิภาพทีมวิศวกรของ Shopify

เจาะลึกการใช้ AI Claude Code และเครื่องมือจัดการ Workflow Roast ในการเพิ่มประสิทธิภาพทีมวิศวกรและการพัฒนาระบบขนาดใหญ่ที่ Shopify พร้อมวิเคราะห์ความท้าทายและโอกาสในยุคซอฟต์แวร์สมัยใหม่

Spotlight on Shopify: เจาะลึกการใช้ Claude Code และ Roast ในการเพิ่มประสิทธิภาพทีมวิศวกรของ Shopify

การบริหารจัดการโค้ดขนาดมหึมาและทีมวิศวกรขนาดใหญ่ในบริษัทเทคโนโลยีชั้นนำอย่าง Shopify ถือเป็นหนึ่งในความท้าทายที่ซับซ้อนที่สุดในวงการซอฟต์แวร์ยุคนี้ เมื่อเรานึกถึงองค์กรที่ใช้ Ruby on Rails ขนาดใหญ่ที่สุดในโลก Shopify ย่อมเป็นชื่อที่โดดเด่น ด้วยแอปพลิเคชันหลักที่ถูกพัฒนามาเกือบ 20 ปี และมีโค้ดหลายล้านบรรทัดในกว่า 5,000 รีโพสิตอรีส์ รวมถึงการจัดการกับการส่ง Pull Requests กว่าครึ่งล้านครั้งต่อปี เรื่องนี้จึงกลายเป็นบททดสอบสำคัญของการใช้ AI เพื่อเสริมศักยภาพการพัฒนาและรักษาผลผลิตให้ทีมวิศวกรในระดับมหภาค

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

ความท้าทายของการพัฒนาในองค์กรขนาดใหญ่: เมื่อ AI ต้องรับมือกับ scale และความซับซ้อน

Shopify ถือเป็นหนึ่งในองค์กรที่ใหญ่ที่สุดที่ใช้ Ruby on Rails เป็นฐานหลัก โดยแอปพลิเคชันหลักของพวกเขามีประวัติการพัฒนายาวนานเกือบสองทศวรรษ และมีโค้ดหลายล้านบรรทัด กระบวนการพัฒนาที่เกิดขึ้นจึงต้องจัดการกับความซับซ้อนมหาศาล ไม่ว่าจะเป็นการดูแลรีโพสิตอรีจำนวนมาก การจัดการ Pull Requests กว่าครึ่งล้านต่อปี หรือการรับมือกับความเปลี่ยนแปลงและความต้องการใหม่ๆ ที่เกิดขึ้นอย่างต่อเนื่อง

ในบริบทนี้ การรักษาผลผลิตและประสิทธิภาพของทีมวิศวกรจึงเป็นเรื่องสำคัญอย่างยิ่ง โดยเฉพาะเมื่อเทคโนโลยี AI เริ่มเข้ามามีบทบาทในการช่วยพัฒนาเครื่องมือที่ช่วยลดงานที่ซ้ำซ้อนและเพิ่มความแม่นยำในการทำงาน

จุดหลักที่ Shopify มองเห็นคือความแตกต่างของวิธีใช้ AI ซึ่งแบ่งได้เป็นสองแนวทางใหญ่ๆ คือ การใช้ AI ในรูปแบบของเครื่องมือที่มีความเป็น agentic กับการใช้ AI ในการจัดการ workflow ที่มีขั้นตอนชัดเจน

AI ในรูปแบบ Agentic Tools: เหมาะกับงานที่ต้องการความยืดหยุ่นและการตัดสินใจแบบอัตโนมัติ

Agentic tools หรือเครื่องมือ AI ที่ทำงานแบบมีอิสระและใช้การตัดสินใจแบบ adaptive เหมาะกับงานที่ต้องการการทดลองและการแก้ไขปัญหาแบบ iterative ซึ่งเส้นทางแก้ปัญหาไม่ชัดเจนตั้งแต่ต้น

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

Claude Code (สะกดถูกต้องตามที่ใช้ในบทความนี้) เป็นหนึ่งในเครื่องมือที่ Shopify นำมาใช้ในลักษณะนี้ โดยให้ AI มีบทบาทเป็นผู้ช่วยโค้ดดิ้งที่สามารถโต้ตอบและปรับปรุงโค้ดได้แบบเรียลไทม์

AI ในรูปแบบ Structured Workflow Orchestration: เหมาะกับงานที่มีขั้นตอนชัดเจนและต้องการความแม่นยำ

ในทางกลับกัน งานที่มีขั้นตอนการทำงานชัดเจนและต้องการความสม่ำเสมอ เช่น การย้ายฐานโค้ดจาก Python 2 ไป Python 3 หรือการรีแฟคเตอร์โค้ดเพื่อจัดการ technical debt งานเหล่านี้เป็นงานที่ deterministic มากกว่าและเหมาะกับการใช้ AI ในการช่วยเติมเต็มส่วนประกอบของ workflow ที่กำหนดไว้ล่วงหน้า

Roast คือเครื่องมือ open source ที่ Shopify พัฒนาขึ้นมาเพื่อรองรับการจัดการ workflow แบบ structured นี้ จุดเด่นของ Roast คือการช่วยให้ผู้พัฒนาสามารถจัดการ workflow ที่มีขั้นตอนชัดเจน และลดความผิดพลาดจากความไม่แน่นอนของ AI agentic ได้อย่างดี

Roast ถูกออกแบบโดยใช้ Ruby ซึ่งเป็นภาษาที่ Shopify ใช้เป็นหลัก แม้จะดูแตกต่างจากเทรนด์ของโลกที่นิยม Python หรือ TypeScript แต่ก็ช่วยให้ทีมวิศวกรที่ชำนาญ Ruby สามารถนำไปใช้ได้อย่างรวดเร็วและมีประสิทธิภาพ

โครงสร้าง workflow definition ใน Roast ที่ช่วยจัดการขั้นตอนอย่างเป็นระบบ

Roast: เครื่องมือจัดการ Workflow ที่ตอบโจทย์การพัฒนาขนาดใหญ่

Roast เกิดขึ้นจากความต้องการแก้ปัญหาที่เกิดขึ้นจริงในองค์กรขนาดใหญ่ที่มีการทำงานแบบกระจัดกระจายและซ้ำซ้อนกันมากมาย โดยเฉพาะเมื่องาน AI เริ่มเข้ามาเปลี่ยนวิธีการพัฒนาโค้ดให้รวดเร็วและยืดหยุ่นมากขึ้น

หนึ่งในเหตุผลหลักที่ทำให้ทีมพัฒนา Roast คือการรวมศูนย์การทำงานของ workflow ที่เคยถูกพัฒนาด้วยวิธีต่างๆ กันอย่างกระจัดกระจาย ไม่ว่าจะเป็นการใช้ framework อย่าง LangChain หรือสคริปต์ที่เขียนเอง เพื่อให้เกิดมาตรฐานและลดการทำงานซ้ำซ้อน

จุดเด่นของ Roast คือการผสมผสานระหว่างการจัดการ workflow ที่ deterministic กับการเรียกใช้งาน AI agent ที่ nondeterministic ได้อย่างลงตัว โดยทำให้ workflow สามารถแบ่งเป็นขั้นตอนย่อย ๆ ที่ชัดเจน และส่งข้อมูลในแต่ละขั้นตอนให้ AI agent ทำงานในขอบเขตที่จำกัด ช่วยลดความผิดพลาดและเพิ่มความแม่นยำของผลลัพธ์

จากประสบการณ์ของ Shopify การนำ Roast มาใช้งานจริงช่วยเพิ่มความรวดเร็วในการพัฒนาทดสอบและปรับปรุงโค้ด โดยเฉพาะกับระบบขนาดใหญ่ที่มีโค้ดหลายล้านบรรทัดและการทดสอบมากมายที่ต้องดูแล

ตัวอย่างการรัน workflow ใน Roast ที่กำลังสร้างชุดทดสอบใหม่

ฟีเจอร์เด่นของ Roast ที่ช่วยให้การจัดการ workflow ง่ายขึ้น

Roast มีฟีเจอร์ที่ช่วยให้การทำงานกับ workflow ซับซ้อนเป็นไปอย่างราบรื่น เช่น การบันทึก session ทุกครั้งที่รัน workflow ซึ่งช่วยลดเวลาที่ต้องใช้ในการรันขั้นตอนซ้ำเมื่อเกิดข้อผิดพลาดในขั้นตอนท้ายๆ นอกจากนี้ยังมีระบบ caching สำหรับ function calls ที่ช่วยให้การประมวลผลข้อมูลเดิมซ้ำ ๆ เร็วขึ้นมาก

ฟีเจอร์เหล่านี้ทำให้ Roast เหมาะกับการนำไปใช้ในองค์กรที่ต้องการความต่อเนื่องของกระบวนการพัฒนา และช่วยให้ทีมวิศวกรสามารถโฟกัสกับการแก้ไขปัญหาที่สำคัญจริงๆ แทนการเสียเวลาไปกับงานที่ซ้ำซ้อน

การผสานระหว่าง Claude Code และ Roast: ส่วนผสมที่ลงตัว

สิ่งที่น่าสนใจคือความสัมพันธ์แบบสองทางระหว่าง Claude Code และ Roast ที่ช่วยเพิ่มพลังให้กันและกันได้อย่างน่าทึ่ง

ในมุมหนึ่ง Claude Code สามารถเรียกใช้ workflow ที่ถูกกำหนดไว้ใน Roast เพื่อทำงานเฉพาะเจาะจง เช่น การประเมินและปรับปรุง test coverage ของโค้ด ในขณะที่ Roast เองก็สามารถเรียกใช้ Claude Code ผ่าน SDK เพื่อให้ AI ช่วยทำงานในขั้นตอนที่ต้องการการตัดสินใจหรือการแก้ไขโค้ดแบบอัตโนมัติ

การแบ่งงานในลักษณะนี้ช่วยลดความผิดพลาดจากความไม่แน่นอนของ AI agentic และเพิ่มความแม่นยำด้วยการควบคุมขั้นตอนผ่าน workflow ที่ deterministic

ตัวอย่างการเรียกใช้ Roast workflow ผ่าน Claude Code เพื่อประเมินและปรับปรุงโค้ด

กรณีศึกษา: การใช้ Roast กับระบบ Ruby on Rails และ Sorbet

Shopify ใช้ Ruby on Rails เป็นฐานหลักของแอปพลิเคชันขนาดใหญ่ ซึ่ง Ruby เป็นภาษาแบบ dynamic ที่ไม่มีระบบ type checking ในตัว ทำให้ทีมต้องใช้ Sorbet ซึ่งเป็น typing system เสริมเพื่อเพิ่มความแม่นยำและความปลอดภัยของโค้ด

การจัดการและปรับปรุง Sorbet type checking เป็นงานที่ซับซ้อน เพราะเครื่องมือ AI ทั่วไปไม่ค่อยรู้จักหรือเข้าใจ Sorbet อย่างลึกซึ้ง การแบ่ง workflow ออกเป็นขั้นตอนที่ชัดเจนใน Roast จึงช่วยให้ทีมสามารถเรียกใช้เครื่องมือ Sorbet ในแต่ละขั้นตอนได้อย่างเป็นระบบ

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

มุมมองเชิงลึกและข้อคิดจากการใช้ AI ในการพัฒนาซอฟต์แวร์ระดับองค์กร

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

ความแตกต่างระหว่าง agentic tools กับ workflow orchestration เป็นสิ่งที่ชัดเจนและสำคัญ การมองเห็นว่าควรใช้ AI แบบไหนกับงานแบบใด จะช่วยเพิ่มประสิทธิภาพและลดข้อผิดพลาดได้อย่างมาก

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

เรายังเห็นถึงพลังของความร่วมมือระหว่างเครื่องมือ AI หลายตัวที่ช่วยเติมเต็มกันและกัน ทั้งในแง่ของการจัดการ workflow และการช่วยตัดสินใจในขั้นตอนต่างๆ ซึ่งทำให้เกิด ecosystem ที่เข้มแข็งและใช้งานได้จริงในสเกลใหญ่

บทสรุปส่งท้ายจากทีมงาน Insiderly

  • การใช้ AI ในองค์กรขนาดใหญ่ต้องแยกแยะให้ชัดเจนระหว่างงานที่ต้องการความยืดหยุ่นและงานที่ต้องการความแม่นยำและสม่ำเสมอ
  • Claude Code เหมาะกับงานที่ต้องการ agentic AI ในการตัดสินใจและแก้ไขโค้ดที่มีความไม่แน่นอนสูง
  • Roast เป็นเครื่องมือ workflow orchestration ที่ช่วยจัดการขั้นตอนการทำงานที่ deterministic ให้เป็นระบบ ลดข้อผิดพลาดและประหยัดเวลาพัฒนา
  • การผสานการใช้งาน Claude Code และ Roast ช่วยให้เกิด synergy ที่เพิ่มประสิทธิภาพสูงสุดในการพัฒนาซอฟต์แวร์
  • การสร้างเครื่องมือภายในที่ตอบโจทย์ความต้องการเฉพาะขององค์กรเป็นกุญแจสำคัญในการนำ AI มาใช้ในสเกลใหญ่ได้จริง
  • การจัดการระบบทดสอบและ type checking ด้วย AI ช่วยลดภาระงานที่ซับซ้อนและเพิ่มคุณภาพของโค้ดอย่างเห็นผล
  • แนวทางนี้สามารถเป็นแบบอย่างให้กับองค์กรอื่นที่ต้องการใช้ AI ในการพัฒนาซอฟต์แวร์ระดับองค์กรได้อย่างมีประสิทธิภาพ

คำศัพท์เฉพาะทางเพิ่มเติม

  • Agentic Tools: เครื่องมือ AI ที่ทำงานด้วยการตัดสินใจอัตโนมัติและมีความยืดหยุ่นในการแก้ไขปัญหา เหมาะกับงานที่เส้นทางแก้ปัญหาไม่ชัดเจน
  • Structured Workflow Orchestration: การจัดการกระบวนการทำงานที่มีขั้นตอนชัดเจนและกำหนดไว้ล่วงหน้า โดยใช้ AI ช่วยเติมเต็มในส่วนที่ต้องการความแม่นยำ
  • Ruby on Rails: เฟรมเวิร์กสำหรับพัฒนาซอฟต์แวร์เว็บที่ใช้ภาษา Ruby เน้นความรวดเร็วและมี convention เป็นแนวทางในการพัฒนา
  • Sorbet: ระบบ typing เสริมสำหรับภาษา Ruby ที่ช่วยเพิ่มความปลอดภัยและความแม่นยำของโค้ดด้วยการตรวจสอบประเภทข้อมูล
  • Prompt Chaining: เทคนิคการเชื่อมต่อคำสั่งหรือคำถามหลายๆ ขั้นตอนใน AI เพื่อให้ได้ผลลัพธ์ที่ซับซ้อนขึ้น

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to บทความและข่าวอัพเดท จาก Insiderly.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.