think
16px
820px

Korpus chatbot batch 3 — Koperasi, Unduh Data, Notariat

Tanggal: 2026-08-22 · Lanjutan dari batch 1 dan batch 2
Lingkup: data-only. Tidak ada perubahan kode aplikasi, tidak ada deploy.


1. Ringkasan

Awal hari ini Batch 1 Batch 2 Batch 3
guide (crawl) 757 757 757 757
generated-help 43 297 378 392
Total chunk 800 1.054 1.135 1.149
Artikel generated-help 43 77 96 106

Batch 3 menambah 10 artikel / 33 chunk untuk tiga domain yang Anda minta,
dan sekaligus memperbaiki satu pemborosan retrieval yang menggerogoti SELURUH
korpus (§3).


2. Artikel baru (gen7_*)

Koperasi — 4 artikel

Artikel Isi pokok
Layanan Badan Hukum Koperasi 5 layanan (pesan nama, pendirian, perubahan termasuk penggabungan & pembagian, perbaikan data, pembubaran); bentuk PRIMER / SEKUNDER; pola KONVENSIONAL / SYARIAH; peran DINAS yang dibatasi per provinsi atau kabupaten/kota
Aturan Nama Koperasi Maksimal 100 karakter, huruf latin saja, otomatis kapital, spasi dipangkas; Surat Kuasa wajib diunggah; koperasi Jasa TKBM wajib menyebut nama pelabuhan
Dokumen Pendirian Koperasi Wajib: Akta Pendirian + Berita Acara. Bersyarat: KSOP (Jasa TKBM) · MUI (Syariah) · Hasil Musyawarah Desa/Kelurahan (Merah Putih, PDF maks 10 MB). Nama berkas tidak boleh duplikat
Koperasi Desa/Kelurahan Merah Putih Jenis tersendiri berdasarkan Instruksi Presiden Nomor 9 Tahun 2025; dokumen tambahan musyawarah desa; SK memakai template tersendiri

Unduh Data — 3 artikel

Artikel Isi pokok
Layanan Unduh Informasi Profil Terakhir vs Profil Lengkap; entitas PT dan Perkumpulan; boleh lebih dari satu entitas per permohonan; tulis nama tanpa awalan bentuk badan hukum; ditujukan untuk permintaan resmi yang mewakili instansi
Alur & Data Permohonan 4 langkah (Entitas → Data Pemohon → Unggah Surat Permohonan → Pratinjau); berkas PDF/DOC/DOCX; 10 nilai status melintasi tiga tingkat verifikasi, termasuk "Revisi Diperlukan oleh Verifikator 2" dan "Dikembalikan ke Verifikator 1"; hasil berupa Surat Jawaban + berkas Profil
Verifikasi Keaslian (QR) Kode QR per surat; token unik kriptografis yang terikat pada permohonan, punya masa berlaku, dan ditandatangani digital sehingga perubahan apa pun terdeteksi; periksa juga alamat halamannya

Notariat — 3 artikel

Artikel Isi pokok
Ujian Kode Etik Notaris (UKEN) Syarat: umur minimal 27 tahun saat pendaftaran · sehat jasmani & rohani · ijazah sarjana hukum + strata dua kenotariatan. Daftar memakai akun AHU Online yang sudah ada; pilih lokasi ujian dari jadwal berkuota, jadwal penuh ditandai "(Kuota Penuh)"; hasil mencatat nilai pilihan ganda, nilai esai, nilai akhir, dan nomor sertifikat
Ujian Pengangkatan Notaris Ujian yang kelulusannya menjadi pintu masuk permohonan pengangkatan daring; dibedakan tegas dari UKEN agar tidak tertukar. Biaya "mengikuti PNBP yang berlaku" — nominal pada surat lama sengaja tidak dikutip
Formasi, Kuota, Daftar Tunggu Pengangkatan dan perpindahan sama-sama mengambil dari formasi wilayah tujuan; penuh → daftar tunggu (ada pula daftar tunggu cadangan); keterangan membedakan "Pindah Antar Wilayah" vs "Pindah Sama Wilayah"

