• Staff Engineer คนหนึ่งแชร์ประสบการณ์ทดลองเวิร์กโฟลว์การพัฒนาร่วมกับ AI โดยใช้ Claude Code เป็นเวลา 6 สัปดาห์
  • แนวคิดที่มอง AI เป็น ‘นักพัฒนาจูเนียร์ที่ไม่เรียนรู้’ คือกุญแจของการผสานใช้งานให้สำเร็จ
  • ความพยายามครั้งแรกส่วนใหญ่ ล้มเหลว 95% แต่จะค่อย ๆ ขัดเกลาเป็นโค้ดที่ใช้งานได้ผ่านกระบวนการทำซ้ำ
  • ใช้ ไฟล์คอนเท็กซ์รายโปรเจกต์ (Claude.md) และ การเชื่อมต่อเครื่องมือผ่าน MCP เพื่อแก้ปัญหาที่ AI ขาดคอนเท็กซ์
  • บทบาทของนักพัฒนากำลังย้ายจากการเขียนโค้ดไปสู่ การแก้ปัญหาและการออกแบบสถาปัตยกรรม ซึ่งเป็นแพตเทิร์นการเพิ่มผลิตภาพแบบใหม่ในยุค AI

ภูมิหลังและแนวทาง

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

กระบวนการเปลี่ยนผ่านของกระบวนทัศน์การพัฒนา

  • ช่วง 5 ปีแรกยังใช้รูปแบบการพัฒนาที่อาศัยหนังสือและเอกสาร SDK
  • หลังจากนั้น 12 ปีเปลี่ยนไปใช้ องค์ความรู้จากมวลชนผ่านการค้นหา (google)
  • ตลอด 18 เดือนล่าสุดได้ทดลอง การเขียนโค้ดโดยมี AI ช่วยผ่าน Cursor
  • ในช่วง 6 สัปดาห์ก่อนหน้า ได้พบการเปลี่ยนแปลงครั้งใหญ่จาก การมอบหมายงานให้ AI แบบองค์รวมผ่าน Claude Code
  • การปรับตัวเข้ากับ Claude Code ทำให้สัมผัสได้ถึงผลิตภาพที่ดีขึ้นภายในเวลาเพียงไม่กี่ชั่วโมง

เวิร์กโฟลว์โปรดักชันที่ขับเคลื่อนด้วย AI ในทางปฏิบัติ

  • เมื่อต้องทำงานกับโค้ดที่จะขึ้นโปรดักชัน มักใช้ AI เพื่อช่วยในเรื่องของการ "คิด" เป็นหลัก
  • การสร้างโค้ดที่สมบูรณ์แบบในครั้งเดียวเป็นไปไม่ได้ หน้าที่ของวิศวกรคือการหาวิธีแก้ปัญหาที่ดีที่สุด
    • ความพยายามครั้งแรก (ล้มเหลว 95%): เป็นช่วงที่ AI กำลังสะสมบริบทของระบบ และนักพัฒนากำลังกำหนดปัญหา แต่โค้ดแทบทั้งหมดผิด
    • ความพยายามครั้งที่สอง (ล้มเหลว 50%): ความเข้าใจคอนเท็กซ์ดีขึ้นและแนวทางเริ่มชัดขึ้น แต่ครึ่งหนึ่งยังใช้ไม่ได้
    • ความพยายามครั้งที่สาม (โค้ดใช้งานได้): หลังผ่านการทำซ้ำและรีวิว จะได้โค้ดฐานที่ใช้งานจริงได้และค่อยปรับปรุงต่อได้
  • กระบวนการนี้ไม่ใช่ความล้มเหลว แต่เป็น การทดลองที่วางแผนไว้โดยตั้งใจและการเพิ่มประสิทธิภาพแบบวนซ้ำ

ปัญหาเรื่องคอนเท็กซ์และทางแก้

  • AI ไม่สามารถเก็บความทรงจำข้ามเซสชันได้ จึงมีข้อจำกัดที่ต้องอธิบายเรื่องเดิมซ้ำทุกครั้ง
  • ทางแก้คือใช้ ไฟล์ Claude.md เพื่อบันทึกการตัดสินใจด้านสถาปัตยกรรม แพตเทิร์น และลิงก์เอกสารต่าง ๆ
  • ผ่านการเชื่อมต่อ MCP เพื่อเชื่อมกับ Linear, Notion, GitHub, codebase และฐานข้อมูล ให้คอนเท็กซ์โดยอัตโนมัติ
    • ใช้ Linear เพื่อให้คอนเท็กซ์ของตั๋วงาน
    • ใช้ Notion หรือ Canvas เพื่อเข้าถึงเอกสาร
    • ใช้ ฐานข้อมูลที่ไม่ใช่โปรดักชัน เพื่อตรวจสอบโครงสร้างข้อมูล
    • ใช้ GitHub เพื่อดึงข้อมูลภูมิหลังจาก PR เก่า

