Lập trình với AI Agent: Hiệu suất cao đối đầu với Chất lượng mã nguồn

Các AI agent lập trình rất nhanh. Vấn đề không nằm ở tốc độ viết mã. Vấn đề là làm sao để giữ cho mã nguồn luôn sạch sẽ và nhất quán.

Tôi đã áp dụng điều này vào Project Venom. Tôi muốn xem liệu có thể sử dụng AI agent để tăng tốc độ mà không làm giảm chất lượng hay không.

Kết quả: • 138.011 dòng mã được viết bởi AI agent • 1.587 commits • Độ bao phủ kiểm thử (test coverage) đạt 92,2% • 0 lỗi chất lượng trong SonarQube (bắt đầu với 1.650 lỗi)

Tôi đã làm điều này như thế nào? Tôi đã xây dựng một pipeline. AI viết mã, nhưng quy trình sẽ quyết định liệu mã đó có được giữ lại hay không.

Quy trình làm việc tuân theo các bước sau:

  1. Con người xác định mục tiêu và phạm vi.
  2. AI agent lập kế hoạch và thực hiện thay đổi.
  3. Các bước kiểm tra pre-commit tại máy cục bộ sẽ chạy kiểm tra tĩnh (static validation) và các bài kiểm thử.
  4. GitHub Actions chạy CI (linting, kiểm tra hợp đồng/contract checks và các quy tắc bảo vệ kiến trúc/architecture guards).
  5. SonarQube kiểm tra nợ kỹ thuật (technical debt) và độ phức tạp.
  6. AI agent và con người cùng xem xét Pull Request.
  7. Hợp nhất (Merge).

Quy trình gồm ba giai đoạn.

Giai đoạn 1: Tốc độ. Các AI agent tạo mã và các bài kiểm thử đơn vị (unit tests). Điều này giúp mở rộng dự án một cách nhanh chóng.

Giai đoạn 2: Kiểm soát. Tôi đã thêm SonarQube. Nó đã phát hiện ra 1.650 lỗi. Sau đó, tôi xây dựng các chốt kiểm soát (gates) pre-commit tại máy cục bộ. Các AI agent không thể hoàn thành nhiệm vụ trừ khi chúng vượt qua được các chốt này.

Giai đoạn 3: Sự ổn định. Pipeline đã trở thành một phần của công việc hàng ngày. Chất lượng không còn là một bước kiểm tra cuối cùng, mà là một yêu cầu liên tục.

Bài học then chốt cho đội ngũ của bạn: Đừng hỏi AI agent nào là tốt nhất nữa. Agent tốt nhất sẽ thay đổi theo từng tuần.

Thay vào đó, hãy hỏi: Làm thế nào để chúng ta xây dựng một quy trình có thể chấp nhận mã nguồn từ AI một cách an toàn?

Bạn cần một bộ công cụ tối thiểu:

  • GitHub repository và Pull Requests
  • Pre-commit hooks
  • Unit tests
  • GitHub Actions
  • SonarQube hoặc SonarCloud
  • Chỉ dẫn rõ ràng cho các agent của bạn
  • Sự xem xét của cả con người và AI

Lập trình bằng AI mà không có pipeline chỉ là một cuộc thử nghiệm. Lập trình bằng AI có pipeline là một quy trình chuyên nghiệp.

Agent viết mã. Pipeline bảo vệ dự án.

Bạn làm việc với các AI agent như thế nào? Bạn sử dụng chúng như những trợ lý đơn thuần, hay chúng có các chốt kiểm soát và chỉ dẫn riêng trong quy trình của bạn?

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

Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi