Back to articles
Technology Insight

Tự Động Hóa Code Review Với Local LLM Và Forgejo Actions: Giải Pháp Bảo Mật Và Tối Ưu Chi Phí Cho Doanh Nghiệp

June 2, 2026

Đặt Vấn Đề: Thách Thức Trong Quy Trình Code Review Hiện Đại

Trong kỷ nguyên phát triển phần mềm nhanh (Agile), Code Review là một bước thiết yếu để đảm bảo chất lượng sản phẩm, phát hiện sớm các lỗ hổng bảo mật và đồng bộ tiêu chuẩn code trong đội ngũ phát triển. Tuy nhiên, quy trình này thường đối mặt với hai nút thắt lớn: sự phụ thuộc vào quỹ thời gian hạn hẹp của các Senior Engineer và rủi ro rò rỉ sở hữu trí tuệ khi sử dụng các dịch vụ AI đám mây (Cloud-based AI) của bên thứ ba.

Để giải quyết bài toán này, xu hướng tự lưu trữ (Self-hosting) và ứng dụng Mô hình ngôn ngữ lớn cục bộ (Local LLM) đang trở thành lựa chọn chiến lược của nhiều doanh nghiệp công nghệ vào năm 2026. Bài viết này sẽ hướng dẫn chi tiết cách xây dựng một hệ thống AI Code Reviewer tự động, chạy hoàn toàn trên hạ tầng nội bộ bằng cách tích hợp Local LLM (qua Ollama) vào Forgejo Actions — giải pháp thay thế GitHub Actions mã nguồn mở và độc lập tuyệt đối.


Kiến Trúc Tổng Quan Hệ Thống AI Code Reviewer Nội Bộ

Hệ thống tự động hóa này vận hành dựa trên sự phối hợp chặt chẽ giữa ba thành phần lõi cốt lõi, đảm bảo dữ liệu mã nguồn không bao giờ rời khỏi vùng an toàn của doanh nghiệp:

  • Forgejo: Nền tảng quản lý mã nguồn (Git platform) đóng vai trò lưu trữ kho mã và kích hoạt pipeline khi có sự kiện Pull Request (hoặc Pull Request bổ sung commit).
  • Forgejo Runner (Forgejo Actions): Trình thực thi tác vụ CI/CD, có nhiệm vụ bắt sự kiện, trích xuất file thay đổi (Git diff), gửi yêu cầu tới AI và phản hồi nhận xét (Comment) ngược lại PR.
  • Ollama (Local LLM Server): Nền tảng chạy mô hình AI cục bộ như Qwen2.5-Coder hoặc Llama-3.1, đóng vai trò là "chuyên gia" phân tích mã nguồn và đưa ra khuyến nghị.

Hướng Dẫn Triển Khai Chi Tiết Qua 4 Bước

Bước 1: Cấu Hình Máy Chủ Local LLM Với Ollama

Trước tiên, chúng ta cần một máy chủ nội bộ (hoặc một phân vùng GPU chuyên dụng trong cụm máy chủ CI) để chạy Ollama. Đối với tác vụ Code Review, mô hình tối ưu về hiệu năng và tài nguyên hiện nay là qwen2.5-coder:14b hoặc các phiên bản nhỏ hơn như 7b nếu phần cứng giới hạn.

Tiến hành cài đặt Ollama và tải mô hình bằng lệnh sau:

