การเขียนโค้ดด้วย 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) มีดังนี้:

  1. มนุษย์กำหนดเป้าหมายและขอบเขต
  2. AI agent วางแผนและดำเนินการเปลี่ยนแปลง
  3. การตรวจสอบแบบ local pre-commit จะรัน static validation และ tests
  4. GitHub Actions รัน CI (linting, contract checks และ architecture guards)
  5. SonarQube ตรวจสอบ technical debt และความซับซ้อน
  6. AI agents และมนุษย์ร่วมกันรีวิว Pull Request
  7. 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 อย่างไร? คุณใช้พวกมันเป็นเพียงผู้ช่วยธรรมดา หรือพวกมันมีด่านตรวจและคำสั่งเฉพาะในกระบวนการทำงานของคุณ?

Source: https://dev.to/maciej_p_3d3c100f085a/coding-with-ai-agents-between-high-throughput-and-code-quality-136g

Optional learning community: https://t.me/GyaanSetuAi