Caching Prompt API Claude: Panduan Kurangkan Kos Operasi LLM
Ketahui bagaimana ciri 'prompt caching' dari API Claude Anthropic boleh mengurangkan kos operasi anda sehingga 10x dan mempercepatkan maklum balas untuk aplikasi SaaS di Malaysia.
Apa itu Caching Prompt API Claude?
Dalam mana-mana aplikasi yang menggunakan Model Bahasa Besar (LLM) seperti Claude dari Anthropic, sebahagian besar kos datang daripada pemprosesan prompt input. Prompt ini selalunya mengandungi mesej sistem yang panjang, sejarah perbualan pengguna, atau dokumen rujukan yang tidak berubah antara interaksi. Menghantar data yang sama ini berulang kali adalah tidak cekap dan mahal.
Caching prompt API Claude adalah ciri yang ditawarkan oleh Anthropic untuk menyelesaikan masalah ini. Ia membenarkan API untuk menyimpan dan mengguna semula keadaan yang telah dikira dari sebahagian besar prompt anda yang statik. Apabila anda membuat panggilan API seterusnya dengan prompt yang sama, anda hanya perlu menghantar bahagian input baru yang berubah-ubah. API kemudiannya akan menggunakan keadaan yang tersimpan, memproses token baru sahaja, dan menjana respons. Ini menghasilkan kos yang jauh lebih rendah dan masa tindak balas yang lebih pantas.
Di JRV Systems, kami melihat ini sebagai ciri penjimatan kos yang paling berimpak untuk mana-mana aplikasi LLM gred produksi hari ini, terutamanya untuk sistem dengan tugasan berstruktur dan berulang.
Bagaimana Caching Berfungsi: TTL dan Titik Henti Cache
Memahami mekanik 'prompt caching' adalah kunci untuk menggunakannya dengan berkesan. Sistemnya mudah tetapi mempunyai peraturan yang spesifik.
Pertama, anda perlu mengaktifkan caching dengan memasukkan parameter "cache_control": {"type": "ephemeral"} dalam permintaan API anda. Apabila Claude menerimanya, ia akan menyimpan prompt tersebut ke dalam cache (khususnya, semua bahagian kecuali mesej terakhir pengguna). Entri cache ini diberikan 'Time-To-Live' (TTL) selama 24 jam, bermakna ia akan tersedia untuk diguna semula selama satu hari.
Untuk menggunakan prompt yang telah di-cache, panggilan API anda yang seterusnya mesti memenuhi dua syarat:
- Prefix yang Sama: Prompt sistem dan semua mesej, kecuali mesej terakhir pengguna, mesti sama persis dengan permintaan asal yang di-cache. Susunan dan kandungannya mesti sepadan setiap aksara.
- Model dan Versi: Permintaan mesti menggunakan versi model yang sama (cth.,
claude-3-5-sonnet-20240620).
Sebarang perubahan pada bahagian statik prompt—walaupun hanya satu ruang kosong—akan menyebabkan "cache miss" (cache tidak ditemui). API kemudiannya akan memproses semula keseluruhan prompt dan mencipta entri cache yang baru. Ini dikenali sebagai titik henti cache. Menguruskan titik henti ini dengan berkesan adalah penting untuk mengekalkan kadar 'cache hit' (cache ditemui) yang tinggi.
Contoh Dunia Sebenar: SaaS Malaysia dengan 50k Tiket Sokongan
Mari kita lihat satu senario praktikal. Bayangkan sebuah platform e-dagang di Malaysia yang menggunakan chatbot berkuasa Claude untuk mengendalikan 50,000 pertanyaan khidmat pelanggan setiap bulan. Untuk setiap pertanyaan, chatbot memerlukan konteks.
Prompt untuk setiap interaksi kelihatan seperti ini:
- Prompt Sistem: Arahan terperinci tentang cara bertindak, polisi pemulangan syarikat, dan maklumat produk. (6,000 token)
- Sejarah Sembang Pengguna: Beberapa mesej terakhir daripada perbualan semasa. (2,000 token)
- Soalan Baru Pengguna: Pertanyaan sebenar yang baru daripada pelanggan. (cth., "Di mana pesanan saya #MY12345?") (50 token)
Tanpa caching, aplikasi perlu menghantar kesemua 8,050 token ini ke API Claude setiap kali. Model kemudiannya akan menjana respons, katakan secara purata 400 token.
Dengan caching prompt API Claude, blok 8,000 token (Prompt Sistem + Sejarah Sembang) akan di-cache pada permintaan pertama. Untuk semua mesej seterusnya dalam perbualan yang sama, aplikasi hanya perlu menghantar soalan baru pengguna sebanyak 50 token. API akan mendapatkan semula konteks 8,000 token dari cachenya, memproses 50 token baru, dan menjana respons.
Mengira Penjimatan Kos
Kesan kewangannya sangat besar. Mari kita gunakan harga untuk Claude 3.5 Sonnet (setakat pertengahan 2024):
- Input Standard: $3.00 per juta token
- Output Standard: $15.00 per juta token
- Input Cache (Cache Hit): $1.50 per juta token (50% lebih murah)
Mari kita kira kos untuk satu pertanyaan sokongan, dengan andaian 'cache hit'.
Kos Tanpa Caching:
- Kos input: (8,050 token / 1,000,000) * $3.00 = $0.02415
- Kos output: (400 token / 1,000,000) * $15.00 = $0.00600
- Jumlah setiap pertanyaan: $0.03015
Kos Dengan Caching:
- Kos prompt cache: (8,000 token / 1,000,000) * $1.50 = $0.01200
- Kos input baru: (50 token / 1,000,000) * $3.00 = $0.00015
- Kos output: (400 token / 1,000,000) * $15.00 = $0.00600
- Jumlah setiap pertanyaan: $0.01815
Ini adalah pengurangan kos sebanyak 40% bagi setiap pertanyaan. Untuk 50,000 pertanyaan sebulan, dengan andaian kadar 'cache hit' yang tinggi untuk setiap perbualan, penjimatan menjadi sangat ketara:
- Kos Bulanan (Tanpa Cache): 50,000 * $0.03015 = $1,507.50
- Kos Bulanan (Dengan Cache): 50,000 * $0.01815 = $907.50
Ini adalah penjimatan sebanyak $600 USD (sekitar RM2,800) setiap bulan. Latensi juga bertambah baik kerana model mempunyai data yang jauh lebih sedikit untuk diproses pada setiap giliran.
Bila Caching Paling Berkesan
'Prompt caching' bukanlah penyelesaian universal, tetapi ia sangat berkesan dalam kes penggunaan tertentu yang biasa kami temui dalam produk SaaS yang kami bina untuk klien kami di Malaysia.
- Chatbot & Ejen Perbualan: Apabila sejarah perbualan yang panjang atau prompt sistem perlu dikekalkan.
- RAG (Retrieval-Augmented Generation): Apabila membuat pertanyaan pada dokumen, cebisan teks yang diambil boleh di-cache sebagai sebahagian daripada prompt, dan hanya soalan pengguna yang berubah.
- Alat Penjanaan Kod: Fail kod di sekeliling dan konteks projek boleh di-cache.
- Analisis Data Berstruktur: Alat yang berulang kali menganalisis data berdasarkan satu set arahan atau skema yang tetap.
Pada dasarnya, mana-mana aplikasi di mana sebahagian besar prompt adalah statik dan sebahagian kecil adalah dinamik adalah calon utama untuk 'caching prompt API Claude'. Ia adalah perubahan mudah di bahagian pelayan yang tidak memerlukan kejuruteraan rumit tetapi memberikan pulangan yang segera dan boleh diukur pada perbelanjaan operasi AI anda.