Optimasi Biaya AI: Berhenti Bayar Lebih untuk Setiap Token

·6 menit baca·Ervandra Halim

Ringkasan

Tidak semua tugas butuh model mahal: jawabannya adalah rutekan tugas ke model murah, sedang, atau mahal sesuai kompleksitasnya, cache konteks yang berulang alih-alih mengirimnya ulang, batch tugas yang tidak butuh jawaban instan, dan ukur biaya per tugas selesai, bukan per panggilan API. Di proyek yang saya tangani, Ervandra Halim melihat gabungan keempatnya biasa memangkas tagihan AI bulanan lebih dari separuh tanpa menurunkan kualitas output.

  • Menggabungkan tiered model routing, prompt caching, batching, dan pengukuran biaya per tugas selesai bisa memangkas tagihan AI bulanan lebih dari setengahnya tanpa menurunkan kualitas output.
  • Mengarahkan 70-80% request ke tier ringan atau harian, dan menyisakan hanya 20-30% tersulit untuk model paling mahal, biasanya menjadi pengungkit penghematan terbesar.
  • Prompt caching baru terasa hematnya kalau konteks yang stabil dan berulang ditempatkan di depan prompt dan bagian yang berubah-ubah per request ditempatkan di belakang, karena caching bekerja berdasarkan prefix matching.

Kebanyakan bisnis yang saya ajak bicara soal pengeluaran AI mereka menggunakan satu model untuk segala hal, biasanya model paling canggih yang tersedia, karena itu pilihan default dan tidak ada yang pernah mempertanyakannya kembali. Optimasi biaya AI bukan soal mengurangi pemakaian AI. Ini soal mencocokkan alat dengan tugasnya, disiplin yang sama seperti yang Anda terapkan pada staffing: Anda tidak menugaskan engineer paling senior dan paling mahal untuk triase tiket, dan Anda seharusnya juga tidak menugaskan model paling mahal untuk tugas yang tidak butuh level reasoning setinggi itu.

Saya pernah melihat perusahaan memangkas tagihan bulanan AI mereka lebih dari setengahnya tanpa penurunan kualitas output sama sekali, hanya dengan merestrukturisasi bagaimana request dirutekan dan seberapa banyak konteks berulang yang dikirim di setiap panggilan. Semua ini tidak butuh ganti provider atau negosiasi harga yang lebih baik. Ini soal arsitektur, bukan procurement.

Berikut seperti apa itu dalam praktiknya.

Apakah Semua Tugas Butuh Model Mahal?

Tidak semua tugas butuh model mahal: kompleksitas tugas, bukan kebiasaan, yang seharusnya menentukan model mana yang menangani sebuah request. Setiap provider model besar menawarkan rentang model dengan titik harga berbeda, yang kira-kira berkorelasi dengan kemampuan dan kedalaman reasoning, namun kebanyakan tim mengirim setiap request, dari meringkas email sampai merancang strategi migrasi database, lewat model top-tier yang sama.

Setup tiga tingkat yang praktis:

  • Tier ringan: klasifikasi, ekstraksi sederhana, formatting, ringkasan singkat, dan tugas apa pun dengan output yang sempit dan terdefinisi jelas. Tugas-tugas ini jarang butuh reasoning mendalam, dan model yang lebih murah serta lebih cepat bisa menanganinya dengan sebagian kecil biaya namun akurasi setara.
  • Tier harian: menyusun konten, menjawab pertanyaan customer rutin, code generation standar, analisis kompleksitas menengah. Di sinilah sebagian besar penggunaan bisnis sehari-hari sebenarnya berada.
  • Tier dalam: reasoning multi-langkah, debugging kompleks, keputusan arsitektur, apa pun yang jawaban salahnya mahal untuk diperbaiki. Simpan model Anda yang paling canggih dan paling mahal untuk masalah yang benar-benar sulit.

Logika router-nya tidak perlu rumit. Bahkan aturan sederhana, "kalau ini tugas klasifikasi arahkan ke tier ringan, kalau melibatkan perencanaan multi-langkah arahkan ke tier dalam," sudah menangkap sebagian besar penghematan. Saya pernah mengatur ini untuk internal tools di mana 70-80% request jatuh ke tier ringan atau harian, dan hanya sisanya 20-30% yang benar-benar butuh model mahal. Itu saja sering kali menjadi pengungkit tunggal terbesar dalam optimasi biaya AI untuk bisnis yang menjalankan request dalam volume berapa pun.

