Skip to content

← Semua Insights

Pengacara-ku (sebelumnya Dalil) — Arsitektur Hybrid RAG untuk Knowledge Domain Indonesia

Deep-dive arsitektur Pengacara-ku — Hybrid RAG untuk 18.000+ putusan pengadilan Indonesia. Ingestion, chunking, retrieval, citation traceability, dan generalizable pattern untuk sektor regulated.


Pengacara-ku (sebelumnya Dalil) — Arsitektur Hybrid RAG untuk Knowledge Domain Indonesia

Knowledge domain di Indonesia punya karakter yang membuat off-the-shelf retrieval-augmented generation sering tidak memadai. Korpus dokumen seringkali besar, heterogen, hasil scan dengan OCR noise, menggunakan terminologi domain-specific Bahasa Indonesia, dan mensyaratkan citation traceability untuk dapat dipakai oleh profesional yang accountable atas output mereka.

Pengacara-ku adalah AI Legal Research Engine yang dibangun oleh PT Widigital Tri Buana untuk konteks ini. Korpus terkini: 18.000+ putusan pengadilan Indonesia — dari Pengadilan Agama dan Pengadilan Negeri hingga Mahkamah Agung — dengan total ratusan ribu chunk, terindeks pada Vectorize 768 dimensi dan SQLite FTS5 secara paralel. Output sistem disertai sitasi nomor putusan eksplisit yang dapat diverifikasi oleh pengguna.

Tulisan ini membahas arsitektur Pengacara-ku pada level pattern — bukan tutorial implementasi. Tujuannya menyajikan pelajaran yang dapat diadaptasi ke domain lain dengan karakter serupa: kontrak korporat, regulasi internal, claim documents, dan knowledge base institusional.

Masalah Domain yang Dialamatkan

Pengguna target Pengacara-ku adalah pengacara, paralegal, dan in-house counsel yang melakukan riset hukum untuk preparasi kasus atau opinion writing. Kebutuhan inti pengguna ini bukan jawaban naratif yang lancar dari model generatif. Kebutuhan inti adalah:

Pertama, akses cepat ke putusan-putusan terkait dengan akurasi citation. Pengacara tidak bisa membawa output AI ke pengadilan tanpa nomor putusan yang valid dan dapat diverifikasi. Hallucinated citation adalah skenario kegagalan yang tidak dapat ditoleransi.

Kedua, pemahaman pertimbangan hakim dalam putusan terkait. Bukan sekadar amar putusan, namun reasoning yang mengantar pada amar. Ini menuntut chunk yang cukup besar untuk membawa konteks reasoning, namun tidak terlalu besar sehingga retrieval menjadi tidak presisi.

Ketiga, kemampuan menjawab "tidak ditemukan" dengan jelas. Banyak pertanyaan hukum spesifik tidak punya putusan yang tepat sama. Sistem harus menolak dengan elegan ketika tidak ada match yang cukup confident, bukan memaksakan jawaban dengan retrieval marginal.

Karakter pengguna dan kebutuhan ini menentukan setiap keputusan arsitektur yang dibahas di bawah.

Pipeline hybrid retrieval: keyword + semantic
Pipeline hybrid retrieval: keyword + semantic

Pipeline Ingestion: PDF Heterogen menjadi Chunks Konsisten

Putusan pengadilan tersedia sebagai PDF dengan variasi yang besar. Sebagian discan dari hard copy dengan kualitas OCR yang berbeda-beda. Sebagian dihasilkan dari word processor dengan format yang tidak konsisten antar pengadilan. Beberapa berisi watermark, header-footer, dan tanda tangan basah yang mengotori text extraction.

Pipeline ingestion Pengacara-ku terdiri dari empat tahap utama.

Tahap pertama: text extraction dengan fallback. PDF di-extract menggunakan extraction library standar. Untuk dokumen yang text layer-nya kosong atau corrupted, fallback ke OCR engine dengan adjustment kualitas berdasarkan karakter dokumen Indonesia (tanda baca, diakritik, format tanggal Indonesia).

