Cara Bangun AI Agent Peringatan Kualitas Kode Otomatis dengan n8n + LLM (MVP 1 Hari)
· 4 menit baca
Cara Bangun AI Agent Peringatan Kualitas Kode Otomatis dengan n8n + LLM (MVP 1 Hari)
🚨 Hook: Kenapa Review Kode Selalu Tertunda?
Anda pernah menunggu rekan review selama 2‑3 hari, atau bahkan melewatkan bug sekecil typo yang bikin aplikasi crash? Review kode manual memang memakan waktu, tergantung zona waktu, beban kerja, dan kualitas reviewer. Akibatnya, technical debt menumpuk, release menjadi lambat, dan tim kehilangan momentum.
Bayangkan kalau setiap commit otomatis mendapat penilaian kualitas kode dalam hitungan detik: duplikasi fungsi, kompleksitas tinggi, atau potensi security vuln langsung di‑flag. Itulah AI Agent yang kami bangun dengan n8n + Large Language Model (LLM)—solusi tanpa harus menulis ribet, dapat dipasang dalam satu hari, dan langsung terintegrasi ke repositori Anda.
Konsep Ringkas: AI Agent sebagai Linter Pintar
Berbeda dengan linter tradisional (ESLint, SonarQube) yang menilai syntactic rule, AI Agent kami memanfaatkan LLM (mis. OpenAI GPT‑4o atau LLaMA‑2) untuk menilai semantic quality: intent fungsi, naming consistency, dan potensi bug yang tidak terjangkau oleh static analysis. Workflow n8n bertindak sebagai orkestrator:
- Trigger: Push atau Pull Request webhook dari GitHub/GitLab.
- Node LLM: Mengirim diff ke API LLM dengan prompt yang dirancang (prompt engineering).
- Decision: Mengkategorikan hasil menjadi Info, Warning, atau Block.
- Feedback Loop: Mengirim komentar ke PR, atau meng‑post ke Slack/Teams bila ada Critical.
Semua berjalan non‑blocking, sehingga developer tetap bisa melanjutkan pekerjaan sambil menunggu insight AI.
Breakdown Teknis: Langkah‑langkah Implementasi
- Siapkan n8n Self‑Hosted (Docker)
docker run -d --name n8n \ -p 5678:5678 \ -v ~/.n8n:/root/.n8n \ n8nio/n8n:latest - Buat Credential OpenAI (atau endpoint LLM on‑prem)
- Settings → API Credentials → New Credential → OpenAI
- Masukkan
API Keydan pilih modelgpt-4o-mini(cost‑effective).
- Webhook Trigger
- Node:
Webhook(HTTP Method: POST) - URL akan dipasang ke
Settings → Webhooks → Add New Webhookdi GitHub (Settings → Webhooks → Add webhook → Payload URL). - Event:
pull_request(action: opened, synchronize).
- Node:
- Extract Diff
- Gunakan node
HTTP Requestuntuk GEThttps://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{number}}/filesdengan token GitHub. - Filter file yang ber‑extension .js, .ts, .py, .go, dsb.
- Kombinasikan
Mapnode untuk meng‑concatenatepatchmenjadi satu stringCODE_DIFF.
- Gunakan node
- LLM Prompt Engineering
- Prompt contoh (bahasa Inggris untuk akurasi LLM):
You are a senior code reviewer. Analyze the following diff and answer with JSON: { "issues": [ {"type": "complexity", "message": "...", "line": 23}, {"type": "security", "message": "...", "line": 45} ], "severity": "warning" // can be info, warning, block } Diff: {{CODE_DIFF}} - Gunakan node
OpenAI→Chat Completiondengantemperature: 0danresponse_format: {"type":"json_object"}.
- Prompt contoh (bahasa Inggris untuk akurasi LLM):
- Parse & Decision
- Node
Setuntuk meng‑extractseveritydanissues. - IF node: if
severity === 'block'→ setstatus = failureelsestatus = success.
- Node
- Feedback ke GitHub
- Node
GitHub→Create Commentpada PR, embed formatted table of issues. - Jika
block, tambahkan labelneeds‑fixdan setrequired_approvals = 0(optional).
- Node
- Notifikasi Slack (Opsional)
- Node
Slack→Post Messageke channel#code‑review‑botdengan summary.
- Node
- Testing & Deploy
- Jalankan workflow secara manual dengan payload contoh.
- Push ke repo, pastikan webhook berfungsi.
- Gunakan n8n
Execute Workflowotomatis pada scheduler untuk health‑check.
Use Case Real: Startup SaaS “Taskify” Mengurangi Bug 40%
Taskify, platform manajemen tugas, memiliki tim dev 5 orang. Sebelum AI Agent:
- Rata‑rata 3 hari review PR.
- Bug keamanan (SQLi) terlewat sampai produksi.
Setelah mengintegrasikan workflow di atas:
- Review otomatis dalam 10 detik per PR.
- Critical security issues langsung ditandai
blockdan Slack alert. - Bug yang terdeteksi naik 40% pada minggu pertama, time‑to‑merge turun 60%.
Tim kini dapat fokus pada feature, bukan mencari typo.
Insight & Strategi: Membuat AI Agent Lebih “Human‑Like”
- Prompt Iterasi: Mulai dengan hasil generik, simpan contoh pada
Google Sheetsebagai prompt library. Analisis mana prompt menghasilkan false‑positive tertinggi, lalu refine. - Human‑in‑the‑Loop: Tambahkan node
Manual Triggeruntuk reviewer senior memberi feedback pada hasil AI, lalu update prompt secara otomatis (self‑learning). - Cost Control: Batasi token dengan
max_tokens300, gunakan modelgpt-4o-miniuntuk 80% kasus, fallback kegpt-4ohanya bilaseverity === 'block'. - Versioning Prompt: Simpan tiap prompt di Git (folder
prompts/) dan buat workflowGit Pullsetiap deploy n8n untuk memastikan konsistensi. - Monitoring: Tambahkan node
Metrics(Prometheus) untuk melacakissues_per_pr,avg_latency_ms, dancost_per_day. Alert bilalatency > 2000ms.
Penutup & Call to Action
Dengan hanya sehari setup, Anda sudah memiliki AI Agent yang menegakkan standar kode, mempercepat review, dan mengurangi risiko security. Mulailah dengan satu repo, kumpulkan data feedback, lalu expand ke seluruh organisasi.
👉 Eksplor sekarang: Fork repositori contoh n8n-code-quality-agent, sesuaikan prompt, dan jalankan di lingkungan dev Anda. Jangan lupa share hasilnya di Slack #show‑and‑tell JIPRAKS!