การใช้งาน Claude หลายอินสแตนซ์แบบขนานและกลยุทธ์หลัก

  • ใช้ Claude หลายอินสแตนซ์แบบขนาน โดยมองเหมือนกำลังบริหาร 'ทีมพัฒนาเล็ก ๆ ที่สูญเสียความจำทุกวัน'
  • วางกลยุทธ์อย่าง ห้ามทำงานขนานในโดเมนปัญหาเดียวกัน, บันทึกงานทั้งหมดลงในเครื่องมือจัดการโปรเจกต์อย่าง Linear และ ระบุให้ชัดว่าโค้ดส่วนไหนที่มนุษย์แก้เอง
  • ใช้ AI อย่างจริงจังไม่เฉพาะการเขียนโค้ด แต่รวมถึง การรีวิวโค้ด ด้วย: ช่วยตรวจหาการขาดเทสต์ บั๊กที่ชัดเจน และจุดที่ควรปรับปรุงได้รวดเร็ว ลดงานซ้ำซ้อน
  • ตามนโยบายของบริษัทผู้เขียน (Sanity) แม้โค้ดจะถูกสร้างโดย AI ความรับผิดชอบด้านคุณภาพสุดท้ายยังอยู่ที่วิศวกร
  • ในสภาพแวดล้อมที่แยกไม่ออกว่าโค้ดมาจาก AI หรือมนุษย์ ความยึดติดทางอารมณ์ลดลง ทำให้ รีวิวโค้ดได้อย่างวิพากษ์และเป็นกลางมากขึ้น

กระบวนการรีวิวโค้ด 3 ขั้นตอน

  • การเขียนโค้ดเป็นเพียงส่วนหนึ่งของงาน และการตรวจทานโค้ดก็สำคัญไม่แพ้กัน
  • รีวิวรอบที่ 1 : การตรวจเบื้องต้นโดย Claude
    • ตรวจหา ช่องโหว่ของ test coverage และบั๊กที่เห็นได้ชัด
    • เสนอแนวทางปรับปรุงเพื่อประหยัดเวลาของเพื่อนร่วมทีมในการรีวิว
  • รีวิวรอบที่ 2 : ผู้เขียนตรวจเอง
    • ตรวจสอบ ความสามารถในการบำรุงรักษา, สถาปัตยกรรม, ตรรกะทางธุรกิจ, และ ความเป็นเนื้อเดียวกับระบบ
    • แม้จะเป็นโค้ดที่ AI สร้างขึ้น แต่วิศวกรยังคงเป็นผู้ รับผิดชอบขั้นสุดท้าย
  • รีวิวรอบที่ 3 : การรีวิวตามปกติของทีม
    • ไม่มีใครรู้ว่าส่วนใดเป็นโค้ดที่ AI สร้าง ใช้ มาตรฐานคุณภาพเดียวกัน
    • สามารถตรวจทานอย่างเป็นกลางได้โดยไม่มี ความยึดติดทางอารมณ์
  • ความ ผูกพันทางอารมณ์กับโค้ดที่ AI เขียนลดลง จึงรีวิวได้อย่างเป็นกลาง

การทดลอง Slack-Triggered Agent และระบบงานอัตโนมัติ

  • ทดลองนำร่อง เอเจนต์ที่เชื่อม Slack ด้วย Cursor: แก้ไข business logic แบบง่ายได้สำเร็จ แต่ล้มเหลวกับเลย์เอาต์ CSS ที่ซับซ้อน
  • ณ เวลานี้ยังมีข้อจำกัด เช่น ไม่รองรับ private NPM package, commit ที่ไม่มีลายเซ็น, การเลี่ยงระบบติดตามอย่างเป็นทางการ
  • ถึงอย่างนั้นก็ยังคาดหวังกับภาพอนาคตที่เอเจนต์จะจัดการตั๋วงานซ้ำ ๆ แบบง่ายในเวลากลางคืนได้