Tahap kedua: cleanup heuristic. Output extraction dibersihkan dari noise yang konsisten muncul: header pengadilan yang berulang, nomor halaman, watermark "ASLI" atau "SALINAN", garis pemisah, dan artifact OCR umum (karakter Latin yang ter-mis-recognized sebagai karakter aneh). Cleanup dilakukan dengan rule-based approach yang dapat di-audit, bukan dengan LLM cleanup yang berisiko mengubah substansi dokumen.

Tahap ketiga: structural parsing. Putusan pengadilan punya struktur formal yang relatif konsisten: identitas para pihak, duduk perkara, pertimbangan hukum, dan amar putusan. Parser mengenali boundary section ini dan menjadikannya metadata yang menyertai chunks.

Tahap keempat: chunking dengan section awareness. Chunking tidak dilakukan dengan fixed size window. Chunking mengikuti boundary section dengan overlap kontekstual untuk menjaga reasoning yang bersifat continuous. Setiap chunk membawa metadata: nomor putusan, jenis kamar (pidana/perdata/agama/militer), tahun, section type, dan posisi chunk dalam dokumen.

Pelajaran generalizable: ingestion pipeline yang cleanup dengan LLM untuk dokumen otoritatif berisiko mengubah substansi. Untuk domain regulated, cleanup harus rule-based dan dapat di-audit. Section-aware chunking mengalahkan fixed-size chunking pada dokumen dengan struktur formal.

Strategi Embedding dan Indexing Ganda

Setiap chunk diembed dengan model embedding 768 dimensi dan disimpan di Vectorize. Secara paralel, chunks yang sama diindex pada SQLite FTS5 untuk lexical retrieval.

Pilihan untuk indexing ganda dilakukan berdasarkan observasi karakter query pengacara. Mayoritas query mengandung campuran konsep abstrak ("pertimbangan hakim untuk wanprestasi") dan token konkret ("Pasal 1320 KUH Perdata", nomor pasal, nama undang-undang, atau nomor putusan referensi). Semantic retrieval unggul untuk konsep abstrak. Lexical retrieval unggul untuk token konkret yang harus match presisi.

Hybrid retrieval menggabungkan kedua sinyal ini. Implementasi yang sederhana namun efektif: jalankan kedua retrieval secara paralel, ambil top-K dari masing-masing, lalu rerank dengan kombinasi skor yang ter-normalisasi.

Pelajaran generalizable: untuk domain dengan terminologi spesifik yang harus match presisi (legal, regulatory, medical, technical specification), semantic-only retrieval underperform. Hybrid retrieval memberikan peningkatan akurasi yang material dengan tambahan kompleksitas yang manageable.

Citation Traceability sebagai First-Class Requirement

Setiap chunk yang masuk ke retrieval pipeline membawa nomor putusan sebagai identifier first-class. Ketika chunks diteruskan ke LLM sebagai context, identifier ini disertakan secara eksplisit dalam prompt structure.

Prompt construction Pengacara-ku memerintahkan LLM untuk menyertakan nomor putusan dalam setiap referensi yang dibuat dalam output. Validation post-generation memverifikasi bahwa nomor putusan yang muncul di output benar-benar ada di chunks yang diretrieve — bukan halusinasi model.

Output yang ditampilkan ke user disertai dengan section "sumber referensi" yang menampilkan nomor putusan, link ke PDF asli di R2, dan snippet relevan dari chunk. Pengguna dapat memverifikasi setiap klaim langsung ke sumber otoritatif.

Pelajaran generalizable: citation traceability bukan post-processing. Citation harus menjadi first-class requirement yang dipertimbangkan dari fase data modeling, ingestion, prompt construction, sampai output validation. Domain regulated tanpa citation traceability adalah deployment yang tidak memenuhi standar profesional pengguna.