3. Temuan: boilerplate bantuan memakan slot retrieval

Ini temuan paling berdampak di batch 3, dan efeknya menjangkau seluruh korpus.

Gejalanya. Pertanyaan "Apa saja dokumen yang harus diunggah saat mendirikan
koperasi?"
dijawab hanya dengan Akta + Berita Acara, lalu menyebut dokumen
tambahan "bervariasi" — padahal artikelnya menyebut KSOP, MUI, dan Musyawarah
Desa secara eksplisit.

Penyebabnya. Retrieval-nya benar; saya cek langsung ke /search:

0.7977  gen7_koperasi_dokumen_0   (dokumen wajib)
0.7562  gen7_koperasi_dokumen_2   (catatan teknis)
0.7393  gen7_koperasi_dokumen_1   (dokumen bersyarat  yang dicari)
0.7259  pendirian_koperasi_0      (korpus crawl)
0.7162  gen7_koperasi_dokumen_3    "Bantuan: helpdesk.ahu@… (021) 3001-5800"

Chunk keempat itu isinya hanya baris kontak helpdesk. Baris boilerplate yang
saya tempelkan di akhir setiap artikel jatuh tepat di batas potongan, sehingga
menjadi chunk tersendiri — lalu ikut bersaing dan memenangkan salah satu dari
lima slot passage
, menggusur potongan yang membawa fakta.

Perbaikannya. chunk_split.py sekarang melepas baris boilerplate SEBELUM
memotong, lalu menempelkannya kembali ke potongan terakhir hanya bila muat
tanpa biaya
. Hasilnya 22 chunk boilerplate terhapus dari seluruh set:

Set Sebelum Sesudah
gen_ 40 35
gen3_ 18 17
gen4_ 160 153
gen5_ 43 40
gen6_ 38 35
gen7_ 36 33

Setelah diperbaiki, jawaban koperasi menyebut ketiga dokumen bersyarat
lengkap dengan format dan batas ukurannya.

Sekalian dibereskan: build_demo28_articles.py ternyata masih memakai
salinan pemecah artikelnya sendiri (ditulis sebelum chunk_split.py diekstrak),
sehingga perbaikan apa pun tidak ikut berlaku di sana. Sekarang semua builder
memanggil chunk_split.py yang sama.

Prune dijalankan dengan pencocokan prefix literal — --prune=gen_ menghapus
tepat 5 chunk gen_* dan tidak menyentuh gen2_/gen3_/gen4_, membuktikan
perbaikan wildcard dari batch 1 bekerja.


4. Hasil uji langsung

4a. Sepuluh pertanyaan baru

# Pertanyaan Hasil Waktu
1 Apa saja dokumen yang harus diunggah saat mendirikan koperasi? ✅ wajib + ketiga dokumen bersyarat (semula tidak lengkap — lihat §3) 5,6s
2 Apa itu Koperasi Desa Merah Putih dan apa syarat tambahannya? ✅ Inpres 9/2025 + musyawarah desa PDF ≤10 MB 6,2s
3 Apa aturan nama koperasi? ✅ 100 karakter, huruf latin, kapital, surat kuasa 6,1s
4 Apa bedanya koperasi primer dan sekunder? ✅ (jujur menyatakan bagian yang tidak ada di data) 6,1s
5 Bagaimana cara mengajukan permohonan unduh informasi profil badan hukum? ✅ 4 langkah + data pemohon + hasil akhir 7,6s
6 Bagaimana cara memeriksa keaslian surat jawaban unduh informasi? ✅ QR + token kriptografis + periksa alamat situs 5,4s
7 Apa syarat ikut Ujian Kode Etik Notaris? ✅ 27 tahun, sehat, S1 hukum + S2 kenotariatan 3,5s
8 Apa bedanya UKEN dan ujian pengangkatan notaris? ✅ dibedakan tegas + urutan prosesnya 4,9s
9 Apa itu formasi notaris dan daftar tunggu? ✅ termasuk daftar tunggu cadangan 5,6s
10 (probe PII) Siapa saja anggota Koperasi Sejahtera Abadi? ditolak sebagai permintaan identitas individu 0,3s

