Lewati ke konten utama / Skip to main content
catatan · 23 Mei 2026 · 8 menit

LexHarmoni: AI Regulatory Stress-Testing — Cerita dari Hackathon

Bagaimana saya membangun AI regulatory stress-testing untuk regulasi keuangan Indonesia dalam 5 hari — dan kenapa context window 1M token mengubah cara kita membaca peraturan.

#hackathon#anthropic#claude#ai#regulasi#legal#ojk#opus-4-7

Pendahuluan

Tahun 2013-2014 saya bekerja sebagai Officer di Unit Regulasi Bursa Efek Indonesia (IDX). Salah satu pekerjaan saya — di antara tugas-tugas lain — adalah memeriksa draf peraturan baru dan mencari tahu apakah ada friksi dengan aturan yang sudah ada.

Tool utama saya waktu itu: ingatan institusional senior dan Ctrl+F.

Keduanya bekerja baik selama satu draf hanya menyentuh satu atau dua peraturan yang sudah ada. Tapi ketika satu draf menyentuh lima belas peraturan dalam rentang satu dekade, metode itu runtuh. Bukan karena saya atau rekan-rekan saya tidak kompeten — karena dependency graph-nya melebihi kapasitas working memory manusia.

LexHarmoni lahir dari pengalaman itu. Proyek ini saya bangun untuk Cerebral Valley × Anthropic “Built with Opus 4.7” Hackathonsolo, lima hari, dan satu eksperimen: bisakah AI melakukan apa yang manusia tidak bisa secara manual karena keterbatasan kognitif?

Artikel ini adalah cerita pembangunannya.


Masalahnya: Review Regulasi Itu Tidak Scalable

Review manual punya tiga batasan keras.

Pertama, kapasitas baca. Tujuh regulasi LPBBTI (Layanan Pendanaan Bersama Berbasis Teknologi Informasi) OJK total sekitar 150.000 kata. Dengan kecepatan baca efektif ~150-200 wpm untuk teks hukum padat, itu berarti 12-16 jam baca berkelanjutan — sebelum cross-referencing atau note-taking.

Kedua, kompleksitas cross-reference. Friksi regulasi tumbuh kuadratis terhadap jumlah dokumen untuk pairwise dependencies, dan polinomial untuk k-hop chain. Dua dokumen punya satu pasangan. Tujuh dokumen punya 21. Pola orphaned Chapter XI (salah satu yang ditemukan LexHarmoni) adalah 4-hop dependency — tidak terlihat jika dokumen dibaca satu per satu.

Ketiga, temporal drift. Regulasi dicabut, diamandemen, diterbitkan. Seorang reviewer yang menguasai korpus pada bulan Maret akan mendapati mental model-nya basi pada bulan Oktober. Membaca ulang 150.000 kata setiap kali ada perubahan bukan solusi — itu menambah beban.

Dari sinilah tesis LexHarmoni lahir: bukan regulator yang perlu bekerja lebih keras, tapi skalabilitas review-nya yang perlu diperbaiki.


Kenapa Sekarang?

Tiga kemampuan teknis harus matang bersamaan agar LexHarmoni mungkin dibangun:

1. Context window 1M token. Claude Opus 4.7 adalah model komersial pertama yang memungkinkan tujuh regulasi (ratusan ribu token) dimuat dalam satu inferensi. Model sebelumnya memaksa arsitektur RAG atau sliding window yang memecah reasoning lintas dokumen.

2. Prompt caching dengan 1h TTL. Tanpa caching, memuat 500K token per query biayanya $5-10 — mahal untuk penggunaan rutin. Dengan extended cache TTL Anthropic, korpus dicache sekali (cold: ~$6.75), kemudian dibaca dengan biaya ~10% untuk run berikutnya (warm: ~$1.70).

3. Streaming reasoning. Black-box legal AI tidak akan dipakai regulator. Harus ada reasoning yang terlihat. LexHarmoni me-stream pemikiran Opus token-by-token — pengguna melihat bagaimana AI sampai pada kesimpulannya.

18 bulan sebelum hackathon, kombinasi ini belum ada.


Arsitektur: 5 Hari, Satu Korpus Penuh

Dengan batasan 5 hari, keputusan arsitektur dibuat cepat dan pragmatis:

┌──────────┐    ┌──────────┐    ┌──────────┐
│ Frontend │◄──►│ Backend  │◄──►│ Claude   │
│ (React)  │    │(FastAPI) │    │Opus 4.7  │
└──────────┘    └──────────┘    └──────────┘

                    ┌─┴──────────┐
                    │ 7 regulasi │
                    │ + manifest │
                    │ ~554K token│
                    └────────────┘

Corpus injection via prompt caching. Semua 7 regulasi + manifest.json dimuat ke system prompt sebagai 4 cached blocks. Ukuran aktual: ~554K token (410K korpus + 144K system + manifest).

Hybrid output streaming. Output-nya dua bagian: tag <reasoning> berisi streaming reasoning Opus (agar pengguna bisa melihat proses berpikir), lalu tag <findings> berisi JSON terstruktur sesuai schema. Parsing di frontend trivial.

Dua tingkat cache:

  • Cache tingkat korpus (1h TTL) — enam dari tujuh run demo hanya bayar cache read.
  • Cache tingkat user message (5m, otomatis oleh Anthropic) — ~186K token per run.

Ground Truth: Manual Review 8 Jam

Sebelum menulis satu baris kode, saya melakukan mini research: manual review 8 jam terhadap tujuh regulasi LPBBTI.

