Optimasi biayaAnalisis
Cara memperkirakan biaya agen AI
Mengapa tagihan agen didominasi token input, rumus yang bisa Anda jalankan sebelum agen berjalan, contoh 30 langkah dan tujuh cara memangkas biaya.

Di halaman ini
Agen AI tidak membuat satu permintaan — ia membuat puluhan, dan setiap langkah mengirim ulang percakapan yang terus bertambah. Itulah sebabnya tagihan agen didominasi oleh token input, dan mengapa intuisi "harga per jawaban" dari aplikasi chat tidak berlaku. Berikut cara memperkirakan biaya sebelum agen berjalan, dan ke mana uang sebenarnya pergi.
Rumusnya#
Biaya satu permintaan adalah token input dikali harga input ditambah token output dikali harga output. Harga dikutip per juta token:
request_cost = input_tokens / 1,000,000 × input_price
+ output_tokens / 1,000,000 × output_priceBiaya sebuah tugas adalah jumlah dari semua permintaan yang dibuat agen selama menyelesaikannya.
Mengapa agen berat input#
Pada setiap langkah agen mengirim ke model:
- system prompt dan definisi tool;
- seluruh riwayat sejauh ini — pesan sebelumnya, jawaban model sebelumnya dan hasil tool (isi file, output perintah, hasil pencarian);
- instruksi baru.
Model biasanya menjawab dengan pesan singkat atau pemanggilan tool. Lalu hasil tool ditambahkan ke riwayat dan langkah berikutnya mengirim semuanya lagi. Jadi input setiap langkah bertambah, sementara output tetap kecil.
Contoh perhitungan#
Kondisi (asumsi — ganti dengan angka dari agen Anda):
- system prompt dan definisi tool: 6.000 token;
- setiap langkah menambahkan 1.500 token hasil tool dan 500 token output model ke riwayat;
- tugas memerlukan 30 langkah;
- model: DeepSeek-V4-Flash dengan $0.0221 per 1 juta token input dan $0.10 per 1 juta token output (harga saat ini).
Input langkah n adalah 6.000 + (n − 1) × 2.000 token. Selama 30 langkah:
- total input: 30 × 6.000 + 2.000 × (0 + 1 + … + 29) = 180.000 + 870.000 = 1.050.000 token;
- total output: 30 × 500 = 15.000 token;
- biaya: 1,05 × $0.0221 + 0,015 × $0.10 ≈ $0.0247 per tugas.
Input adalah 98,6% dari token dan hampir seluruh biaya. Seberapa besar input mendominasi bergantung pada skenario: jawaban panjang, file yang dihasilkan dan model reasoning menaikkan porsi output, sementara riwayat yang dipangkas dan output tool yang singkat menurunkan porsi input.
Tugas yang sama pada setiap model dengan harga saat ini, dengan harga referensi OpenRouter sebagai perbandingan:
| Model | Input $/1Jt | Output $/1Jt | Biaya | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.027 | $0.08 | $0.0296 | $0.0534 |
| DeepSeek-V4-Flash | $0.0221 | $0.10 | $0.0247 | $0.0264 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0548 | $0.333 |
Total 1.050.000 token input dan 15.000 token output. Harga per 1 juta token adalah harga saat ini dan berubah seiring tarif kami; kolom OpenRouter menunjukkan harga referensi untuk beban kerja yang sama.
Perkirakan dalam kode#
Perhitungan yang sama sebagai fungsi — ubah asumsi dan harganya:
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
"""Token totals and cost of one agent task. Prices: $ per 1M tokens."""
grow = tool_tokens + out_tokens # what each step adds to the history
total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
total_out = steps * out_tokens
cost = (total_in * price_in + total_out * price_out) / 1_000_000
return total_in, total_out, round(cost, 5)
# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)Perhatikan suku kuadratiknya: menggandakan jumlah langkah kira-kira melipatgandakan empat kali input. Sesi panjang menjadi mahal bukan karena satu langkah tertentu, tetapi karena setiap langkah membawa seluruh riwayat.
Ukur daripada menebak#
Setiap respons menyertakan usage. (input) dan usage. (output). Catat keduanya untuk setiap langkah tugas nyata, kalikan dengan tarif saat ini, dan Anda mendapatkan biaya sebenarnya. Dasbor juga menampilkan penggunaan per model dan per hari.
Tarif saat ini — data yang sama seperti di halaman harga:
| Model | Konteks | Input $/1Jt | Output $/1Jt | OpenRouter in | OpenRouter out |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning untuk sementara tidak tersedia | 390K | $0.027 | $0.08 | $0.048 | $0.20 |
| DeepSeek-V4-Flash untuk sementara tidak tersedia | 380K | $0.0221 | $0.10 | $0.016 | $0.64 |
| MiniMax-M2.7 untuk sementara tidak tersedia | 200K | $0.05 | $0.15 | $0.30 | $1.20 |
Harga dalam USD per 1 juta token. Angka OpenRouter ditampilkan sebagai perbandingan dan dapat berubah sewaktu-waktu.
Tujuh cara memangkas biaya#
- Mulai tugas baru untuk pekerjaan yang tidak terkait. Sesi baru tidak membawa riwayat sesi sebelumnya.
- Beri agen fragmen, bukan seluruh file. Sebuah fungsi dan pemanggilnya alih-alih modul 3.000 baris.
- Pangkas output tool. Log panjang dan output perintah tetap ada di riwayat selama sisa sesi — batasi, misalnya dengan
| tail -n 50. - Ringkas sesi panjang. Banyak agen dapat memadatkan riwayat; gunakan sebelum konteks menjadi panjang.
- Batasi panjang jawaban dengan
max_tokensdi tempat jawaban panjang tidak diperlukan. - Gunakan model yang tepat untuk langkah tersebut. Langkah rutin tidak memerlukan model reasoning.
- Jaga anggaran prabayar. Saldo bersifat prabayar: saat habis, permintaan berhenti dengan HTTP 402 alih-alih menumpuk tagihan tanpa batas.
Untuk melihat bagaimana beban kerja yang sama dibandingkan antar model dan dengan OpenRouter, gunakan perbandingan biaya di halaman utama.



