Допуск через кошик токенів
Визначте допуск кошиком токенів за явно переданим часом і поверніть наступний стан.
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| Проєкт | Перевірте точне вичерпання й обмежене поповнення, відхиляючи зворотний час, хибну вартість та нескінченні значення. |
|---|---|
| Перевірте перед застосуванням | Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами. |
| Моделі | Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані. |
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Опишіть перехід стану перед зміною правил
TokenCoppice — середовище програмування для Windows, де можна досліджувати код застосунку зі станом за допомогою моделі ШІ. Почніть із запису стану перед операцією та очікуваного результату після неї. Це дає розмові спостережуваний контракт і полегшує визначення, чи зміна виправляє правила, чи лише переставляє арифметичні операції.
Функція допуску за алгоритмом кошика токенів — один із прикладів завдання. Додайте до обговорення поточні правила місткості, поповнення й вартості запиту, а потім попросіть помічника перевірити стан, повернутий після приймання чи відхилення. Приклад допомагає організувати перевірку коду; експлуатація служби обмеження частоти залишається відповідальністю застосунку та інфраструктури.
Перевірте запропонований перехід з увагою до припущень про час і стану, збереженого для наступного запиту. Протестуйте межі, наприклад баланс, точно рівний вартості, та запит без проміжку часу. Виконайте ці перевірки у власному проєкті й вивчіть код виклику, перш ніж припускати, що локально правильна функція визначає поведінку паралельних запитів.
Можна вибрати моделі, описані як моделі без фільтрів, через підтримувану OpenAI-сумісну кінцеву точку або кінцеву точку Anthropic, яка їх пропонує. Налаштуйте потрібні облікові дані й перевірте доступні інструменти та контекст. Поведінка й обмеження моделі кінцевої точки все одно діють, а ваші критерії приймання спираються на заявлені правила застосунку та результати тестів.
Питання щодо зміни правил зі станом
Що має містити запит про правила допуску?
Надайте початковий стан, вартість запиту, часові значення й очікуване рішення. Вкажіть, які оновлені значення треба зберегти після цього. Так помічник може міркувати про повний перехід замість вгадування правил з одного арифметичного виразу.
Чи гарантує правильна допоміжна функція обмеження частоти за паралельних запитів?
Ні. Вивчіть, як застосунок читає й записує спільний стан і які гарантії паралельного доступу надає сховище. Ізольовано перевірена функція не доводить, що одночасні запити не можуть витратити той самий доступний баланс.
Як відхилені запити мають впливати на збережений стан?
Явно визначте це у своїх правилах, включно з поповненням за минулий час і оновленням часової позначки. Попросіть модель пояснити перехід і протестуйте послідовні запити, адже нібито нешкідливий відхилений виклик може вплинути на наступне рішення.
Чи можна експериментувати без зміни чинних правил допуску?
Використовуйте тестові дані й примірник застосунку для розробки, щоб порівнювати переходи перед застосуванням зміни правил. TokenCoppice підтримує обговорення коду; рішення про перевірку й впровадження залишаються у межах наявного процесу проєкту.
TokenCoppice · Оновлено 2026-10-25