Cara Bangun AI Agent untuk Otomatisasi Review Pull Request dengan n8n + LLM (MVP 1 Hari)
· 3 menit baca
Cara Bangun AI Agent untuk Otomatisasi Review Pull Request dengan n8n + LLM (MVP 1 Hari)
Pernah kebingungan menilai ratusan PR tiap minggu? Tim dev Anda terhambat karena review manual memakan waktu, kualitas code review tidak konsisten, dan bottleneck bikin deadline meleset. Solusinya? AI Agent yang menilai, memberi saran, dan bahkan menolak PR yang tidak lolos standar—semua dalam workflow n8n yang dapat Anda deploy dalam satu hari.
Kenapa AI Agent di GitHub Pull Request?
- Kecepatan: LLM dapat menganalisa perubahan kode dalam hitungan detik.
- Konsistensi: Checklist standar (lint, security, naming) dijalankan otomatis.
- Skalabilitas: Tambahkan model lain (misal CodeBERT) tanpa ubah kode.
Arsitektur Ringkas (tanpa diagram)
Workflow n8n akan mengorkestrasi tiga komponen utama:
- Trigger GitHub Webhook: Event
pull_request→openedatausynchronize. - Node LLM (OpenAI/GPT-4o atau Llama‑2‑Chat): Mengirim
diffPR, prompt checklist, dan mendapatkan review terstruktur. - Node Action: Post comment ke PR, set label
needs‑human‑reviewatauauto‑approved, serta optional merge.
Langkah Praktis Membuat MVP
1. Siapkan n8n di Docker (atau cloud)
docker run -d --name n8n \
-p 5678:5678 \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=secret \
n8nio/n8n
2. Buat Credential GitHub
- Generate Personal Access Token dengan
repodanadmin:repo_hook. - Di UI n8n → Credentials → New → GitHub → paste token.
3. Buat Credential LLM
Pilih provider:
- OpenAI:
OPENAI_API_KEY - Groq:
GROQ_API_KEY - Self‑hosted Llama‑cpp: endpoint
http://localhost:8080/v1/chat/completions
4. Rancang Prompt yang Efektif
You are a senior code reviewer. Analyze the following git diff and answer in JSON with these keys:
- "summary": 2‑sentence overview
- "issues": array of objects {"line": number, "type": "security|style|logic", "message": string}
- "suggested_fix": optional code snippet
- "approve": true/false
Only output valid JSON.
Diff:
{{ $json.diff }}
Prompt di‑store di Set Variable node sehingga mudah di‑tweak.
5. Bangun Workflow di n8n
- GitHub Trigger – pilih event
pull_request& filteraction = opened|synchronize. - HTTP Request (GitHub API) – ambil
diffvia/pulls/{number}dengan headerAccept: application/vnd.github.v3.diff. - Set Variable – simpan
diffke data field. - OpenAI / LLM node – kirim prompt + diff, set
temperature: 0untuk konsistensi. - Function node – parse JSON response, decide label:
if (review.approve) return [{json:{label:'auto-approved'}}]; else return [{json:{label:'needs-human-review'}}]; - GitHub Node – Add Comment – gunakan
/issues/{number}/commentsuntuk posting review. - GitHub Node – Add Labels – set label berdasarkan keputusan.
- Optional: Auto‑Merge – jika
auto-approveddan branch protected rules allow, call/pulls/{number}/merge.
6. Testing & Iterasi
- Gunakan Workflow Execution di UI n8n, pilih Manual Trigger dengan payload contoh PR.
- Perbaiki prompt jika LLM memberi false positive.
- Tambahkan Node “CodeQL Scan” (optional) untuk security check.
Use Case Real: Startup SaaS “FinTrack”
FinTrack menerima rata‑rata 35 PR per hari. Dengan workflow di atas, tim mengurangi review manual 60%, mempercepat time‑to‑merge menjadi 2 jam dari 6 jam. AI Agent juga menandai 12% PR yang mengandung hard‑coded API key—masalah yang sebelumnya terlewat.
Strategi & Insight Penting
- Prompt Engineering is Core: Selalu sertakan contoh singkat (
```diff```) di prompt supaya model mengerti syntax. - Human‑in‑the‑Loop: Jangan langsung merge semua; gunakan label
needs‑human‑reviewuntuk edge case. - Cost Management: Set
max_tokensdantemperaturerendah; gunakan model cheaper (Llama‑2‑7B) untuk PR kecil. - Versioning Prompt: Simpan prompt di Git, dan gunakan
n8n“Set” node untuk load dari file – memudahkan audit. - Observability: Tambahkan “Slack/Discord” node untuk alert ketika AI menolak PR dengan high severity.
Penutup & Call to Action
Dengan n8n + LLM Anda sudah bisa mengubah review PR menjadi proses setengah‑otomatis, meningkatkan kecepatan delivery, dan mengurangi human error. Mulailah dengan meng‑clone repo contoh di GitHub, sesuaikan credential, dan jalankan workflow. Jangan lupa iterasi prompt setiap minggu—karena AI yang bagus adalah AI yang terus belajar dari tim Anda.
Sudah siap membangun AI Agent review PR pertama Anda? Ikuti kelas Vibe Coding untuk deeper dive, atau langsung fork workflow dan beri komentar di repo!