ค่าใช้จ่ายและ ROI

  • ค่าใช้งาน Claude Code เป็นเงินจำนวนไม่น้อยที่บริษัทจ่ายให้วิศวกร
  • แต่การลงทุนนั้นให้ผลตอบแทนด้านผลิตภาพ
    • ความเร็วในการปล่อยฟีเจอร์เพิ่มขึ้น 2~3 เท่า
    • จัดการหลาย development thread พร้อมกันได้
    • ไม่ต้องเขียนโค้ดซ้ำ ๆ หรือ boilerplate ด้วยตัวเองอีก
  • ในช่วงเริ่มต้นของการใช้ AI ควรมี งบประมาณ $1000~1500 ต่อเดือนสำหรับวิศวกรอาวุโส และคาดว่าความคุ้มค่าจะดีขึ้นเมื่อทักษะสูงขึ้น

ปัญหาและข้อจำกัดที่ยังคงมีอยู่ของการพัฒนาแบบมี AI ช่วย

  • ปัญหาด้านการเรียนรู้: AI ไม่สามารถเรียนรู้จากความผิดพลาดและจะทำความเข้าใจผิดซ้ำ ๆ ทางแก้คือการจัดทำเอกสารให้ครบถ้วนและเสริมคำสั่งที่ชัดเจน
  • ปัญหาด้านความน่าเชื่อถือ: AI มักส่งโค้ดที่ผิดด้วยความมั่นใจ จึงต้องตรวจสอบเสมอ โดยเฉพาะในส่วนที่เกี่ยวกับ state management ที่ซับซ้อน ประสิทธิภาพ และความปลอดภัย
  • ปัญหาข้อจำกัดด้านคอนเท็กซ์: codebase ขนาดใหญ่เกินหน้าต่างคอนเท็กซ์ของ AI จึงจำเป็นต้องแตกปัญหาเป็นหน่วยย่อยและให้คอนเท็กซ์ที่ชัดเจน

การเปลี่ยนแปลงทางความรู้สึกจากโค้ดไปสู่ปัญหา

  • ปล่อยวางความยึดติดกับโค้ด แล้วเปลี่ยนมาสู่ แนวคิดที่ยึดการแก้ปัญหาเป็นศูนย์กลาง
  • การลบโค้ดที่ผิดได้อย่างรวดเร็ว, การรีวิวที่เป็นกลางมากขึ้น, และ ภาระทางใจต่อการรีแฟกเตอร์ที่ลดลง => เป็นการเปลี่ยนแปลงเชิงบวก
  • หากมีเครื่องมือ AI ที่ดีกว่าออกมา ก็พร้อมจะเปลี่ยนทันที
  • แก่นสำคัญไม่ใช่ 'ตัวโค้ด' แต่คือ คุณค่าของปัญหาที่ต้องแก้

คำแนะนำเรื่องการนำ AI มาใช้ในมุมมองวิศวกร

  • 1. เปิดให้ทดลอง AI หลายโซลูชัน: ทีมควรได้ลองใช้เครื่องมือต่าง ๆ ด้วยตัวเองเพื่อเพิ่มขีดความสามารถในการทำงานจริง
  • 2. เริ่มใช้ AI กับงานที่ซ้ำและง่ายก่อน: คาดหวังผลลัพธ์ได้เร็ว
  • 3. กันงบสำหรับการลองผิดลองถูก: เดือนแรกต้องยอมรับความสับสนวุ่นวาย
  • 4. ออกแบบกระบวนการรีวิวใหม่: เพิ่มการตรวจสอบให้เหมาะกับลักษณะของโค้ดจาก AI
  • 5. จัดทำเอกสารอย่างเข้มงวด: คอนเท็กซ์ที่ดีช่วยคูณผลิตภาพ
  • วิศวกรที่กำลังปรับตัวเข้าสู่เวิร์กโฟลว์ AI แบบใหม่ จะตระหนักว่ามี มีดเล่มใหม่ที่คมกริบ เพิ่มเข้ามาในกล่องเครื่องมือ
  • วิศวกรที่ยอมรับเวิร์กโฟลว์ AI จะ วิวัฒน์ไปสู่บทบาทใหม่ที่คอย orchestration เอเจนต์ AI หลายตัว พร้อมโฟกัสที่สถาปัตยกรรม การรีวิว และการแก้ปัญหาที่ซับซ้อน

ก้าวต่อไปของคุณ

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

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น