การเขียนโค้ดด้วย AI Agents: ปริมาณงานสูง vs. คุณภาพโค้ด
AI agents เขียนโค้ดได้รวดเร็ว ปัญหาไม่ใช่ความเร็วในการเขียน แต่คือการรักษาความสะอาดและความสม่ำเสมอของโค้ด
ผมได้นำแนวคิดนี้ไปใช้กับ Project Venom เพื่อทดสอบว่าเราจะสามารถใช้ AI agents เพื่อเพิ่มความเร็วโดยไม่สูญเสียคุณภาพได้หรือไม่
ผลลัพธ์ที่ได้: • โค้ด 138,011 บรรทัดที่เขียนโดย AI agents • 1,587 commits • Test coverage 92.2% • ไม่พบปัญหาด้านคุณภาพใน SonarQube (จากเดิมที่มี 1,650 ปัญหา)
ผมทำได้อย่างไร? ผมสร้าง pipeline ขึ้นมา AI เป็นคนเขียนโค้ด แต่กระบวนการจะเป็นตัวตัดสินว่าโค้ดนั้นจะถูกนำไปใช้ต่อหรือไม่
ขั้นตอนการทำงาน (Workflow) มีดังนี้:
- มนุษย์กำหนดเป้าหมายและขอบเขต
- AI agent วางแผนและดำเนินการเปลี่ยนแปลง
- การตรวจสอบแบบ local pre-commit จะรัน static validation และ tests
- GitHub Actions รัน CI (linting, contract checks และ architecture guards)
- SonarQube ตรวจสอบ technical debt และความซับซ้อน
- AI agents และมนุษย์ร่วมกันรีวิว Pull Request
- Merge
กระบวนการนี้แบ่งออกเป็น 3 ระยะ
Phase 1: Speed (ความเร็ว) AI agents สร้างโค้ดและ unit tests ซึ่งช่วยขยายโปรเจกต์ได้อย่างรวดเร็ว
Phase 2: Control (การควบคุม) ผมเพิ่ม SonarQube เข้ามา ซึ่งตรวจพบปัญหาถึง 1,650 รายการ จากนั้นผมจึงสร้าง local pre-commit gates โดย AI agents จะไม่สามารถทำงานให้เสร็จได้หากไม่ผ่านด่านเหล่านี้
Phase 3: Stability (ความเสถียร) Pipeline กลายเป็นส่วนหนึ่งของงานประจำวัน คุณภาพไม่ใช่แค่การตรวจสอบขั้นตอนสุดท้าย แต่เป็นข้อกำหนดที่ต้องทำอย่างต่อเนื่อง
บทเรียนสำคัญสำหรับทีมของคุณ: เลิกถามว่า AI agent ตัวไหนดีที่สุด เพราะ agent ที่ดีที่สุดเปลี่ยนไปทุกสัปดาห์
ให้ถามแบบนี้แทน: เราจะสร้างกระบวนการที่ยอมรับโค้ดจาก AI ได้อย่างปลอดภัยได้อย่างไร?
คุณต้องการชุดเครื่องมือขั้นพื้นฐานดังนี้:
- GitHub repository และ Pull Requests
- Pre-commit hooks
- Unit tests
- GitHub Actions
- SonarQube หรือ SonarCloud
- คำสั่งที่ชัดเจนสำหรับ agent ของคุณ
- การรีวิวโดยมนุษย์และ AI
การเขียนโค้ดด้วย AI โดยไม่มี pipeline เป็นเพียงแค่การทดลอง แต่การเขียนโค้ดด้วย AI ที่มี pipeline คือกระบวนการแบบมืออาชีพ
Agent เป็นคนเขียนโค้ด แต่ pipeline คือสิ่งที่ปกป้องโปรเจกต์
แล้วคุณล่ะ ทำงานกับ AI agents อย่างไร? คุณใช้พวกมันเป็นเพียงผู้ช่วยธรรมดา หรือพวกมันมีด่านตรวจและคำสั่งเฉพาะในกระบวนการทำงานของคุณ?
Optional learning community: https://t.me/GyaanSetuAi