curl -fsSL [https://ollama.com/install.sh](https://ollama.com/install.sh) | sh
ollama pull qwen2.5-coder:14b

Lưu ý bảo mật: Đảm bảo biến môi trường OLLAMA_HOST=0.0.0.0 được thiết lập nếu Forgejo Runner nằm ở một node khác với node chạy Ollama, đồng thời cấu hình tường lửa chỉ cho phép IP của Runner truy cập cổng 11434.

Bước 2: Chuẩn Bị Kịch Bản Phân Tích Mã Nguồn (Review Script)

Chúng ta cần một đoạn mã tự động (viết bằng Python hoặc Bash) chạy bên trong Runner để lấy phần git diff của Pull Request, đóng gói thành Prompt và gửi tới API của Ollama. Dưới đây là cấu trúc logic cốt lõi của script xử lý:

import urllib.request
import json
import os

def review_code(diff_content):
    url = "http://:11434/api/generate"
    prompt = f"""You are an expert Senior Software Engineer. Review the following git diff for bugs, 
security vulnerabilities, and code smell. Provide actionable feedback in Markdown format.

Git Diff:
{diff_content}
"""
    data = {
        "model": "qwen2.5-coder:14b",
        "prompt": prompt,
        "stream": False
    }
    req = urllib.request.Request(url, data=json.dumps(data).encode('utf-8'), headers={'Content-Type': 'application/json'})
    with urllib.request.urlopen(req) as response:
        result = json.loads(response.read().decode('utf-8'))
        return result['response']

Bước 3: Tích Hợp Vào Cấu Hình Forgejo Actions Workflow

Forgejo Actions sử dụng cú pháp YAML tương thích cao với GitHub Actions. Chúng ta tạo file cấu hình workflow tại thư mục .forgejo/workflows/ai-review.yml (hoặc .github/workflows/ai-review.yml) trong kho lưu trữ mã nguồn:

name: Automated AI Code Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: docker
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Get Git Diff
        run: |
          git diff origin/${{ gitea.base_ref }}...origin/${{ gitea.head_ref }} > pr_changes.diff

      - name: Run AI Reviewer
        env:
          FORGEJO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          # Chạy script Python để gửi diff tới Ollama và lưu kết quả
          python3 .forgejo/scripts/ai_review.py pr_changes.diff > review_result.md
          
          # Sử dụng API của Forgejo để post kết quả review thành bình luận trên PR
          curl -X POST -H "Authorization: token $FORGEJO_TOKEN" \
               -H "Content-Type: application/json" \
               -d "{\"body\": $(jq -Rs . review_result.md)}" \
               "${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/pulls/${{ gitea.pull_request.number }}/comments"

Bước 4: Cấp Quyền Và Khởi Chạy

Để quy trình trên chạy mượt mà, hãy đảm bảo rằng token tự động (FORGEjo_TOKEN hoặc tương đương) trong thiết lập Forgejo Actions có quyền ghi (Write access) vào phần Pull Request để bot có thể tạo comment nhận xét.


Lợi Ích Thực Tiễn Khi Vận Hành Local AI Reviewer

Việc kết hợp Forgejo Actions và Local LLM mang lại những giá trị vượt trội so với các giải pháp SaaS thương mại:

  1. Bảo mật dữ liệu tuyệt đối: Toàn bộ mã nguồn nguồn, logic thuật toán và dữ liệu kinh doanh của doanh nghiệp được xử lý cục bộ, đáp ứng các tiêu chuẩn khắt khe nhất như ISO 27001 hoặc GDPR.
  2. Chi phí cố định tối ưu: Không còn nỗi lo về hóa đơn API thay đổi theo số lượng dòng code hoặc số lượng lập trình viên. Doanh nghiệp chỉ đầu tư hạ tầng phần cứng ban đầu và tái sử dụng cho hàng ngàn lượt kiểm thử.
  3. Tự do tùy chỉnh Luật Review: Đội ngũ kỹ thuật có thể dễ dàng thay đổi hệ thống Prompt để ép AI tập trung vào các tiêu chuẩn thiết kế riêng của công ty, ví dụ như quy chuẩn đặt tên biến, cấu trúc thư mục hoặc kiến trúc đặc thù.

Kết Luận

Xây dựng một AI Code Reviewer tự động chạy bằng Local LLM tích hợp vào Forgejo Actions không chỉ đơn thuần là việc áp dụng công nghệ mới, mà là bước đi chiến lược giúp doanh nghiệp tiến tới sự độc lập công nghệ và tối ưu hóa quy trình kỹ nghệ phần mềm. Hãy bắt tay vào cấu hình hệ thống ngay hôm nay để giải phóng sức lao động cho các kỹ sư cấp cao của bạn, hướng tới một quy trình phát triển sản phẩm thông minh và an toàn hơn.

Tự Động Hóa Code Review Với Local LLM Và Forgejo Actions: Giải Pháp Bảo Mật Và Tối Ưu Chi Phí Cho Doanh Nghiệp | DPTCloud