- 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 จะมาแทนนักพัฒนา
- แต่คือนักพัฒนาจะ ทำงานได้เร็วขึ้น พัฒนาโซลูชันที่ดีขึ้น และใช้เครื่องมือที่ดีที่สุด
ยังไม่มีความคิดเห็น