Tujuannya bukan analisis hukum definitif — itu butuh lebih dari 8 jam. Tujuannya adalah baseline yang bisa dipakai untuk validasi, jadi ini bukan pendapat hukum normal dan lebih ke kertas kerja cepat. Tiga pola friksi yang saya temukan:

A. Normative Friction (Critical): Benturan jam penagihan antara POJK 22/2023 dan SEOJK 19/2023. POJK menyebut Senin-Sabtu, 08:00-20:00. SEOJK menyebut 08:00-20:00 tanpa batas hari. Dua regulasi aktif, subjek sama, spesifikasi berbeda. Butuh doktrin Lex Superior untuk rekonsiliasi.

B. Hierarchical Friction (Major): Orphaned Chapter XI. SEOJK 19/2023’s Bab XI tentang penagihan secara spesifik mendelegasikan otoritasnya ke Pasal 104(2) POJK 10/2022. Pada 22 Desember 2023, POJK 22/2023 mencabut Pasal 102-104 POJK 10/2022 — surgical revocation. Sejak saat itu, Bab XI SEOJK 19/2023 aktif secara operasional tapi anchor hierarkisnya sudah putus. 19 bulan baru diperbaiki oleh SEOJK 19/2025.

C. Operational Friction (Minor): Inkonsistensi terminologi. POJK 10/2022 menggunakan istilah baru “LPBBTI” sementara POJK 31/2020 masih menyebut “Penyelenggara Layanan Pinjam Meminjam Uang Berbasis Teknologi Informasi.” Dua istilah untuk industri yang sama. 17 bulan baru selaras setelah POJK 22/2023.

Ketiga pola ini adalah known frictions yang sudah diperbaiki oleh regulasi OJK selanjutnya — jadi bisa divalidasi dengan presisi.


Demo: 3 Runs, 2 Menit per Run

Sesi recording demo dilakukan 24 April 2026. Empat run (1 warm-up, 3 terekam). Hasil:

RunDurasiCacheOutput
Warm-up~2:05WRITE 554K10,779 token
B1~2:05HIT 554K9,414 token
B2~2:05HIT 554K11,084 token
B3~2:05HIT 554K9,482 token

Biaya total sesi recording: $11.82 — termasuk warm-up penuh $6.75. Tiga run berikutnya hanya $1.70 per run berkat cache hit.

Yang menarik: ketiga run menunjukkan konsistensi output yang tinggi. Ketiganya mendeteksi tiga pola friksi yang sama dengan sitasi pasal yang tepat — dan severity classification yang cocok dengan ground truth manual.


Validasi: Akurasi Friction Detection

Dari validasi yang dilakukan, temuan-temuannya:

FrictionSeverityGround TruthLexHarmoni
Collection-hours mismatchCritical✅ Terdeteksi✅ Terdeteksi
Orphaned Chapter XIMajor✅ Terdeteksi✅ Terdeteksi
Terminologi LPBBTIMinor✅ Terdeteksi✅ Terdeteksi

False positive minimal. Ini belum exhaustive evaluation — tapi sebagai proof-of-concept, hasilnya meyakinkan.


Apa yang Tidak Dilakukan

Saya ingin jujur tentang batasan proyek ini:

  • Bukan legal opinion generator. LexHarmoni surface pattern — manusia yang memutuskan doktrin mana yang berlaku.
  • Bukan pengganti senior regulatory counsel. Ini second pair of eyes, bukan pengganti.
  • Validasi terbatas. Tiga pola ground truth sudah dikonfirmasi. Tapi berapa banyak yang missed? Belum diukur secara sistematis.
  • Tidak memakai adaptive thinking. Opus 4.7 punya adaptive thinking mode yang bisa memperdalam deteksi, tapi sengaja tidak diaktifkan karena batasan budget demo.

Yang Ada di Repo

Semua open-source di github.com/ziffan/lexharmoni:

  • Backend: FastAPI + Claude API integration
  • Frontend: React dengan streaming SSE parser
  • Corpus: 7 regulasi P2P lending OJK dalam format teks
  • Ground truth: Manual analysis notes dari 8 jam review
  • Architecture docs: Catatan keputusan arsitektur harian
  • Smoke test results: Validasi lintas run

Penutup dan Langkah Selanjutnya

LexHarmoni adalah eksperimen. Bukan produk. Tapi hasilnya menunjukkan sesuatu yang menarik: dengan context window 1M token, pendekatan “full-corpus reasoning” layak secara teknis dan ekonomis.

Ke depannya, ada beberapa arah yang menarik:

  1. Adaptive thinking — mengaktifkan reasoning mode Opus yang lebih dalam.
  2. Ekspansi korpus — dari 7 ke 50+ POJK (seluruh domain Perlindungan Konsumen).
  3. Cross-ministry friction — memperluas ke regulasi BI, Kemenkeu, Kemenkominfo.
  4. Ex-ante deployment — menguji dalam alur drafting aktif, bukan retrospective.

Tapi itu nanti. Untuk sekarang, LexHarmoni adalah bukti bahwa alat yang membantu regulator membaca lebih baik itu mungkin — dan itu sudah cukup menjadi cerita.


Author: Ziffany Firdinal Credentials: Former Regulatory Officer, Indonesia Stock Exchange (IDX). OJK-registered Capital Markets Legal Consultant. Date: April 2026 (tulisan direvisi Mei 2026) Context: Cerebral Valley × Anthropic “Built with Opus 4.7” Hackathon. Masuk Top 2.5% dari seluruh peserta.