Tự động đánh giá code bằng AI trong 5 phút với GitHub Actions? Đùa thôi, là thật đấy!
Lê Lân
0
Tích Hợp Trình Đánh Giá Mã Nguồn Bằng AI Với GitHub Actions Trong 5 Phút
Mở Đầu
Bạn từng tò mò liệu một mô hình ngôn ngữ lớn (LLM) có thể hỗ trợ đánh giá mã nguồn hiệu quả không? Với sự phát triển mạnh mẽ của trí tuệ nhân tạo, việc tích hợp AI vào quy trình phát triển phần mềm giờ đây không còn là điều xa vời.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách thiết lập một công cụ đánh giá mã nguồn tự động do AI hỗ trợ ngay trên GitHub chỉ trong vòng 5 phút bằng việc sử dụng GitHub Actions và ChatGPT. Nội dung sẽ giúp bạn xây dựng một workflow đưa thay đổi trong Pull Request (PR) đến ChatGPT, nhận phản hồi và tự động đăng lại nhận xét vào chính PR đó. Đây là ví dụ điển hình cho thấy LLM có thể dễ dàng tích hợp vào quy trình phát triển phần mềm, giúp tiết kiệm thời gian, tăng chất lượng code và nâng cao trải nghiệm làm việc nhóm.
Prerequisites (Yêu Cầu Chuẩn Bị)
Bài viết giả định bạn đã:
Có kiến thức cơ bản về JavaScript.
Quen thuộc với GitHub Actions và khái niệm về Pull Request.
Có quyền truy cập để thêm secrets vào repository hoặc tổ chức GitHub của bạn.
Ý Tưởng Chính
Chúng ta sẽ tạo một workflow dưới dạng GitHub Actions với các bước sau:
Khi có PR mới được mở hoặc update, workflow được tự động kích hoạt.
Lấy toàn bộ thay đổi (diff changeset) từ PR đó.
Gửi changeset này đến ChatGPT kèm theo yêu cầu đánh giá code.
Lấy phản hồi từ ChatGPT.
Comment phản hồi đó ngay trên PR để tác giả PR có thể xem và chỉnh sửa.
Quá trình này giúp tự động hóa khâu review code cơ bản, giảm tải áp lực cho đội ngũ reviewer và tăng tốc độ phát triển.
Bước 1: Lấy API Token cho LLM
Để truy cập ChatGPT qua lập trình, bạn cần một API token hợp lệ:
Đăng ký và lấy API key từ nền tảng cung cấp LLM như OpenAI.
Đảm bảo bạn có quyền thêm secrets cho repository hoặc tổ chức trên GitHub.
Thêm API key vào phần Secrets của repository hoặc tổ chức, đặt tên token là OPENAI_API_KEY để dễ quản lý.
Bước 2: Tạo GitHub Action
Chúng ta sẽ tạo một workflow có tên LLM Code Review, chạy khi PR được mở hoặc có commit mới được push lên. Workflow làm các bước sau:
Checkout branch chứa PR.
Thiết lập môi trường Node.js.
Lấy diff của PR bằng GitHub CLI.
Gửi diff này đến ChatGPT thông qua action daves-dead-simple/open-ai-action.
Dùng lệnh gh pr diff để trích xuất phần thay đổi của PR. Thông tin này cung cấp cho AI bối cảnh cân thiết để đánh giá mức độ chất lượng code, phát hiện lỗi hoặc đưa ra đề xuất nâng cao.
Gửi yêu cầu review đến AI
Với action daves-dead-simple/open-ai-action, chúng ta chuyển lời nhắc (prompt) và phần thay đổi code đến ChatGPT thông qua API Key. LLM sẽ phân tích và tạo phản hồi đánh giá cụ thể.
Tự động comment kết quả
Dùng CLI của GitHub (gh) để comment kết quả đánh giá lên PR, giúp tác giả dễ dàng thấy phản hồi và nhanh chóng cải thiện code.
Lưu ý: Workflow này chạy mỗi khi PR được mở hoặc có commit mới được đẩy lên, đảm bảo review luôn cập nhật theo tiến trình phát triển.
Lợi Ích và Cách Phát Triển
Tự động hóa review giúp tiết kiệm thời gian và công sức cho nhóm phát triển.
Giúp phát hiện lỗi, cải tiến code nhanh chóng ngay từ khi PR được tạo.
Dễ dàng tùy chỉnh thêm: có thể thay đổi mô hình AI, thêm luật kiểm tra, hoặc tích hợp các nhà cung cấp khác ngoài OpenAI.
Có thể mở rộng để cho phép người dùng cấu hình các thông số riêng, từ đó cải thiện chất lượng kiểm duyệt phù hợp với dự án.
Kết Luận
Việc tích hợp một trình đánh giá mã nguồn tự động dựa trên AI bằng GitHub Actions là một bước tiến đơn giản nhưng rất hiệu quả để nâng cao chất lượng phát triển phần mềm. Chỉ trong vài phút, bạn có thể biến quy trình review code thủ công trở nên thông minh hơn nhờ sức mạnh của LLM như ChatGPT.
Hãy thử áp dụng ngay workflow mẫu trên và tinh chỉnh nó theo nhu cầu thực tế của dự án bạn!
Đừng quên cập nhật API key và quyền truy cập phù hợp, đồng thời kiểm tra kỹ các bước trong workflow để đảm bảo hoạt động mượt mà.