JIPRAKS Classroom

Cara Bangun AI Agent Optimasi Workflow n8n dengan Retrieval‑Augmented Generation (RAG) untuk Dokumen Internal

· 3 menit baca

Cara Bangun AI Agent Optimasi Workflow n8n dengan Retrieval‑Augmented Generation (RAG) untuk Dokumen Internal

Pain point: Tim developer dan knowledge worker sering terjebak mencari informasi di ribuan dokumen internal—wiki, SOP, kode, atau tiket—sebelum dapat menyelesaikan tugas. Waktu yang terbuang bikin produktivitas turun dan keputusan jadi lambat.

Kenapa RAG + n8n + AI Agent?

  • RAG (Retrieval‑Augmented Generation) memberi konteks tepat dari basis pengetahuan Anda ke model LLM, sehingga jawaban tidak lagi "generik".
  • n8n adalah orchestration engine low‑code yang mudah di‑hook ke API, database, dan webhook.
  • AI Agent berperan sebagai “asisten” yang menerima permintaan (Slack, Teams, atau HTTP), men‑retrieve dokumen relevan, lalu menghasilkan output yang siap pakai (contoh: langkah SOP, contoh kode, atau rangkuman tiket).

Arsitektur Ringkas

Diagram alur (visual dapat digambar di diagram.io):

  1. User mengirim query ke /ask endpoint (Slack command atau HTTP).
  2. Webhook node di n8n menerima request dan memanggil Vector Search (pinecone/Weaviate).
  3. Hasil top‑k dokumen (meta + excerpt) dikirim ke OpenAI Chat Completion dengan prompt RAG‑Template.
  4. LLM meng‑generate jawaban yang diperkaya dengan referensi dokumen.
  5. Balasan dikirim kembali ke Slack/Teams atau disimpan di Confluence.

Langkah‑langkah Implementasi

1. Siapkan Vector Store

  • Ekstrak semua dokumen internal (Markdown, PDF, CSV, dll.) ke folder docs/.
  • Gunakan n8n HTTP Request node + Python Function (run script) untuk membaca file, bersihkan teks, dan buat embedding dengan OpenAI embeddings (text-embedding-ada-002).
  • Upsert embedding ke layanan vector DB (contoh: Pinecone free tier). Simpan metadata: {title, source, url, updated_at}.

2. Buat Trigger & Input Node

  • Tambahkan Webhook node /ask. Aktifkan GET atau POST dengan body {"question":"..."}.
  • Jika ingin integrasi Slack, pakai Slack Trigger (slash command) yang meng‑forward text ke webhook.

3. Retrieval Node

  • Gunakan HTTP Request node untuk query Pinecone: POST /query dengan vector = embedding(question) & topK=5.
  • Parse response, ambil metadata + pageContent (excerpt).

4. Prompt‑Engineering untuk RAG

Contoh prompt template (tempelate node):

You are an internal knowledge assistant. Use the provided documents (in JSON array `docs`) to answer the user question.

User question: {{ $json["question"] }}

Documents:
{{#each docs}}
- Title: {{this.title}}
  Source: {{this.source}}
  Excerpt: {{this.excerpt}}
{{/each}}

Provide a concise answer (max 3 paragraphs). Cite sources using markdown footnotes.

5. LLM Call

  • Tambahkan OpenAI node, pilih model gpt-4o-mini (biaya rendah, cukup cepat).
  • Masukkan prompt template + variable `question` + `docs`.

6. Output & Feedback Loop

  • Jika request berasal dari Slack, gunakan Slack node Send Message dengan hasil LLM.
  • Jika via HTTP, gunakan Respond to Webhook node dengan JSON {answer: …, sources: […]}.
  • Tambah IF node: jika LLM menandai "Tidak cukup info", kirim fallback ke tim dokumentasi (email atau ticket).

Use Case Real: “Bug Triage Assistant”

Tim QA menerima ratusan tiket setiap hari. Dengan AI Agent RAG, mereka cukup mengetik "Cara mereproduksi error 502 pada checkout" di Slack. Workflow akan:

  1. Search di Confluence (doc) dan GitHub Issues (metadata).
  2. Meng‑generate langkah‑langkah reproduksi lengkap + link ke ticket terkait.
  3. Memberi rekomendasi “label bug” otomatis.

Hasil: penurunan rata‑rata waktu triage dari 12 menit → 2 menit per tiket.

Strategi & Insight Penting

  • Chunking dokumen: Jangan memasukkan dokumen penuh ke LLM. Bagi menjadi chunk 500‑800 token dan simpan metadata supaya pencarian lebih akurat.
  • Rerank dengan LLM: Setelah vector search, gunakan LLM untuk men‑rank kembali hasil berdasarkan relevansi semantik (prompt “Score relevance …”).
  • Cost‑control: Cache embedding untuk pertanyaan yang sering (Redis) dan gunakan model kecil (gpt-4o-mini) kecuali membutuhkan kreativitas tinggi.
  • Human‑in‑the‑loop: Simpan log query & jawaban ke MongoDB. Review mingguan membantu memperbaiki metadata dan menambah dokumen yang belum tercover.
  • Observability: Tambahkan n8n Execution Log + Prometheus exporter untuk metrik latency, error rate, dan token usage.

Penutup & Call to Action

Dengan kombinasi n8n, vector store, dan AI Agent berbasis RAG, Anda dapat mengubah tumpukan dokumen internal menjadi asisten yang selalu siap menjawab. Mulailah dari satu use case kecil (mis. “Cara deploy staging”), ukur impact‑nya, lalu scale ke seluruh organisasi.

🚀 Ayo coba sekarang! Buat workflow Ask‑Doc‑Bot di n8n, integrasikan dengan Slack, dan rasakan penurunan waktu pencarian pengetahuan dalam seminggu pertama.

Artikel terkait