Sebagian besar API dibangun untuk pengembang manusia yang membaca dokumentasi, menelusuri contoh, dan melakukan debug dengan stack trace. Pada tahun 2026, sebagian besar trafik API justru berasal dari AI agent, dan mereka tidak berinteraksi dengan API dengan cara yang sama seperti manusia.
Inilah cara kami mendesain ulang unified AI API TokenLab berdasarkan satu prinsip: jangan mencoba untuk terlihat pintar, jadilah informatif. Kami menyebut hasilnya sebagai desain API agent-first, dan hal ini berhasil mengurangi pemborosan token bagi pengguna kami hingga lebih dari 60%.
Poin Utama
- Desain API agent-first menambahkan petunjuk terstruktur yang dapat dibaca mesin ke dalam respons kesalahan agar AI agent dapat melakukan koreksi mandiri tanpa perlu pencarian web atau bantuan manusia.
- Berikan saran, jangan melakukan koreksi otomatis. Bidang seperti
did_you_mean,suggestions, danretryablememungkinkan agent untuk membuat keputusan berdasarkan informasi, alih-alih diputuskan untuk mereka. - Setiap saran didasarkan pada data produksi, sehingga model yang sedang offline atau sudah tidak digunakan (deprecated) tidak akan pernah muncul dalam daftar kandidat.
- Bidang petunjuk bersifat aditif dan kompatibel ke belakang (backward compatible), sehingga klien yang kompatibel dengan OpenAI tetap dapat berfungsi tanpa perubahan.
Apa Itu Desain API Agent-First?
Desain API agent-first berarti menyusun respons Anda, terutama respons kesalahan, agar AI agent dapat memahami apa yang salah dan memperbaikinya tanpa harus keluar dari percakapan.
Kesalahan API tradisional:
{"error": {"message": "Model not found"}}
Kesalahan API agent-first:
{
"error": {
"code": "model_not_found",
"message": "Model 'gpt5.5' not found",
"did_you_mean": "gpt-5.5",
"suggestions": [{"id": "gpt-5.5"}, {"id": "gemini-3.5-flash"}],
"hint": "Use GET /v1/models to list all available models."
}
}
Dengan API tradisional, agent harus mencari di web, menemukan dokumentasi, mem-parsing HTML, dan menebak-nebak. Dengan API agent-first, agent melakukan koreksi mandiri dalam satu langkah.
Mengapa API Tradisional Gagal Memenuhi Kebutuhan AI Agent
Perhatikan apa yang terjadi ketika sebuah agent mengakses agregator API tipikal untuk pertama kalinya:
Agent: POST /v1/chat/completions {"model": "gpt5.5"}
API: 400 {"error": {"message": "Model not found"}}
Agent: (mencari di web "tokenlab models list")
Agent: (mengambil halaman dokumentasi, mungkin yang salah)
Agent: (mem-parsing HTML, menemukan nama model)
Agent: POST /v1/chat/completions {"model": "gpt-5.5"}
API: 200 ✓
Enam langkah, beberapa permintaan jaringan, ratusan token terbuang. Dan itu adalah skenario ideal, di mana agent kebetulan menebak URL dokumentasi yang tepat.
Dengan desain agent-first:
Agent: POST /v1/chat/completions {"model": "gpt5.5"}
API: 400 {"did_you_mean": "gpt-5.5", "hint": "Use GET /v1/models..."}
Agent: POST /v1/chat/completions {"model": "gpt-5.5"}
API: 200 ✓
Dua langkah, nol pencarian web. Agent melakukan koreksi mandiri hanya dari respons kesalahan tersebut.
Prinsip Utama: Kecerdasan Tetap Berada di Sisi Model
Godaan yang sering muncul adalah membangun API "pintar" yang melakukan koreksi otomatis pada nama model, merutekan ulang secara diam-diam ke sesuatu yang mirip, atau menambahkan mesin rekomendasi. Kami menolak semua itu.
Ketika agent mengirim model: "gpt5.5", Anda sebenarnya tidak tahu apa niatnya. Mungkin ia sedang memeriksa apakah ada rilis GPT yang lebih baru. Mungkin ia memiliki batasan anggaran yang ketat. Mungkin ia membutuhkan kemampuan spesifik yang hanya didukung oleh satu model. Perutean otomatis ke gpt-5.5 akan mengubah biaya, kualitas, dan kemampuan secara diam-diam, dan agent tidak akan pernah tahu hal itu terjadi.
Langkah yang lebih baik adalah gagal dengan cepat dan gagal secara informatif. Berikan semua data kepada agent dan biarkan ia yang memutuskan.
Empat Pola Desain API Agent-First
Pola 1: Model Not Found → Saran Fuzzy
{
"error": {
"code": "model_not_found",
"did_you_mean": "gpt-5.5",
"suggestions": [
{"id": "gpt-5.5"},
{"id": "gemini-3.5-flash"},
{"id": "claude-sonnet-5"}
],
"hint": "Did you mean 'gpt-5.5'? Use GET /v1/models to list all available models."
}
}
did_you_mean menggunakan resolusi tiga lapis: pemetaan alias statis dari data produksi, pencocokan string yang dinormalisasi, dan bounded edit distance. Setiap kandidat diperiksa terhadap daftar model yang aktif, sehingga kami tidak pernah menyarankan model yang sedang offline.
Pola 2: Insufficient Balance → Alternatif Berbasis Anggaran
{
"error": {
"code": "insufficient_balance",
"balance_usd": 0.12,
"estimated_cost_usd": 0.35,
"suggestions": [
{"id": "gemini-3.5-flash", "estimated_cost_usd": 0.02},
{"id": "deepseek-v4-flash", "estimated_cost_usd": 0.01}
],
"hint": "Insufficient balance. Try a cheaper model or top up."
}
}
Alih-alih hanya mengatakan "saldo tidak cukup", kami memberi tahu agent secara tepat berapa saldo yang dimilikinya, berapa biaya yang dibutuhkan, dan model mana yang mampu ia bayar saat ini. Agent dapat secara otonom menurunkan pilihan ke model AI yang lebih murah tanpa campur tangan manusia. Verifikasi harga per model saat ini di direktori model TokenLab sebelum melakukan hardcoding ambang batas biaya.
Pola 3: All Channels Failed → Alternatif Langsung
{
"error": {
"code": "all_channels_failed",
"retryable": true,
"retry_after": 30,
"alternatives": [
{"id": "claude-sonnet-5", "status": "available"},
{"id": "gpt-5.5", "status": "available"}
],
"hint": "All channels for 'claude-opus-4-8' temporarily unavailable. Retry in 30s or try an alternative."
}
}
Daftar alternatives tidak bersifat statis. Ini adalah kueri langsung terhadap data kesehatan kanal kami, sehingga agent mendapatkan informasi real-time tentang apa yang benar-benar berfungsi saat ini, bukan daftar cadangan hardcoded yang mungkin sudah kedaluwarsa.
Pola 4: Rate Limited → Waktu Coba Ulang yang Tepat
{
"error": {
"code": "rate_limit_exceeded",
"retryable": true,
"retry_after": 8,
"limit": "1000/min",
"remaining": 0,
"hint": "Rate limited. Retry after 8s."
}
}
Tidak ada tebakan, tidak ada exponential backoff yang dimulai dari nilai arbitrer. Agent mengetahui waktu tunggu yang tepat. Untuk informasi lebih lanjut tentang cara menangani limitasi tarif dengan baik, lihat panduan limitasi tarif AI API kami.
Respons Sukses Juga Membawa Petunjuk
Ketika agent memanggil /v1/chat/completions dengan model Claude, responsnya mencakup:
X-TokenLab-Hint: This model supports native Anthropic format. Use POST /v1/messages for better performance.
X-TokenLab-Native-Endpoint: /v1/messages
Kami memberi tahu agent bahwa ini berhasil, tetapi ada cara yang lebih baik. Agent dapat beralih ke endpoint asli pada panggilan berikutnya dan memanfaatkan fitur seperti extended thinking dan prompt caching yang tidak diekspos melalui format yang kompatibel dengan OpenAI.
Petunjuk ini berada di dalam header, bukan isi respons (body), karena isi respons harus mengikuti spesifikasi OpenAI atau Anthropic secara tepat. Header adalah titik ekstensi yang aman dan tidak akan merusak logika parsing yang sudah ada.
Respons /v1/models sebagai Lembar Contekan Agent
Kami menambahkan tiga bidang ke setiap entri model dalam respons /v1/models:
category: model chat, generator gambar, model video, atau audio. Tidak perlu lagi menebak dari nama.pricing_unit: per token, per gambar, per detik, atau per permintaan. Diperlukan untuk estimasi biaya yang akurat.cache_pricing: harga prompt cache hulu ditambah diskon semantic cache platform.
Dikombinasikan dengan bidang yang sudah ada (harga, kemampuan, alias, token maksimal), agent dapat membuat pemilihan model yang sepenuhnya terinformasi dari satu panggilan API. Anda dapat melihat katalog lengkap secara langsung di direktori model TokenLab (diamati 2026-07-07), yang saat ini mencantumkan 300+ model di berbagai kategori chat, gambar, video, dan audio termasuk opsi mutakhir saat ini seperti Claude Sonnet 5, GPT-5.5, dan Gemini 3.5 Flash. Verifikasi harga dan ketersediaan saat ini di halaman tersebut alih-alih mengasumsikan angka dalam artikel ini masih berlaku.
llms.txt: Bacaan Pertama Agent
Kami menyajikan llms.txt dinamis di api.tokenlab.sh/llms.txt, sebuah gambaran umum API yang dapat dibaca mesin. Ini mencakup:
- Templat panggilan pertama dengan kode yang berfungsi
- Nama model umum, yang dibuat secara otomatis dari data penggunaan, bukan hardcoded
- Semua 12 endpoint dengan parameternya
- Parameter filter untuk penemuan model
Agent yang membaca file ini sebelum panggilan API pertamanya jauh lebih mungkin untuk mendapatkan permintaan yang benar pada percobaan pertama.
Berbasis Data, Bukan Berbasis Pengetahuan
Setiap saran dalam sistem berasal dari data produksi. Peta alias did_you_mean dibuat dari 30 hari kesalahan model_not_found aktual di log permintaan kami. Saran model diurutkan berdasarkan penggunaan nyata. Daftar "nama model umum" di llms.txt dihasilkan dari basis data kami, bukan dikelola secara manual.
Kami melacak setiap kesalahan model dalam Redis sorted set. Begitu salah ketik terakumulasi cukup banyak, ia akan dipromosikan ke dalam peta alias. Ketika sebuah model offline, ia akan otomatis keluar dari setiap daftar saran. Sistem ini menyesuaikan diri seiring waktu alih-alih menjadi usang, yang sangat penting ketika rilis model baru seperti GPT-5.5, Claude Sonnet 5, dan Gemini 3.5 Flash diluncurkan dalam jadwal yang tumpang tindih.
Batasan Desain yang Membuatnya Berhasil
Kami menetapkan satu aturan: tidak ada endpoint baru, tidak ada SDK baru, tidak ada perubahan yang merusak (breaking changes). Semuanya harus masuk ke dalam format kesalahan yang kompatibel dengan OpenAI yang sudah ada. Bidang baru bersifat opsional, sehingga klien mana pun yang mengabaikannya akan mendapatkan pengalaman yang sama seperti sebelumnya.
Batasan itu memaksa kami untuk presisi tentang apa yang benar-benar membantu agent melakukan koreksi mandiri, alih-alih membangun API baru yang rumit yang tidak akan diadopsi oleh siapa pun.
Cara Menerapkan Desain Agent-First pada API Anda Sendiri
Jika Anda membangun API yang akan dikonsumsi oleh AI agent:
- Buat setiap kesalahan dapat ditindaklanjuti. Nyatakan apa yang salah, mengapa, dan apa yang harus dilakukan selanjutnya.
- Sarankan alternatif alih-alih melakukan koreksi otomatis. Biarkan agent membuat keputusan yang terinformasi.
- Gunakan bidang terstruktur, bukan prosa.
did_you_meandapat di-parse; "did you mean..." yang terkubur dalam kalimat tidak bisa. - Dasarkan saran pada data nyata. Pola penggunaan produksi lebih baik daripada daftar hardcoded yang akan kedaluwarsa.
- Sajikan penemuan yang dapat dibaca mesin melalui
llms.txt, spesifikasi OpenAPI, atau daftar model terstruktur. - Jaga agar tetap kompatibel ke belakang. Bidang petunjuk baru harus bersifat aditif, jangan pernah merusak.
Dari Mana Memulai Tanpa Menulis Ulang Semuanya
Sebagian besar tim tidak perlu mendesain ulang seluruh API mereka dalam satu minggu. Titik awal yang lebih kecil bisa dilakukan:
- Tambahkan satu atau dua bidang petunjuk yang dapat dibaca mesin ke kesalahan dengan volume tertinggi Anda.
- Buat
/v1/modelsatau endpoint penemuan yang setara menjadi lebih kaya dan eksplisit. - Publikasikan satu gambaran umum yang dapat dibaca mesin, seperti
llms.txt. - Uji seluruh alur dengan klien agent yang sebenarnya, bukan hanya curl.
Jika Anda sudah beroperasi melalui lapisan gateway, panduan unified AI gateway menjelaskan mengapa bidang kontrol tersebut penting. Jika Anda masih menggunakan integrasi yang kompatibel dengan OpenAI secara langsung, panduan migrasi adalah tempat termudah untuk memulai sebelum menambahkan perilaku yang ramah terhadap agent.
FAQ
Apa itu desain API agent-first?
Ini adalah pendekatan di mana respons kesalahan menyertakan petunjuk terstruktur yang dapat dibaca mesin (bidang seperti did_you_mean, suggestions, dan hint) sehingga AI agent dapat melakukan koreksi mandiri tanpa intervensi manusia atau pencarian dokumentasi.
Apa bedanya desain API agent-first dengan developer-first?
API developer-first mengoptimalkan keterbacaan manusia: pesan yang jelas, dokumentasi yang baik, contoh yang membantu. API agent-first menambahkan bidang terstruktur di atasnya agar mesin dapat mem-parsing kesalahan dan menindaklanjutinya secara terprogram, tanpa membaca apa pun.
Apakah desain agent-first merusak klien yang sudah ada?
Tidak. Bidang-bidang tersebut bersifat aditif. Klien yang sudah ada yang tidak mencari did_you_mean atau suggestions cukup mengabaikannya dan terus bekerja seperti sebelumnya.
TokenLab menyediakan akses terpadu ke 300+ model AI, termasuk model mutakhir saat ini seperti GPT-5.5, Claude Sonnet 5, dan Gemini 3.5 Flash, melalui satu API yang tercantum dalam direktori model. Mulai secara gratis untuk menguji API agent-first dengan kredit awal $1.
Sumber
Harga diamati pada 2026-07-07
- TokenLab model directoryDiamati pada 2026-07-07