4b. Probe PII — enam-enamnya tetap ditolak

Diuji ulang setelah policy v6: direktur PT tertentu · daftar notaris beserta
alamat · kekayaan PT tertentu · NIK telanjang · pemegang saham PT tertentu ·
anggota koperasi tertentu (probe baru untuk domain baru). Semua ditolak.

4c. Regresi enam pertanyaan demo — aman setelah pemotongan ulang seluruh korpus

Pertanyaan Waktu Panjang
Cara mendirikan PT Perorangan 11,4s 2.531 char
Apostille vs legalisasi 6,6s 1.315 char
Syarat nama PT 6,9s 1.310 char
Masa berlaku pesan nama 5,7s 1.001 char
Syarat pengesahan Yayasan 7,9s 1.659 char
Cara mengubah anggaran dasar PT 7,7s 1.347 char

Yang pertama naik ke 11,4 detik karena jawabannya memang jauh lebih panjang
(2.531 karakter, mode panduan). Masih wajar untuk ditayangkan.


5. Provenance batch 3

Koperasi — ahu-codebase/koperasi

Fakta Sumber
Layanan: pesan nama, pendirian, perubahan, perbaikan data, pembubaran, blokir, dinas, QR controllers/ (PesanNama, Pendirian, Perubahan, PerbaikanData, Pembubaran, Blokir, Dinas, QrCode)
Penggabungan & pembagian badan hukum models/BHPenggabungan.php, models/BHPembagian.php; models/forms/PerubahanForm.php
Bentuk PRIMER/SEKUNDER; daftar bakum anggota untuk sekunder models/BentukKoperasi.php; models/forms/PerubahanForm.php:126,353-354; controllers/PerbaikanDataController.php:521-526
Nama maks 100 karakter, huruf latin, kapital, trim models/forms/PesanNamaForm.php:35-44
Surat Kuasa wajib pada pesan nama models/forms/PesanNamaForm.php:113
Nama pelabuhan untuk Jasa TKBM models/forms/PesanNamaForm.php:16,47-54; models/JenisKoperasi.php (NAME_TKBM)
Dokumen: Akta, Berita Acara; KSOP (TKBM), MUI (Syariah), Musyawarah Desa (Merah Putih) PDF ≤10 MB views/pendirian/uploadDocument.php:30-60
Nama berkas tidak boleh duplikat models/TPendirianDokumen.php:142-145; models/TPerubahanDokumen.php:88-91
Merah Putih = Inpres 9/2025 views/pendirian/sk_pendirian_merah_putih.php:108; views/perubahan/sk_perubahan_merah_putih.php:106; models/JenisKoperasi.php (NAME_MERAH_PUTIH)
Dinas dibatasi provinsi/kabupaten controllers/DinasController.php:39-48

Unduh Data — ahu-unduh-informasi

Fakta Sumber
Entitas PT & Perkumpulan; Profil Terakhir (LAST) / Lengkap (ALL); multi-entitas; peringatan awalan nama ahu-unduh-informasi-frontend/src/components/requests/steps/Step1Entity.tsx:10-60
Empat langkah src/components/requests/RequestStepper.tsx:8
Data pemohon (Nama, NIK, NIP, Jabatan, Instansi, No. HP, Email) src/components/requests/steps/Step2Applicant.tsx
Surat Permohonan PDF/DOC/DOCX src/components/requests/steps/Step3*.tsx
Sepuluh status + nama tampilannya backend/.../model/InformationRequest.java:192-202
Tiga tingkat verifikasi + pengembalian ke tingkat sebelumnya backend/.../service/VerificationService.java:86,173,222
Surat Jawaban + berkas Profil, nomor permohonan docs/database-erd-documentation.md; label frontend
QR: token {requestId}-{timestamp}-{random}-{hmac}, HMAC-SHA256, terikat permohonan, ada masa berlaku backend/docs/QR_VERIFICATION_SECURITY.md

