Sebelum menyentuh konfigurasi pertama, kalian perlu menyiapkan skill dasar AI routing, HTTP/REST, JSON/YAML, hingga observability, sekaligus memastikan tools seperti Node.js, Git, Docker, dan kredensial LLM provider sudah siap di environment kalian masing-masing.

Selamat datang di series Belajar 9router! Series ini akan membawa kalian menguasai 9router — AI routing gateway yang mengelola, mengarahkan, dan mengoptimalkan lalu lintas request menuju berbagai LLM provider — dari fondasi konsep sampai pola production-grade. Total ada 23 episode yang tersusun dari enam fase, dimulai dari pre-requisites hingga production hardening.
Tapi sebelum menulis file konfigurasi pertama, ada beberapa skill dasar dan tools yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena 9router adalah sebuah gateway — dia berdiri di antara klien dan LLM provider, menerima request HTTP, mengambil keputusan routing, lalu meneruskan traffic ke model yang paling tepat. Kalau kalian belum paham bagaimana percakapan HTTP berjalan, atau bagaimana membaca file YAML, konfigurasi 9router akan terasa seperti mantra yang kadang bekerja dan kadang tidak.
Bayangkan ingin menjadi petugas lalu lintas bandara tetapi belum memahami peta penerbangan dan protokol komunikasi. Sehebat apapun menara kontrolnya — dan 9router adalah menara kontrol yang sangat hebat — tetap sulit mengarahkan pesawat tanpa memahami jalurnya. Episode 0 ini adalah peta jalannya: kita akan menyiapkan skill dasar, memastikan tools terinstall, lalu melengkapi kredensial LLM provider yang akan menemani sepanjang series.
AI routing adalah praktik memutuskan model AI mana yang menangani sebuah request. Setiap request punya kebutuhan berbeda: ada yang butuh jawaban cepat dan murah, ada yang butuh reasoning dalam, dan ada yang butuh analisis gambar atau embedding. 9router membaca request, lalu menyeleksi model berdasarkan kriteria seperti biaya, latensi, kualitas, dan kebijakan bisnis.
Model selection bukan soal memilih "model terbaik", melainkan memilih model yang paling tepat untuk konteks request. Terkadang model besar yang mahal adalah pilihan yang salah untuk pertanyaan sepele, dan begitu pula sebaliknya. Sejak sekarang, biasakan berpikir dalam istilah trade-off: apa yang dikorbankan (biaya, latensi) demi apa yang diperoleh (kualitas, akurasi).
9router adalah layanan HTTP. Seluruh traffic masuk dan keluar melalui protokol HTTP, jadi pemahaman tentangnya adalah fondasi wajib. Pahami bentuk percakapan dasar: request berisi method, path, header, dan kadang body; response berisi status code, header, dan body.
| Method | Fungsi di Konteks AI Routing |
|---|---|
| GET | Membaca metadata, status, atau health check |
| POST | Mengirim prompt untuk di-routing (paling sering dipakai) |
| PUT / PATCH | Memperbarui resource seperti route atau model |
| DELETE | Menghapus resource |
Kenali juga lima kelas status code: 2xx sukses, 3xx redirect, 4xx kesalahan klien (termasuk 429 Too Many Requests saat rate limit), dan 5xx kesalahan server. Yang terakhir juga harus dipahami karena 9router akan memetakan error dari LLM provider ke status code yang tepat.
Selain request/response, pahami webhook: mekanisme callback di mana server mengirim HTTP request balik ke klien saat suatu event terjadi. Di konteks 9router, webhook dipakai misalnya untuk streaming completion, notifikasi status, atau sinkronisasi hasil ke downstream service.
Konfigurasi 9router ditulis dalam format YAML, sedangkan request dan response antar service hampir selalu dalam JSON. Kalian wajib nyaman membaca dan menulis keduanya — termasuk mengingat bahwa YAML sensitif terhadap indentasi, dan angka seperti 0123 bisa salah diinterpretasikan tanpa quoting.
Kemudian ada CLI: seluruh operasi 9router — inisialisasi project, validasi konfigurasi, menjalankan server lokal, hingga mengelola route — dilakukan lewat terminal. Terakhir, Git workflows: karena route config adalah kode, ia harus di-version control, di-review lewat pull request, dan di-rollback saat bermasalah. Perhatikan bahwa format YAML adalah baseline yang ideal untuk di-diff antar versi.
Gateway AI tanpa observability adalah tebakan belaka. Ada tiga pilar yang wajib kalian kenali:
| Pilar | Pertanyaan yang Dijawab | Contoh di 9router |
|---|---|---|
| Metrics | Seberapa banyak / seberapa cepat? | Request per detik, latensi model, error rate |
| Logs | Apa yang terjadi secara detail? | Route terpilih, model dipanggil, status code |
| Tracing | Bagaimana sebuah request mengalir? | Perjalanan dari klien ke provider hingga kembali |
Ketiganya akan dibahas mendalam di episode 7, tapi mulai sekarang biasakan membaca angka seperti latency percentile dan success rate. Prometheus untuk metrics, log aggregator untuk logs, dan tool tracing berbasis OpenTelemetry untuk distributed trace adalah alat yang akan sering kalian jumpai.
Ada dua cara untuk mulai bermain dengan 9router. Pertama, menggunakan platform hosted — login ke dashboard, buat workspace, dan gunakan endpoint yang disediakan. Kedua, dan ini yang paling dianjurkan untuk belajar, menjalankan local emulator yang perilakunya identik dengan platform production. Emulator lokal tersedia sebagai image Docker:
docker run -d --name 9router-local -p 8080:8080 \
-e 9ROUTER_MODE=emulator \
ghcr.io/9router/9router:latestPerintah di atas menjalankan emulator pada port 8080. Pastikan Docker sudah berjalan dan port 8080 tidak bertabrakan dengan service lain.
9router perlu memanggil LLM provider atas nama kalian, dan untuk itu dibutuhkan API key. Siapkan kredensial untuk setidaknya satu provider — OpenAI, Azure OpenAI, atau Anthropic. Jangan pernah menaruh key di dalam file konfigurasi; gunakan environment variable seperti pada contoh berikut:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export AZURE_OPENAI_API_KEY="..."Catatan penting: nilai kredensial di atas hanya contoh. Key asli bersifat rahasia, jadi simpan di secret manager atau file dot-env yang tidak pernah di-commit ke git.
Untuk editor, VS Code dengan extension JSON dan YAML sudah lebih dari cukup — fitur auto-format dan schema validation akan menyelamatkan kalian dari error indentasi. Untuk monitoring, siapkan Prometheus dan Grafana untuk memvisualisasikan metrics, atau observability stack pilihan kalian. Tidak wajib di episode ini, tapi sudah bagus kalau mulai dipasang lebih awal.
Sebelum lanjut ke episode berikutnya, pastikan semua tool inti terinstall dengan menjalankan satu baris verifikasi:
node --version
npm --version
git --version
docker --version
curl --versionSemua perintah di atas harus mengembalikan nomor versi, bukan command not found. Jika salah satu hilang, install sesuai package manager masing-masing, misalnya npm install -g @9router/cli untuk CLI 9router atau sudo apt install docker.io untuk Docker di distro berbasis Debian.
Info
Urutan perintah verifikasi di atas menetapkan baseline: Node.js sebagai runtime CLI, npm sebagai package manager, git untuk version control, Docker untuk emulator, dan curl untuk menguji request HTTP. Jika kelima tool ini sudah siap, environment kalian siap mengikuti seluruh series.
localhost:8080.Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill dasar AI routing, HTTP/REST dan webhook, JSON/YAML, CLI dan Git, serta observability; memastikan emulator lokal dan kredensial LLM provider siap; dan memverifikasi tooling inti di environment kalian.
Inti yang harus dibawa pulang:
Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa dunia membutuhkan AI routing gateway — dari evolusi load balancer klasik, perbandingan API gateway tradisional dengan service mesh, hingga use case nyata prompt routing dan multi-model orchestration. Pastikan environment kalian sudah siap, karena perjalanan Belajar 9router baru saja dimulai!