Почему контроль бюджета важен
ИИ-агент, вызывающий платные API в цикле, может быстро накопить значительные расходы. Контроль бюджета позволяет:- Ограничить общие расходы за сессию
- Установить лимиты по доменам (например, не более 100 sats/сессию на
api.weather.com) - Получать обратный вызов перед каждым платежом
- Получить полный отчёт о расходах в любое время
Глобальный бюджет
- TypeScript
- Python
priceSats и его значение превышает оставшийся бюджет, клиент выбрасывает BudgetExceededError до совершения платежа — никакие satoshi не тратятся.
Бюджет по доменам
- TypeScript
- Python
Обратные вызовы
- TypeScript
- Python
onBudgetExceeded / on_budget_exceeded вызывается непосредственно перед выбросом BudgetExceededError — удобно для логирования или оповещений.
Отчёт о расходах
- TypeScript
- Python
spendingReport() возвращает null / None, если бюджет не настроен.
Обработка BudgetExceededError
- TypeScript
- Python
Замечания о параллельном выполнении
Полный справочник параметров
| Параметр | TypeScript | Python | По умолчанию | Описание |
|---|---|---|---|---|
| Глобальный бюджет | budgetSats | budget_sats | без ограничений | Максимум sats за сессию |
| По доменам | budgetPerDomain | budget_per_domain | {} | Карта домен → максимум sats |
| Хук расхода | onSpend | on_spend | — | Вызывается после каждого платежа |
| Хук превышения | onBudgetExceeded | on_budget_exceeded | — | Вызывается перед выбросом исключения |