Cara Bangun AI Agent Summarizer Dokumen Otomatis dengan n8n + GPT (MVP 1 Hari)
· 3 menit baca
Cara Bangun AI Agent Summarizer Dokumen Otomatis dengan n8n + GPT (MVP 1 Hari)
Pain point: Tim product & konten sering terjebak menelaah ratusan dokumen—spesifikasi, riset pasar, atau laporan klien—yang memakan waktu berjam‑jam. Akibatnya keputusan terlambat, deadline terlewat, dan knowledge silos terbentuk.
Apa Itu AI Agent Summarizer?
AI Agent di sini adalah workflow “cerdas” di n8n yang memanggil LLM (mis. OpenAI GPT‑4) untuk membuat ringkasan berkualitas dari dokumen apa pun (PDF, DOCX, HTML, atau teks mentah). Agent menilai panjang, mengekstrak poin‑poin utama, lalu mengirim hasil ringkasan ke Slack, email, atau Notion.
Arsitektur Workflow (High‑Level)
- Trigger: Webhook HTTP (atau schedule) menerima
file_urlataufile_base64. - Node "Extract Text": Menggunakan
pdf-parse/mammothuntuk PDF atau DOCX, atauhtml‑to‑textuntuk HTML. - Node "Chunker": Membagi teks menjadi chunk ≤ 12 k token (batas GPT‑4). Memakai fungsi JavaScript custom di n8n.
- Node "LLM Summarizer": Memanggil OpenAI
chat/completionsdengan prompt "Buat ringkasan 3‑5 kalimat yang mencakup tujuan, metode, hasil, dan rekomendasi". Loop untuk setiap chunk, lalu merge denganreduceLLM. - Node "Post‑Process": Menambahkan metadata (judul, tanggal, sumber) dan format Markdown.
- Node "Deliver": Pilihan: kirim ke Slack channel, buat halaman di Notion DB, atau email ke stakeholder.
Langkah‑per‑Langkah Implementasi
1. Siapkan n8n dan API Key OpenAI
- Deploy n8n (Docker, Railway, atau Cloud n8n.io).
- Buat
SecretbernamaOPENAI_API_KEYdi Settings → Credentials.
2. Buat Workflow Baru
- Tambah Webhook node. Set method
POST, path/summarize. - Upload file via multipart/form-data atau kirim URL JSON
{"file_url":"https://.../spec.pdf"}.
3. Extract Text
Gunakan HTTP Request (jika file_url) → kemudian Function node dengan script:
const fetch = require('node-fetch');
const pdf = require('pdf-parse');
const buffer = await $node["HTTP Request"].binary.data;
const data = await pdf(buffer);
return [{ json: { text: data.text } }];
Untuk DOCX gunakan mammoth dengan cara serupa.
4. Chunker (JavaScript)
const MAX_TOKENS = 12000; // safe bound for GPT‑4
const text = $json["text"];
function splitIntoChunks(txt) {
const sentences = txt.match(/[^.!?]+[.!?]+/g) || [txt];
const chunks = [];
let cur = '';
for (const s of sentences) {
if ((cur + s).length > MAX_TOKENS) {
chunks.push(cur.trim());
cur = '';
}
cur += s + ' ';
}
if (cur) chunks.push(cur.trim());
return chunks;
}
return [{ json: { chunks: splitIntoChunks(text) } }];
5. LLM Summarizer (OpenAI)
Tambah HTTP Request node, pilih POST https://api.openai.com/v1/chat/completions. Body:
{
"model": "gpt-4o-mini",
"messages": [
{"role": "system", "content": "You are a concise technical summarizer."},
{"role": "user", "content": "Ringkas teks berikut menjadi 3‑5 kalimat utama: {{ $json.chunk }}"}
],
"temperature": 0.2
}
Gunakan SplitInBatches node untuk iterasi tiap chunk, lalu Merge hasilnya menjadi satu string.
6. Post‑Process & Delivery
- Function node: tambahkan
# Summary of {{ $json.title }}\n\n{{ $json.summary }}dengan format markdown. - Jika ke Slack: Slack node, pilih channel, kirim
textsebagai markdown. - Jika ke Notion: Notion node, buat page di DB "Document Summaries".
Use Case Real: Riset Pasar Tim Produk
Tim produk menerima 30 PDF riset pasar tiap minggu. Dengan workflow di atas, mereka cukup meng‑upload folder ke Google Drive → n8n auto‑trigger → dalam 5 menit tiap dokumen ada ringkasan di Notion. Keputusan strategi jadi lebih cepat, dan dokumen asli tetap tersimpan untuk referensi.
Insight & Strategi Praktis
- Prompt Engineering: Sertakan kata kunci "tujuan, metode, hasil, rekomendasi" dalam prompt untuk output yang terstruktur.
- Cost Control: Gunakan model
gpt‑4o‑miniuntuk chunk‑wise summarization; hanya gunakangpt‑4bila dokumen sangat kritikal. - Human‑in‑the‑Loop: Setelah ringkasan dibuat, kirim ke Slack dengan tombol Approve/Revise (Slack Block Kit). Jika revise, gunakan
n8nWebhook kembali ke LLM dengan instruksi revisi. - Scaling: Deploy n8n di Kubernetes dengan Horizontal Pod Autoscaler; setiap pod memproses maksimal 5 dokumen bersamaan.
Penutup & CTA
Dengan hanya beberapa node di n8n, kamu bisa mengubah tumpukan dokumen menjadi knowledge bite yang langsung dapat dipakai tim. Coba implementasi di proyekmu hari ini: upload satu PDF, lihat hasilnya di Slack, dan kustomisasi pengiriman ke Notion atau Confluence.
Join JIPRAKS Classroom untuk template workflow siap pakai, contoh prompt, dan diskusi langsung dengan AI Agent experts.