AI Class

Cara Bangun AI Agent Otomatis untuk Bug Triage di n8n + LLM (MVP 1 Hari)

· 3 menit baca

Cara Bangun AI Agent Otomatis untuk Bug Triage di n8n + LLM (MVP 1 Hari)

🔥 Hook: Bug menumpuk, tim dev kebingungan, dan deadline melesat

Anda pernah menerima ratusan tiket bug di hari Senin pagi? Kebanyakan berisi screenshot, log singkat, atau bahkan hanya “aplikasi crash”. Menentukan prioritas, menetapkan label, bahkan menulis langkah reproduksi biasanya memakan waktu berjam‑jam—padahal tim dev hanya butuh informasi yang terstruktur untuk start fixing. Bagaimana kalau proses ini bisa selesai dalam hitungan menit?

🤖 Konsep: AI Agent + n8n sebagai Bug Triage Bot

  • AI Agent: LLM (mis. OpenAI GPT‑4o) yang dipanggil via webhook, diberi prompt khusus untuk menganalisis deskripsi bug, klasifikasi severity, dan menghasilkan checklist reproduksi.
  • n8n: Orkestrator low‑code yang menghubungkan sumber tiket (GitHub Issues, Jira, Linear), mengeksekusi LLM, lalu menulis kembali ke sistem dengan label & assignee otomatis.

Inti workflow: Trigger → Fetch Ticket → LLM Prompt → Parse Output → Update Ticket → Notify Slack.

🛠️ Breakdown Teknis

1. Persiapan Lingkungan

  1. Deploy n8n di Docker atau Railway (ganti APP_URL dengan domain publik).
  2. Buat API Key OpenAI dengan kuota cukup untuk ~5 token per tiket.
  3. Siapkan webhook Slack (Incoming Webhook) untuk notifikasi.

2. Node Trigger

Pilih GitHub Trigger (atau Jira Trigger) dan set Event Type = "issues". Filter hanya opened atau reopened.

3. Ambil Detail Issue

Gunakan GitHub > Get Issue untuk mengambil title, body, dan labels. Simpan dalam variabel {{$json}}.

4. Prompt Engineering

Berikan LLM contoh format JSON output yang diinginkan:

{
  "severity": "critical|high|medium|low",
  "component": "frontend|backend|api|infra",
  "reproduction_steps": "...",
  "suggested_assignee": "@username"
}

Prompt contoh:

Analyze the following bug report and output a JSON with the fields: severity, component, reproduction_steps, suggested_assignee. Use only the given schema.

Title: {{$json.title}}
Description: {{$json.body}}

5. HTTP Request ke OpenAI

Gunakan node HTTP Request dengan method POST ke https://api.openai.com/v1/chat/completions. Body:

{
  "model": "gpt-4o-mini",
  "messages": [{"role":"system","content":"You are a bug‑triage assistant."},{"role":"user","content":"{{ $json.prompt }}"}],
  "response_format": {"type":"json_object"}
}

6. Parse & Validasi Output

Gunakan node Set untuk JSON.parse output LLM. Tambahkan if untuk fallback bila parsing gagal (assign ke "triage‑team").

7. Update Issue di GitHub

Node GitHub > Add Labels + GitHub > Add Assignee menggunakan nilai yang di‑extract. Tambahkan komentar otomatis yang berisi reproduction steps yang di‑generate LLM.

8. Notifikasi Slack

Gunakan Slack > Send Message ke channel #bug-triage dengan format:

*New bug triaged*
• *Title*: {{ $json.title }}
• *Severity*: {{ $json.severity }}
• *Component*: {{ $json.component }}
• *Assignee*: {{ $json.suggested_assignee }}

9. Error Handling & Retry

Tambahkan node Error Trigger yang meng‑post ke Slack bila LLM timeout atau API limit tercapai. Gunakan Delay + Retry (max 3x).

💡 Use Case Real: Startup SaaS “Taskly”

Taskly menerima rata‑rata 120 bug per minggu melalui GitHub. Sebelum automation:

  • Average response time: 4‑6 jam.
  • Prioritas sering salah, menyebabkan delay release.

Setelah mengimplementasikan workflow di atas (2 jam setup + 30 menit testing), dalam 1 minggu mereka mendapatkan:

  • Response time turun 90% (dari 4 jam ke < 30 menit).
  • Severity mis‑classification berkurang 80%.
  • Tim dev dapat fokus coding, bukan menulis ulang tiket.

🚀 Insight & Strategi

  • Prompt as contract: Selalu definisikan schema JSON dalam prompt. Ini memberi LLM “guardrails” dan memudahkan parsing.
  • Model selection: Untuk triage, model gpt-4o-mini cukup; gunakan gpt-4o hanya bila kompleksitas tinggi.
  • Human‑in‑the‑loop (HITL): Simpan hasil di label “needs‑review” selama 24 jam pertama. Jika tidak ada koreksi, otomatis dianggap final.
  • Cost control: Tambahkan max_tokens: 300 dan temperature: 0.2 agar output konsisten & murah.
  • Scalability: Gunakan n8n “Queue Mode” (Redis) bila volume > 500 tiket/hari.

📝 Penutup & Call to Action

Bug triage adalah salah satu bottleneck paling menggerus produktivitas dev. Dengan kombinasi n8n dan AI Agent, Anda dapat mengubah proses manual menjadi instant, data‑driven, dan scalable. Mulailah dengan satu repo, iterasi prompt, dan lihat metrik SLA Anda melesat.

🚀 Ayo coba sekarang! Buat workflow di n8n, sambungkan ke proyek Anda, dan beri tahu kami hasilnya di komentar atau Slack #jipraxs‑showcase.

Artikel terkait