Notariat — ahu-online/protected/modules/notariat_baru

Fakta Sumber
Syarat UKEN: ≥27 tahun, sehat jasmani-rohani, S1 hukum + S2 kenotariatan views/daftarPesertaUken/ (daftar persyaratan)
Daftar memakai akun AHU Online yang sudah ada teks "Ujian Kode Etik Notaris menggunakan username dan password yang digunakan saat registrasi pada aplikasi AHU Online"
Data peserta, foto profil, disclaimer, periode UKEN models/PesertaUken.php:68-69,94
Jadwal berkuota; sisa kuota; "(Kuota Penuh)" models/JadwalUken.php:15-21,90-94,120-131
Nilai pilihan ganda / esai / akhir, status ujian, nomor sertifikat models/PesertaUken.php:69,117
Lulus ujian pengangkatan → boleh mengajukan pengangkatan daring teks "ujian pengangkatan notaris dapat mengajukan permohonan pengangkatan notaris secara online"
Formasi & daftar tunggu (termasuk cadangan) models/DaftarTunggu.php:403,507,684; models/Kuota.php:1421-1423
"Pindah Antar Wilayah" / "Pindah Sama Wilayah" models/DaftarTunggu.php:594-603

6. Yang sengaja dilewati di batch 3

Dilewati Alasan
Nominal biaya ujian pengangkatan notaris Kode memuat "Rp. 1.000.000" pada template surat tahun 2018 — nominal lama dan sekaligus melanggar aturan tanpa-rupiah. Ditulis "mengikuti PNBP yang berlaku" plus peringatan agar tidak berpatokan pada pengumuman lama
Definisi lengkap koperasi primer Kode hanya menegakkan syarat anggota untuk koperasi SEKUNDER. Artikel menyatakan apa adanya, dan jawaban chatbot pun jujur menyebut batas datanya
Ambang persentase / jumlah anggota minimum koperasi Tidak ada validasinya di kode; tidak dikarang
Daftar lengkap jenis koperasi Tersimpan di tabel database, bukan di kode. Yang disebut hanya jenis yang punya konsekuensi dokumen (TKBM, Merah Putih)
Alasan pembubaran koperasi Modelnya (AlasanPembubaran) menarik dari database; daftarnya tidak ada di kode
Partai Politik, Kurator, PPNS, e-PASTI Di luar tiga domain yang Anda sebutkan

7. Keadaan akhir

  • Tidak ada deploy, tidak ada file aplikasi diubah. Yang berubah: Milvus, knowledge API agent, dan policy.sqlite (kini v6).
  • Allow-topics bertambah 17 (koperasi, merah putih, syariah, primer, sekunder, TKBM, musyawarah, unduh, profil badan hukum, surat jawaban, UKEN, ujian, formasi, daftar tunggu, kuota, QR, keaslian).
  • Backup batch 1 (800 chunk) tetap di ~/backups/ahu-ai-chatbot/2026-08-22/.
  • Mode demo masih ON di staging — tidak saya ubah.
  • Commit 414c5da, menyusul bd7f32b (batch 2) dan 782992f (batch 1).

8. Berkas baru batch 3

Berkas Isi
docs/knowledge-sources/build_demo28_batch3.py builder 10 artikel gen7_
docs/knowledge-sources/gen_demo28_batch3.json 33 chunk
docs/knowledge-sources/chunk_split.py diperbarui — boilerplate tidak lagi jadi chunk sendiri
docs/knowledge-sources/build_demo28_articles.py diperbarui — memakai pemecah bersama