Anda tidak menugaskan engineer paling senior dan paling mahal untuk triase tiket, dan Anda seharusnya juga tidak menugaskan model paling mahal untuk tugas yang tidak butuh level reasoning setinggi itu, kata Ervandra Halim, CPTO dan principal architect.

Bagaimana Cara Berhenti Mengirim Ulang Konteks yang Sama?

Prompt caching menghentikan pengiriman ulang itu: konteks yang berulang, seperti system prompt panjang, cuplikan knowledge base, atau dokumen, diproses sekali lalu digunakan kembali dengan diskon besar pada panggilan-panggilan berikutnya dalam jendela waktu tertentu, alih-alih diproses ulang di setiap request yang dikirim aplikasi Anda.

Ini sangat penting untuk:

  • Tools customer support yang merujuk dokumentasi produk yang sama di setiap tiket.
  • Alur kerja analisis dokumen di mana kontrak atau laporan yang sama ditanyakan berkali-kali dengan pertanyaan berbeda.
  • Coding assistant yang menjaga konteks codebase yang sama tetap termuat sepanjang sesi.

Dalam praktiknya, caching bisa memangkas biaya bagian "konteks" dari sebuah request sebesar 80-90% pada panggilan berulang. Kalau konteks Anda besar relatif terhadap pertanyaan aktual yang diajukan, yang mana ini umum terjadi, ini sering kali menjadi penghematan yang lebih besar dibanding model routing saja. Tangkapannya, Anda harus menyusun prompt sehingga bagian yang stabil dan berulang ditempatkan di depan, dan bagian yang variabel per-request di belakang, karena caching bekerja berdasarkan prefix matching. Banyak tim melewatkan penghematan ini hanya karena struktur prompt mereka mencampur konten statis dan dinamis alih-alih memisahkannya dengan rapi.

Batching: Kelompokkan yang Tidak Butuh Jawaban Instan

Respons real-time mahal secara relatif dibanding pemrosesan batch, karena batch API (kalau didukung) bisa berjalan dengan diskon signifikan sebagai ganti tidak perlu memberi respons segera. Apa pun yang tidak perlu kembali dalam hitungan detik adalah kandidat:

  • Pembuatan laporan semalaman
  • Tagging atau kategorisasi konten secara massal
  • Pembersihan atau enrichment data semalaman
  • Digest ringkasan terjadwal

Kalau bisnis Anda menjalankan salah satu dari ini sebagai panggilan real-time hanya karena kebiasaan, memindahkannya ke batch job hampir sama dengan uang gratis. Tidak ada yang menunggu di ujung sana untuk laporan yang toh baru dibaca besok pagi.

Kenapa Mengukur Biaya per Tugas Selesai, Bukan Biaya per Panggilan?

Biaya per tugas selesai lebih penting untuk diukur dibanding biaya per panggilan, karena panggilan murah yang gagal dan butuh tiga kali retry pada akhirnya lebih mahal daripada satu panggilan yang tersusun rapi ke model lebih mahal yang berhasil di percobaan pertama. Pergeseran cara pandang ini adalah yang paling sering dilewatkan kebanyakan perusahaan.

Lacak biaya per tugas selesai, bukan sebaliknya: berapa biaya sebenarnya, dalam total token di semua retry dan panggilan lanjutan, untuk menyelesaikan satu tugas secara penuh dan benar. Pembingkaian ulang ini sering mengungkap bahwa:

  • Model murah yang berhalusinasi pada tugas kompleks dan butuh koreksi manual ternyata lebih mahal secara total dibanding model lebih mahal yang langsung benar sejak awal.
  • Prompt yang disusun buruk dan butuh tiga kali klarifikasi lanjutan biayanya lebih besar dibanding prompt one-shot yang tersusun rapi ke model yang sedikit lebih mahal.
  • Mengotomasi tugas dengan buruk, yang butuh review dan pengerjaan ulang manusia setiap kali, bisa memakan biaya tenaga kerja lebih besar dibanding mengerjakannya secara manual seperti sebelumnya.
Optimasi Penghematan Tipikal Effort Implementasi
Tiered model routing 30-50% Rendah hingga moderat
Prompt caching untuk konteks berulang Tambahan 10-30% Rendah
Batch processing untuk tugas non-urgent Bervariasi, sering 50%+ pada tugas tersebut Rendah
Mengukur biaya per tugas selesai Mengungkap pemborosan tersembunyi, tanpa angka % langsung Moderat (butuh tracking)

