Penerimaan dengan ember token
Tentukan penerimaan ember token dari waktu eksplisit dan kembalikan keadaan berikutnya.
from math import isfinite
def admit(tokens, last, now, capacity, rate, cost):
values = (tokens, last, now, capacity, rate, cost)
if not all(type(x) in (int, float) and isfinite(x) for x in values):
raise ValueError("finite numbers required")
if not (capacity > 0 and rate > 0 and 0 < cost <= capacity
and 0 <= tokens <= capacity and now >= last):
raise ValueError("invalid bucket state")
refill = min(capacity, tokens + (now - last) * rate)
allowed = refill >= cost
return (refill - cost if allowed else refill, now), allowed| Proyek | Periksa habis tepat dan pengisian berbatas, lalu tolak waktu mundur, biaya tidak valid dan nilai tidak hingga. |
|---|---|
| Tinjau sebelum menerapkan | Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain. |
| Model | Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah. |
from math import isfinite
def admit(tokens, last, now, capacity, rate, cost):
values = (tokens, last, now, capacity, rate, cost)
if not all(type(x) in (int, float) and isfinite(x) for x in values):
raise ValueError("finite numbers required")
if not (capacity > 0 and rate > 0 and 0 < cost <= capacity
and 0 <= tokens <= capacity and now >= last):
raise ValueError("invalid bucket state")
refill = min(capacity, tokens + (now - last) * rate)
allowed = refill >= cost
return (refill - cost if allowed else refill, now), allowedJelaskan transisi status sebelum mengubah kebijakan
TokenCoppice adalah ruang kerja pemrograman Windows untuk memeriksa kode aplikasi berstatus bersama model AI. Mulailah dengan mencatat status sebelum operasi dan hasil yang diharapkan setelahnya. Ini memberi percakapan kontrak yang dapat diamati dan mempermudah penilaian apakah perubahan usulan menangani kebijakan atau sekadar menyusun ulang aritmetikanya.
Fungsi penerimaan token bucket menyediakan satu contoh tugas. Bawa aturan kapasitas, pengisian ulang, dan biaya permintaan saat ini ke diskusi, lalu minta asisten memeriksa status hasil setelah penerimaan atau penolakan. Contoh ini membantu membingkai peninjauan kode; pengoperasian layanan pembatasan laju tetap menjadi tanggung jawab aplikasi dan infrastruktur Anda.
Tinjau transisi usulan dengan memperhatikan asumsi waktu serta status yang disimpan untuk permintaan berikutnya. Uji batas seperti saldo persis sebesar biaya dan permintaan yang tiba tanpa selang waktu. Jalankan pemeriksaan itu dalam proyek Anda sendiri dan periksa pemanggil sebelum menganggap fungsi bantu yang benar secara lokal membuktikan perilaku pada permintaan serentak.
Anda dapat memilih model yang disebut tanpa filter melalui endpoint kompatibel OpenAI atau Anthropic yang didukung dan menawarkannya. Konfigurasikan kredensial yang diperlukan dan verifikasi alat serta konteks yang tersedia. Perilaku dan batas model endpoint tetap berlaku, sementara kriteria penerimaan Anda tetap didasarkan pada kebijakan aplikasi yang dinyatakan dan hasil pengujian.
Pertanyaan untuk perubahan kebijakan berstatus
Apa yang perlu disertakan dalam permintaan kebijakan penerimaan?
Berikan status awal, biaya permintaan, nilai waktu, dan keputusan yang diharapkan. Nyatakan nilai terbaru mana yang harus disimpan sesudahnya. Ini memungkinkan asisten menalar transisi lengkap, bukan menebak kebijakan dari satu ekspresi aritmetika.
Apakah fungsi bantu yang benar menjamin pembatasan laju serentak?
Tidak. Periksa bagaimana aplikasi membaca dan menulis status bersama serta jaminan konkurensi yang disediakan penyimpanan itu. Fungsi bantu yang diuji terpisah tidak membuktikan permintaan serentak tidak dapat memakai saldo tersedia yang sama.
Bagaimana permintaan yang ditolak seharusnya memengaruhi status tersimpan?
Tentukan secara eksplisit untuk kebijakan Anda, termasuk pengisian ulang berdasarkan waktu berlalu dan pembaruan cap waktu. Minta model menjelaskan transisi usulan dan uji permintaan berurutan, karena panggilan yang ditolak dan tampak sepele dapat memengaruhi keputusan berikutnya.
Bisakah saya bereksperimen tanpa mengubah aturan penerimaan aktif?
Gunakan data uji dan instans pengembangan aplikasi untuk membandingkan transisi sebelum menerapkan perubahan kebijakan. TokenCoppice mendukung diskusi pemrograman; keputusan peninjauan dan peluncuran operasional tetap mengikuti proses proyek yang ada.
TokenCoppice · Diperbarui 2026-10-25