Knowledge domain Indonesia menuntut retrieval yang memahami konteks — bukan sekadar mencocokkan kata kunci.

Confidence Threshold dan Fallback "Tidak Ditemukan"

Bukan setiap query punya jawaban di korpus. Pengguna sering bertanya tentang putusan yang tidak ada, atau menggunakan terminologi yang tidak match dengan apa yang ada di korpus. Sistem yang memaksakan jawaban untuk skenario ini berisiko menyajikan informasi yang tidak akurat.

Pengacara-ku menerapkan confidence threshold ganda. Pertama, threshold pada level retrieval — jika top-K hasil retrieval punya skor di bawah threshold, sistem mengindikasikan low confidence sejak awal. Kedua, threshold pada level LLM output — model dilatih dengan prompt yang mendorong refusal eksplisit ketika context yang diberikan tidak cukup mendukung jawaban.

Fallback message untuk skenario tidak ditemukan dirancang dengan tone profesional dan saran konstruktif: rekomendasi reformulasi query, indikasi area korpus yang relevan, atau saran konsultasi sumber primer di luar Pengacara-ku. Fallback ini menjadi mekanisme yang menjaga kepercayaan pengguna profesional terhadap sistem.

Pelajaran generalizable: untuk knowledge domain yang authoritative, fallback "tidak ditemukan" adalah fitur, bukan bug. Pengguna profesional lebih menghargai sistem yang jujur tentang batas pengetahuannya daripada sistem yang selalu menjawab dengan tingkat confidence yang tidak akurat.

Karakteristik Performance

Pada konfigurasi production saat publikasi, beberapa karakteristik performance yang dipantau secara rutin.

Latency end-to-end untuk query tipikal berada pada kisaran sekian ratus milidetik untuk retrieval dan beberapa detik untuk output LLM. Distribusi latency dipantau dengan P50, P95, dan P99 untuk mendeteksi regression.

Akurasi citation — proporsi citation di output yang valid (nomor putusan ada di korpus dan chunk benar-benar relevan dengan klaim yang dibuat) — dipertahankan di atas threshold yang dirancang ulang per quarter dengan sample audit manual.

Cost per query dipantau dengan breakdown antara retrieval, embedding, LLM inference, dan storage. Cost governance memastikan biaya per query stabil terhadap variasi query length.

Fallback rate — proporsi query yang dijawab dengan "tidak ditemukan" — dipantau sebagai indikator kualitas korpus coverage. Spike pada fallback rate menjadi sinyal untuk perluasan korpus atau adjustment retrieval threshold.

Metrik aktual tidak dipublikasi sebagai angka spesifik di tulisan ini karena karakteristik production berubah seiring scaling dan optimisasi. Yang relevan untuk pembaca adalah dimensi yang dipantau dan struktur monitoring.

Adaptasi ke Sektor Lain

Pattern arsitektur Pengacara-ku dapat diadaptasi ke beberapa domain dengan karakter serupa.

Kontrak korporat. Korporat besar punya repository kontrak yang heterogen — vendor agreement, employee agreement, NDA, partnership agreement. Adaptasi pattern Pengacara-ku untuk domain ini: structural parsing yang aware terhadap clause type (definisi, kewajiban, term, termination, dispute), citation pada level clause ID, dan hybrid retrieval yang mengakomodasi pertanyaan konsep (kewajiban pihak pertama untuk skenario X) dan pertanyaan pasti (clause 8.3 di contract Y).

Regulasi internal. Bank, perusahaan asuransi, dan BUMN punya policy internal dengan volume besar yang sering harus dirujuk oleh staff operasional. Adaptasi pattern: ingestion yang section-aware untuk struktur policy, embedding yang fine-tuned untuk terminologi internal, dan citation pada level section policy untuk auditability.

