Episode ini membedah arsitektur internal 9router: route engine, model selector, policy engine, dan observability layer, lalu menelusuri alur lengkap intent extraction, routing decision pipeline, hingga tool invocation, serta posisi gateway di antara klien, LLM provider, dan downstream tools.

Di episode 1 kalian sudah memahami mengapa AI routing gateway dibutuhkan dan use case yang memotivasinya. Sekarang saatnya membongkar bagian dalam mesin: bagaimana 9router bekerja dari request masuk hingga respons kembali. Ini adalah episode paling fundamental di fase awal series — semua episode berikutnya akan merujuk pada konsep yang kalian pelajari di sini.
Roadmap episode ini: kita akan melihat gambaran besar arsitektur, membedah empat komponen inti (route engine, model selector, policy engine, observability layer), menelusuri alur intent extraction hingga tool invocation, dan terakhir memetakan posisi 9router di antara klien, LLM provider, serta downstream tools.
Secara konseptual, 9router adalah rangkaian komponen yang bekerja seperti pabrik: request masuk di satu ujung, keputusan dibuat di tengah, dan pemanggilan model terjadi di ujung lain. Ada empat komponen inti yang membentuk pabrik tersebut:
Klien/App --> [Route Engine] --> [Policy Engine] --> [Model Selector]
^ ^ |
| | v
[Intent Extraction] [Observability] LLM Provider / ToolsEmpat komponen inti adalah:
| Komponen | Tanggung Jawab Utama |
|---|---|
| Route Engine | Menjalankan pipeline pengambilan keputusan routing |
| Model Selector | Memilih model target berdasarkan kriteria dan kebijakan |
| Policy Engine | Menerapkan aturan compliance, quota, dan safety |
| Observability Layer | Merekam metrics, logs, dan trace untuk setiap request |
Route engine adalah komponen yang menerima request pertama kali dan menjalankan routing decision pipeline. Ia mengekstrak informasi dari request (path, header, metadata, dan isi prompt), mengevaluasi aturan matching, lalu menentukan rute mana yang terpilih.
Bayangkan route engine seperti petugas informasi di bandara: ia menerima penumpang (request), menanyakan tujuan (intent), memeriksa identitas (user identity), lalu mengarahkan ke gerbang (route) yang benar. Keputusan ini bukan satu langkah, melainkan rantai evaluasi yang bisa dilihat di episode 4.
Sebelum keputusan routing dibuat, 9router perlu memahami intent di balik request. Intent extraction mengubah prompt bahasa alami menjadi label yang bisa dievaluasi secara deterministik. Misalnya prompt "ringkas email ini" diekstrak menjadi intent summarization, sementara "buatkan gambar kucing" menjadi image-generation.
Dua pendekatan dipakai dalam intent extraction:
| Pendekatan | Cara Kerja | Karakteristik |
|---|---|---|
| Keyword / rule-based | Mencocokkan kata kunci dan pola | Cepat, deterministik, murah |
| Semantic classification | Memakai model embedding untuk klasifikasi | Fleksibel, menangkap makna, sedikit biaya |
Pendekatan keyword cocok untuk request yang polanya jelas, sedangkan semantic classification menangani variasi bahasa yang luas. 9router memungkinkan keduanya digabungkan dalam satu pipeline, dengan semantic classifier sebagai pelengkap ketika keyword gagal.
Setelah rute ditentukan, model selector memilih model target yang paling sesuai. Keputusan ini mempertimbangkan kriteria seperti performance, cost, accuracy, dan availability provider. Model selector memahami stack model yang terdaftar — termasuk model conversation, embedding, code, dan vision — lalu memilih yang paling pas dengan task type dan policy yang berlaku.
Sebagai contoh, sebuah rute mungkin memilih antara tiga model untuk task summarization: model murah dan cepat untuk dokumen pendek, model premium untuk dokumen kompleks, dan fallback saat provider utama down. Model selector mengevaluasi kriteria ini dan menghasilkan keputusan yang bisa diaudit.
Policy engine adalah lapisan yang memastikan setiap keputusan routing mematuhi kebijakan bisnis dan keamanan. Ia mengevaluasi hal-hal seperti: apakah pengguna ini boleh memakai model premium? Apakah region request ini mengizinkan provider tersebut? Apakah kuota bulanan sudah tercapai? Apakah isi prompt masuk kategori yang dilarang?
Policy engine bekerja sebelum model dipanggil. Jika sebuah request melanggar kebijakan, ia ditolak atau diarahkan ke fallback — bukan diteruskan ke model. Inilah yang membuat safety bisa diterapkan secara konsisten di satu lapisan, bukan di masing-masing aplikasi. Detail tentang enforcement, rate limiting, dan blocked intent akan dibahas mendalam di episode 6.
Setiap request yang melewati gateway meninggalkan jejak. Observability layer menangkap tiga jenis data: metrics (latency, request volume, success rate per rute), logs (konteks request, rute terpilih, hasil evaluasi policy), dan traces (perjalanan request dari klien hingga provider). Data ini menjadi bahan utama untuk memecahkan masalah dan mengoptimalkan routing di episode 7.
9router tidak hanya meneruskan request ke LLM; ia juga bisa memicu tool invocation — memanggil external tool atau service sebagai bagian dari alur agentic. Contohnya: setelah model menghasilkan jawaban, sebuah langkah memanggil API pencarian untuk mengambil data tambahan, lalu hasilnya dikirim balik ke model untuk penyusunan jawaban akhir.
Tool invocation adalah titik di mana gateway melewati batas "penerus traffic" dan menjadi orkestrator agentic. Inilah yang memungkinkan alur kerja yang lebih kompleks seperti retrieval-augmented generation dan function calling multi-langkah. Untuk mengikuti jejak setiap langkah secara langsung, gunakan perintah 9router logs --follow saat men-debug alur agentic.
Sekarang kita bisa memetakan posisi 9router dalam arsitektur lengkap. Ia berdiri di tiga persimpangan:
Ilustrasi sederhananya seperti berikut:
[Mobile/Web App] --> [9router] --> [OpenAI]
|--> [Anthropic]
|--> [Azure OpenAI]
`--> [Search API / Tools]Konsekuensi dari desain ini besar: aplikasi hanya mengenal satu endpoint dan satu format API. Pergantian provider, perubahan model, atau penambahan policy tidak menyentuh kode aplikasi sama sekali — cukup ubah konfigurasi di gateway.
Success
Kunci dari arsitektur 9router adalah pemisahan tanggung jawab yang jelas: route engine memutuskan kemana, policy engine memutuskan boleh atau tidak, model selector memutuskan model apa, dan observability layer memastikan semua keputusan bisa dijelaskan.
Mari kita satukan semuanya dalam satu alur nyata. Ketika aplikasi mengirim request "ringkas dokumen ini" ke 9router:
summarization.Alur ini terjadi dalam hitungan milidetik dan meninggalkan jejak yang bisa diaudit kapan saja. Jika salah satu langkah gagal, fallback dan circuit breaker mengambil alih — topik yang akan kita bahas di fase-fase selanjutnya.
Di episode 2 ini kalian sudah membedah arsitektur internal 9router: empat komponen inti yang bekerja bersama, alur intent extraction hingga tool invocation, dan posisi gateway di antara klien, provider, serta tools. Pemahaman ini adalah fondasi untuk semua episode praktik berikutnya.
Inti yang harus dibawa pulang:
Di episode 3 selanjutnya kita akan menginstal 9router dan melakukan setup dasar — membuat workspace, mengonfigurasi route rules dan model endpoints pertama, lalu memverifikasi routing request dan response secara nyata. Siapkan emulator lokal kalian, karena kita mulai praktik!