Menu

Saya telah mengurangi biaya API LLM sebesar 70%: Catatan praktis penggunaan AirAi untuk routing dan caching

0. Latar Belakang: Bagaimana bisa terjadi kebocoran informasi dalam tagihan tersebut?

Saya mengerjakan beberapa proyek sampingan, dan di awalnya saya harus membeli langganan resmi dengan biaya $20 per bulan, atau mencoba menggunakan kartu kredit internasional yang sering ditolak. Saat menghitung biaya di akhir bulan, saya menemukan dua hal yang sangat menyakitkan:

  1. 80% dari permintaan tersebut merupakan tugas-tugas ringan seperti merangkum, mengklasifikasikan, dan memformat data, dan menggunakan model yang paling mahal untuk menanganinya hanyalah pemborosan sumber daya;

  1. Berlangganan merupakan biaya tetap; ketika jumlah panggilan sedikit, akan ada kerugian, dan ketika jumlah panggilan banyak, biaya tersebut tidak cukup.

Jadi saya beralih ke AirAi: menggunakan kunci API mereka sendiri, dengan sistem pembayaran berdasarkan penggunaan, dan mengarahkan klien ke antarmuka yang kompatibel dengan OpenAI.

Ada juga sebuah cerita kecil di sini. Saya selalu tidak memiliki kartu kredit internasional yang layak, dan setiap kali saya mencoba melakukan pembayaran melalui saluran resmi, saya selalu ditolak. Untuk sementara waktu, saya menggunakan kartu keluarga saya, tetapi hal tersebut memicu sistem pengendalian risiko (risk control) dan akun saya langsung diblokir. Saya mengajukan banding dan membutuhkan waktu hampir dua minggu untuk akun saya dibuka kembali. Setelah itu, saya bertekad untuk hanya menggunakan saluran yang “tidak bergantung pada kartu kredit internasional”. Gateway yang akhirnya saya pilih hanya menerima pembayaran dalam bentuk USDT—yang bagi saya, yang tidak memiliki kartu kredit internasional, merupakan pilihan dengan persyaratan yang paling rendah: saya bisa langsung mengisi ulang saldo dan menggunakannya, tanpa perlu membayar biaya bulanan atau melalui prosedur KYC (Know Your Customer). Yang paling penting adalah harganya: berdasarkan pengalaman saya, harga per transaksi hanya sekitar 10% dari harga pembayaran melalui saluran resmi, itulah alasan sebenarnya mengapa saya memilihnya.

1. Beralih baris: Mengarah ke gateway mana pun yang kompatibel

Hampir semua klien yang mendukung endpoint kustom (Claude Code, Cursor, Open WebUI, LibreChat, Cline, dll.) dapat diubah dengan hanya menggunakan satu variabel lingkungan, tanpa perlu mengubah kode. Cukup arahkan kedua variabel berikut ke gateway Anda sendiri:

export OPENAI_BASE_URL="https://api.airai.cc/v1"
export ANTHROPIC_BASE_URL="https://api.airai.cc/v1"

Memilih gateway mana adalah masalah lain; artikel ini hanya membahas tentang metode implementasinya.

2. Praktik Pemrograman: Routing + Caching

Tidak hanya mengganti sumber cahaya saja yang cukup untuk menghemat uang; yang benar-benar menghemat uang adalah “menggunakan model yang tepat untuk pekerjaan yang tepat + menyimpan (meng-cache) permintaan yang berulang”. Berikut adalah kerangka kerja yang saya gunakan dalam produksi (kompatibel dengan OpenAI SDK): base_url dan api_key keduanya dibaca dari variabel lingkungan, bukan ditulis secara tetap dalam kode:

import openai, hashlib, os

client = openai.OpenAI(
    base_url=os.getenv("OPENAI_BASE_URL"),
    api_key=os.getenv("OPENAI_API_KEY"),
)

# Routing: small model for light tasks, flagship only for complex reasoning
CHEAP  = "gpt-5.6-luna"   # classification / summarization / formatting
STRONG = "gpt-5.6-sol"    # only called for complex reasoning

_cache: dict[str, str] = {}   # swap for Redis in production

def ask(prompt: str) -> str:
    model = STRONG if len(prompt) > 400 else CHEAP
    key = hashlib.md5(prompt.encode()).hexdigest()
    if key in _cache:                      # cache hit, 0 cost
        return _cache[key]
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
    )
    answer = resp.choices[0].message.content
    _cache[key] = answer
    return answer

CHEAP / STRONG Sesuaikan sesuai dengan anggaran dan efek yang Anda inginkan. Nama model harus sesuai dengan dokumentasi gateway yang Anda gunakan. Ingat untuk menggunakan antarmuka Batch untuk tugas offline, biasanya bisa menghemat setengah biaya lagi.

3. Perbandingan Biaya (Ilustratif)

Sebelum dan sesudah renovasiIlustrasiData (pastikan angka yang sebenarnya sesuai dengan tagihan Anda):

Proyek

Berlangganan Resmi / Akses Langsung

AirAi + Caching Arah (Routing Cache)

Metode Pembayaran

Biaya bulanan tetap / Harga resmi

Pembayaran berdasarkan penggunaan (Pay-as-you-go)

Model Pekerjaan Ringan

Flagship (sia-sia)

Model kecil (lebih murah)

Permintaan yang diulang

Perhitungan ulang harga penuh

Caching Hit: 0 Cost

Biaya Persepsi (Cost of Perception)

Basal 100%

Kira-kira 10–30% (tergantung pada tingkat penggunaan)

4. Batas Kebenaran (Berbicaralah dengan Jujur)

  • Tidak semua orang lebih hemat.Ketika jumlah permintaan bulanan sangat rendah, berlangganan tetap mungkin lebih menguntungkan; pembayaran berdasarkan jumlah penggunaan (pay-as-you-go) hanya akan memberikan keuntungan ketika jumlah permintaan tinggi. Pertama-tama, hitunglah jumlah permintaan Anda sendiri.

  • Keterlambatan dan StabilitasMenambahkan satu lapisan gateway akan menyebabkan peningkatan waktu tunggu (delay), terutama pada jalur kritis (critical paths), serta meningkatkan risiko terjadinya timeout dan penurunan kualitas layanan (degradation).

  • Keamanan KunciKunci (key) sebaiknya diletakkan dalam variabel lingkungan, jangan ditulis secara tetap di kode frontend atau di repositori publik.

5. Kesimpulan

Esensi dari mengurangi biaya LLM (Large Language Model) adalah dengan menggunakan model yang lebih murah untuk melakukan sebagian besar pekerjaan, membiarkan model yang lebih mahal hanya berperan ketika diperlukan, dan kemudian menghilangkan token-token yang tidak efisien; mengubah proses “berhubungan dengan N pihak” menjadi hanya perlu mengubah satu baris kode saja.base_url"Rute (routing) dan cache (penyimpanan data sementara) adalah dua komponen yang gratis; mari kita mulai dengan membangunnya terlebih dahulu."


Apakah ini membantu?

Dukungan teknisDukungan langsung
侧栏
Kembali ke atas
简体中文ZH-CNDefault繁體中文ZH-TWEnglishEN日本語JA한국어KOภาษาไทยTHTiếng ViệtVIBahasa IndonesiaIDEspañolESFrançaisFRDeutschDEРусскийRUPortuguêsPTItalianoITالعربيةAR