Agent Token Budget Controller

Easy
Agents

Token Budget Control

LLM API calls cost money. Agents must track and control token usage.

Task

Build TokenBudgetController that:

  1. Tracks token usage across labeled operations.
  2. Returns False from consume() if budget would be exceeded.
  3. Provides a usage report broken down by label.
  4. Can be reset for new tasks.

Constraints

  • Never go over budget (reject requests that would exceed it).
  • Track per-label totals in report().
  • Default label: 'unlabeled'.

Examples

Example 1:
Input: ctrl = TokenBudgetController(100) ctrl.consume(40, 'prompt') ctrl.consume(40, 'response') ctrl.consume(30, 'tool')
Output: False (third consume rejected)
Explanation: 40+40=80 used; 30 more would exceed 100.

Starter Code

from typing import Optional

class TokenBudgetController:
    def __init__(self, max_tokens: int):
        self.max_tokens = max_tokens
        self.used_tokens = 0
        self.history = []

    def consume(self, tokens: int, label: str = '') -> bool:
        # TODO: Deduct tokens, return False if budget exceeded
        pass

    def remaining(self) -> int:
        pass

    def reset(self) -> None:
        pass

    def report(self) -> dict:
        # TODO: Return usage breakdown by label
        pass
Lines: 1Characters: 0
Ready
The AI Interview - Master AI/ML Interviews