Claim documents. Sektor asuransi memproses claim documents dengan struktur dan heterogeneity yang mirip dengan putusan. Adaptasi pattern: ingestion dengan multiple format (PDF, scan, foto), structural parsing untuk identifier polis, dan retrieval yang mengakomodasi pertanyaan analitik (claim pattern, fraud indicator) dan pertanyaan lookup (status claim untuk policy X).

Knowledge base institusional. Lembaga riset, universitas, dan think tank punya akumulasi laporan, working paper, dan publikasi internal. Adaptasi pattern: structural parsing untuk academic format (abstract, methodology, findings, references), citation yang preservation citation chain (paper merujuk ke paper lain), dan retrieval yang mengakomodasi cross-reference query.

Setiap adaptasi membawa karakter domain-spesifik yang perlu disesuaikan: terminologi, struktur dokumen, kebutuhan citation, dan profil pengguna. Pattern arsitektur Pengacara-ku memberikan kerangka, bukan template.

Citation traceability ke sumber putusan
Citation traceability ke sumber putusan

Penutup

Knowledge domain Indonesia yang regulated punya kebutuhan yang spesifik: citation traceability, fallback yang jujur, hybrid retrieval untuk terminologi domain, dan ingestion yang dapat di-audit. Off-the-shelf RAG yang dibangun untuk kasus general purpose sering tidak memadai untuk profil pengguna profesional yang accountable atas output mereka.

Pengacara-ku adalah satu reference implementation untuk pattern ini di sektor hukum Indonesia. Pelajaran yang diperoleh dapat diadaptasi ke domain lain dengan karakter serupa. Bagi pengambil keputusan yang sedang mengevaluasi inisiatif knowledge AI di sektor regulated, kerangka diskusi di atas dapat menjadi struktur untuk requirement gathering dan vendor evaluation.

Tim engineer dan solution architect PT Widigital Tri Buana mengimplementasi arsitektur hybrid RAG produksi untuk knowledge domain Indonesia. Untuk diskusi adaptasi pattern ini ke domain spesifik, hubungi tim kami melalui widigitaltribuana.com.

Referensi

  1. Lewis, P. et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. Advances in Neural Information Processing Systems, 2020.
  2. Anthropic. Contextual Retrieval. Anthropic Engineering, 2024.
  3. Pinecone. Hybrid Search: Combining Dense and Sparse Retrieval. Pinecone Technical Blog, 2024.
  4. Stanford HAI. Hallucinating Law: Legal Mistakes with Large Language Models are Pervasive. Stanford Institute for Human-Centered AI, 2024.
  5. Mahkamah Agung Republik Indonesia. Direktori Putusan. https://putusan3.mahkamahagung.go.id.
Disusun oleh Tim Insights PT Widigital Tri Buana. Artikel dalam pilar Case Reference ditujukan untuk pimpinan operasional dan tim teknis yang sedang mengevaluasi implementasi AI agent untuk konteks bisnis Indonesia.

Semua Insights
Implementation Practice

Berapa Biaya Tools Otomasi Konten Sosmed? Perbandingan untuk Bisnis Indonesia

Tools otomasi konten sosmed punya rentang harga yang lebar — dari gratis sampai jutaan rupiah per bulan. Panduan ini membedah apa saja yang Anda dapatkan di tiap kisaran harga, dan kapan saatnya upgrade dari gratis ke berbayar.

4 Agustus 2026 · Baca →
Implementation Practice

Cara Konsisten Posting Instagram dan TikTok Tanpa Tim Konten

Konsistensi di Instagram dan TikTok tidak selalu butuh tim kreatif. Dengan sistem yang tepat, pemilik bisnis bisa tetap hadir di dua platform sekaligus tanpa harus rekrut orang atau bayar agensi mahal.

4 Agustus 2026 · Baca →

Diskusi awal tiga puluh menit untuk membahas topik ini dalam konteks organisasi Anda.

Tim engineering WTB membuka sesi diskusi. Respons dalam satu hari kerja, tanpa kewajiban.

Jadwalkan diskusi Chat via WhatsApp