Digabungkan, keempat perubahan ini adalah sumber angka "hemat 50%+ tanpa kehilangan kualitas" yang sebenarnya dalam praktik, bukan dari satu trik tunggal melainkan dari efek gabungan menerapkan keempatnya sekaligus.

Di Mana Ini Cocok dalam Strategi AI yang Lebih Besar

Optimasi biaya hanya berarti kalau pendekatan dasarnya sudah benar sejak awal. Kalau Anda masih memutuskan apakah bisnis Anda butuh model fine-tuned kustom atau apakah prompting model umum sudah cukup, keputusan itu memengaruhi struktur biaya Anda jauh lebih besar daripada penyesuaian routing apa pun; lihat Fine-Tuning vs Prompting: Apa yang Sebenarnya Dibutuhkan UKM sebelum Anda berinvestasi lebih jauh ke salah satu arah. Dan kalau penggunaan AI di bisnis Anda masih terasa seperti ditempelkan pada proses manual lama alih-alih dibangun ke dalam alur kerja itu sendiri, inefisiensinya sering kali bersifat struktural, bukan soal harga sama sekali, layak dibaca di AI-Native Workflows vs Menempelkan AI ke Proses Lama.

Intinya

Sebagian besar overspend AI bukan soal harga, ini soal arsitektur: satu model mengerjakan semua tugas, konteks yang sama dikirim ulang di setiap panggilan, dan pemrosesan real-time dipakai di tempat yang seharusnya cukup dengan batch. Rutekan berdasarkan kompleksitas tugas, cache yang berulang, batch yang bisa menunggu, dan ukur biaya per tugas selesai alih-alih biaya per panggilan. Lakukan keempat hal itu dan tagihan akan turun tanpa ada yang menyadari perubahan kualitas, karena memang tidak ada perubahan kualitas.

optimasi biaya aiharga llmmodel routingbudget aiefisiensi

Pertanyaan yang sering diajukan

Apakah mengarahkan tugas sederhana ke model yang lebih murah akan menurunkan kualitas output?

Tidak, selama klasifikasi tugasnya tepat. Model tier ringan menangani pekerjaan yang sempit dan terdefinisi jelas seperti klasifikasi, ekstraksi, dan formatting dengan akurasi setara namun biaya jauh lebih rendah; masalah kualitas biasanya muncul karena tugas reasoning kompleks salah dirutekan ke model yang terlalu ringan, bukan karena penerapan tiering itu sendiri.

Apakah kami perlu ganti provider AI atau menegosiasikan harga baru untuk mendapatkan penghematan ini?

Tidak. Penghematan yang dibahas di sini datang dari merestrukturisasi cara request dirutekan dan bagaimana konteks berulang dikirim, bukan dari procurement. Keempat perubahan ini, tiered routing, prompt caching, batching, dan mengukur biaya per tugas selesai, semuanya bisa diterapkan tanpa vendor baru atau kontrak baru.

Kenapa prompt caching di sistem kami tidak menghemat sebanyak yang diharapkan?

Biasanya karena struktur prompt mencampur konten statis dan dinamis alih-alih memisahkannya. Caching bekerja berdasarkan prefix matching, jadi bagian yang stabil dan berulang, seperti system prompt atau cuplikan knowledge base, harus ditempatkan di depan, dan bagian yang berubah-ubah per request harus ditempatkan di belakang, supaya diskon cache benar-benar berlaku.

Tugas seperti apa yang sebaiknya dipindah dari real-time ke batch processing?

Apa pun yang tidak perlu kembali dalam hitungan detik: pembuatan laporan semalaman, tagging konten secara massal, pembersihan atau enrichment data semalaman, dan digest ringkasan terjadwal. Kalau bisnis Anda menjalankan tugas-tugas ini sebagai panggilan real-time hanya karena kebiasaan, memindahkannya ke batch job hampir seperti penghematan gratis karena tidak ada yang menunggu hasilnya saat itu juga.

Ervandra Halim

Ervandra Halim

CPTO & Principal Architect

Ervandra Halim membantu owner dan leader memodernisasi operasional dan menerapkan AI setiap hari. Ia partner dengan beberapa bisnis dalam satu waktu, sebagian besar lewat referral.

Lanjut membaca

AI & Automation

Mengotomatiskan Back Office dengan Workflow AI

Panduan langkah demi langkah otomatisasi back office dengan AI: tugas admin mana yang harus diotomatiskan lebih dulu, cara merangkai workflow, dan cara menjaga manusia tetap pegang kendali.

·5 min read

© 2011–2026 Ervandra Halim