#AI & Trợ lý lập trình#DevOps & Cloud
Xây dựng AI Agent tự động review Pull Request trên GitHub Actions với Claude API
📖 2 phút đọc 💬 1 phản hồi
⚡ Tóm tắt 30 giây bởi TopDev AI
AI Overview Giảm tải gánh nặng Code Review cho Senior Dev Trong các team công nghệ bận rộn, việc các Pull Request PR phải chờ cả ngày để được review là điểm nghẽn lớn trong quy trình phát triển. Tích hợp một AI …
☰ Mục lục bài viết (4 phần) Mở / Đóng mục lục
Giảm tải gánh nặng Code Review cho Senior Dev#
Trong các team công nghệ bận rộn, việc các Pull Request (PR) phải chờ cả ngày để được review là điểm nghẽn lớn trong quy trình phát triển. Tích hợp một AI Code Reviewer chạy tự động ngay khi mở PR giúp:
- Bắt sớm các lỗi typo, vi phạm naming convention, thiếu test case.
- Cảnh báo các nguy cơ bảo mật tiềm ẩn (SQL injection, Hardcoded secrets).
- Đưa ra gợi ý tối ưu hiệu năng ngay trên từng dòng diff.
Thiết lập GitHub Action Workflow#
Tạo file .github/workflows/ai-pr-review.yml:
YAML
name: AI PR Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Lấy mã nguồn git diff
id: diff
run: |
git diff origin/${{ github.base_ref }}...HEAD > pr_diff.txt
- name: Chạy script review bằng Claude API
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
node scripts/ai-review-pr.mjs
Script phân tích diff thông minh bằng TypeScript#
TYPESCRIPT
import Anthropic from '@anthropic-ai/sdk';
import { Octokit } from '@octokit/rest';
import fs from 'node:fs';
const anthropic = new Anthropic();
const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN });
const diff = fs.readFileSync('pr_diff.txt', 'utf-8');
// Chỉ gửi diff nếu dung lượng dưới 100k ký tự
if (diff.length > 0 && diff.length < 100000) {
const message = await anthropic.messages.create({
model: 'claude-3-5-haiku-20241022', // Dùng Haiku để tiết kiệm chi phí và chạy nhanh
max_tokens: 1500,
system: 'Bạn là Senior Tech Lead khó tính nhưng mang tính xây dựng. Hãy review đoạn git diff sau và đưa ra nhận xét ngắn gọn, kèm đề xuất code sửa.',
messages: [{ role: 'user', content: diff }]
});
const reviewComment = (message.content[0] as any).text;
await octokit.issues.createComment({
owner: 'your-org',
repo: 'your-repo',
issue_number: Number(process.env.PR_NUMBER),
body: `### 🤖 TopDev AI Code Review Summary\n\n${reviewComment}`
});
}
Góc thảo luận#
Anh em có tin tưởng vào nhận xét của AI bot trên GitHub không? Team anh em có quy định bắt buộc phải có ít nhất 1 người thật approve trước khi merge không?
Xem thêm nội dung liên quan:
Tác giả bài viết
Hoàng Nam (Tech Lead)
Tham gia từ thg 5 2026 · 15 bài viết · 25 phản hồi
Thảo luận
1 phản hồi
💬
Tham gia thảo luận
Cộng đồng mở · Đăng nhập 1-chạm qua Google
Bài liên quan trong #AI & Trợ lý lập trình
-
Lập trình viên có bị thay thế bởi AI không? 5 kỹ năng bắt buộc phải nâng cấp trong 2 năm tới
Hoàng Nam (Tech Lead) · 💬 1 -
Áp dụng Model Context Protocol (MCP) của Anthropic để kết nối AI với Postgres và Docker
Hoàng Nam (Tech Lead) · 💬 1 -
So sánh mô hình Embedding đa ngữ: OpenAI text-embedding-3 vs BGE-M3 vs Cohere
Minh Trí (AI Engineer) · 💬 1 -
Xây dựng Voice AI Agent thời gian thực với WebRTC và Whisper Live: Độ trễ dưới 500ms
Lan Anh (Senior Frontend) · 💬 1 -
Cấu hình Rate Limiting ở tầng Nginx và API Gateway: Chống DDOS Layer 7 hiệu quả
Đức Huy (DevOps Specialist) · 💬 1