JIPRAKS Classroom

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

  1. Siapkan n8n Self‑Hosted (Docker)
    docker run -d --name n8n \
      -p 5678:5678 \
      -v ~/.n8n:/root/.n8n \
      n8nio/n8n:latest
  2. Buat Credential OpenAI (atau endpoint LLM on‑prem)
    • Settings → API Credentials → New Credential → OpenAI
    • Masukkan API Key dan pilih model gpt-4o-mini (cost‑effective).
  3. Webhook Trigger
    • Node: Webhook (HTTP Method: POST)
    • URL akan dipasang ke Settings → Webhooks → Add New Webhook di GitHub (Settings → Webhooks → Add webhook → Payload URL).
    • Event: pull_request (action: opened, synchronize).
  4. Extract Diff
    • Gunakan node HTTP Request untuk GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{number}}/files dengan token GitHub.
    • Filter file yang ber‑extension .js, .ts, .py, .go, dsb.
    • Kombinasikan Map node untuk meng‑concatenate patch menjadi satu string CODE_DIFF.
  5. 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 OpenAIChat Completion dengan temperature: 0 dan response_format: {"type":"json_object"}.
  6. Parse & Decision
    • Node Set untuk meng‑extract severity dan issues.
    • IF node: if severity === 'block' → set status = failure else status = success.
  7. Feedback ke GitHub
    • Node GitHubCreate Comment pada PR, embed formatted table of issues.
    • Jika block, tambahkan label needs‑fix dan set required_approvals = 0 (optional).
  8. Notifikasi Slack (Opsional)
    • Node SlackPost Message ke channel #code‑review‑bot dengan summary.
  9. Testing & Deploy
    • Jalankan workflow secara manual dengan payload contoh.
    • Push ke repo, pastikan webhook berfungsi.
    • Gunakan n8n Execute Workflow otomatis 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 block dan 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 Sheet sebagai prompt library. Analisis mana prompt menghasilkan false‑positive tertinggi, lalu refine.
  • Human‑in‑the‑Loop: Tambahkan node Manual Trigger untuk reviewer senior memberi feedback pada hasil AI, lalu update prompt secara otomatis (self‑learning).
  • Cost Control: Batasi token dengan max_tokens 300, gunakan model gpt-4o-mini untuk 80% kasus, fallback ke gpt-4o hanya bila severity === 'block'.
  • Versioning Prompt: Simpan tiap prompt di Git (folder prompts/) dan buat workflow Git Pull setiap deploy n8n untuk memastikan konsistensi.
  • Monitoring: Tambahkan node Metrics (Prometheus) untuk melacak issues_per_pr, avg_latency_ms, dan cost_per_day. Alert bila latency > 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!

Artikel terkait