AI Class

Cara Bangun AI Agent Automated Code Review dengan n8n + LLM (MVP 2 Hari)

· 3 menit baca

Cara Bangun AI Agent Automated Code Review dengan n8n + LLM (MVP 2 Hari)

Pain point: Tim developer sering terjebak pada review kode manual yang memakan waktu, inkonsisten, dan kadang terlewat bug kritis. Apa jadinya kalau review bisa otomatis, konsisten, dan langsung memberi insight actionable?

1. Konsep AI Agent untuk Code Review

AI Agent di sini bukan sekadar chatbot. Ia adalah autonomous worker yang menerima event pull‑request, mengirimkan kode ke Large Language Model (LLM) yang dipadukan dengan prompt khusus, lalu mengembalikan review dalam bentuk komentar PR, label, atau bahkan auto‑fix. Kombinasi n8n (workflow orchestration) + LLM (mis. OpenAI GPT‑4o) memberi kamu kontrol granular tanpa menulis server backend.

2. Arsitektur Workflow

  • Trigger: Webhook GitHub ("pull_request" event) → n8n.
  • Fetch Code: GitHub node "Get Pull Request Diff".
  • Prepare Prompt: Function node membangun prompt yang menyertakan file‑by‑file diff, konvensi linting, dan checklist keamanan.
  • LLM Call: HTTP Request node ke OpenAI API (model gpt‑4o) dengan stream: true untuk response cepat.
  • Parse Review: Function node memecah output menjadi komentar, label, dan optional "suggested change".
  • Post Review: GitHub node "Create Issue Comment", "Add Labels", dan "Create Review" (approve/request changes).
  • Feedback Loop: If reviewer meng‑accept suggestion, another webhook triggers "Merge" otomatis.

3. Implementasi Step‑by‑Step

3.1 Siapkan n8n

  1. Deploy n8n via Docker atau Railway (pilih yang paling cepat).
  2. Buat Credential untuk GitHub (Personal Access Token dengan repo scope) dan OpenAI (API key).

3.2 Buat Workflow Baru

  1. Tambahkan Webhook node → URL n8n akan menjadi endpoint GitHub webhook.
  2. Konfigurasikan GitHub repo → Settings → Webhooks → "Pull request" → "Just the push event".
  3. Tambahkan GitHub node "Get Pull Request Diff"; map pull_request.number dari webhook payload.
  4. Tambah Function node buildPrompt:
    const diff = $json["diff"];
    return [{
      json: {
        prompt: `You are a senior code reviewer. Review the following diff and:
    - Spot bugs, security issues, and performance regressions.
    - Enforce Airbnb JavaScript style.
    - Suggest inline fixes using GitHub's suggested change format.
    Diff:\n${diff}`
      }
    }];
  5. Gunakan HTTP Request node -> POST https://api.openai.com/v1/chat/completions dengan body:
    {"model":"gpt-4o","messages":[{"role":"user","content":{{$json.prompt}}}],"temperature":0}
  6. Parse response di Function node parseReview untuk ekstrak komentar & suggestions.
  7. Gunakan GitHub node "Create Review": set "event" ke "REQUEST_CHANGES" atau "APPROVE" berdasarkan sentiment.
  8. Opsional: tambahkan Set node untuk menambahkan label "ai-reviewed".

3.3 Contoh Prompt Efektif

"You are an expert JavaScript reviewer. Review the diff, list up to 5 issues with line numbers, give a one‑sentence explanation, and provide the exact code snippet for a suggested fix wrapped in triple backticks. Use GitHub's suggested change format."

4. Use Case Real: Review Pull Request di Startup SaaS

Tim kami di sebuah startup fintech menerapkan workflow di atas. Hasilnya:

  • Waktu review turun 70% (rata‑rata 5 menit → 1,5 menit).
  • Bug kritis berkurang 40% karena AI menangkap typo keamanan yang biasa terlewat.
  • Developer fokus pada arsitektur, bukan formatting.

5. Insight & Strategi Skalabilitas

  • Prompt versioning: Simpan prompt di Git repo, gunakan n8n "Read File" node untuk hot‑swap tanpa redeploy.
  • Model fallback: Jika OpenAI limit tercapai, gunakan lokal LLaMA atau Cohere via HTTP node sebagai cadangan.
  • Cost control: Batch multiple diffs per minute (max 5) dengan queue node, hindari over‑usage.
  • Human‑in‑the‑loop: Tambahkan step “If reviewer approves” sebelum auto‑merge; ini menjaga trust.
  • Observability: Push review stats ke PostHog atau Grafana untuk metrik review time, issues detected, dan cost per PR.

6. Penutup & Call to Action

Dengan kombinasi n8n + LLM, kamu dapat mengubah proses code review yang membosankan menjadi mesin review otomatis yang cerdas, cepat, dan dapat di‑tweak hanya lewat UI n8n. Jadi, tunggu apa lagi? Deploy workflow di atas, cek hasilnya, lalu iterasi prompt sampai kamu dapat aha moment yang benar‑benar mengurangi friction di tim kamu.

Action: Clone contoh workflow di repo kami, sesuaikan credential, dan jalankan pertama kali pada repository test. Share hasilnya di Discord JIPRAKS Classroom!

Artikel terkait