Control de costes: recuento de tokens y presupuestos
Cuente tokens con tiktoken, estime el coste antes de enviar la solicitud y aplique presupuestos por solicitud y por día.
Control de costes: recuento de tokens y presupuestos es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.
Por qué es importante contar los tokens
Se paga por token. Un bucle descontrolado de un agente sin presupuesto de tokens puede gastar cientos de dólares en cuestión de minutos.
Contar tokens es el hábito de control de costes más importante.
¿Qué es un token?
Un token es un fragmento de texto que procesa el modelo. Estas son reglas prácticas aproximadas para el inglés:
- 1 token ~ 4 caracteres
- 1 token ~ 0,75 palabras
- 100 tokens ~ 75 palabras
El código, los emojis y el texto que no está en inglés utilizan más tokens por carácter.
Contar tokens con tiktoken (OpenAI)
OpenAI incluye un tokenizador exacto:
# pip install tiktoken
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
tokens = enc.encode('Hello, world!')
print(len(tokens)) # 4
print(tokens) # [9906, 11, 1917, 0]Contar tokens en los mensajes
El recuento completo incluye la sobrecarga de la estructura de los mensajes:
def count_message_tokens(messages, model='gpt-4o-mini'):
enc = tiktoken.encoding_for_model(model)
total = 0
for m in messages:
total += 4 # role + structural
total += len(enc.encode(m['content']))
return total + 2 # primingContar tokens con Anthropic
Anthropic ofrece un endpoint de recuento en el servidor:
count = client.messages.count_tokens(
model='claude-sonnet-4-5',
system='You are helpful.',
messages=[{'role': 'user', 'content': 'Hello'}],
)
print(count.input_tokens)Estimar el coste antes de enviar
Multiplique el recuento de tokens por el precio por token (de la página de precios del proveedor):
INPUT_PRICE = 0.150 / 1_000_000 # gpt-4o-mini: $0.15 / 1M input tokens
OUTPUT_PRICE = 0.600 / 1_000_000
input_tokens = count_message_tokens(messages)
est_input_cost = input_tokens * INPUT_PRICE
print(f'Estimated input cost: ${est_input_cost:.6f}')Registrar el coste real
Después de cada llamada, sume el uso:
total_cost = 0
response = client.chat.completions.create(...)
cost = (
response.usage.prompt_tokens * INPUT_PRICE +
response.usage.completion_tokens * OUTPUT_PRICE
)
total_cost += costPresupuestos por ejecución
Establezca un límite estricto para cada ejecución del agente:
MAX_COST_PER_RUN = 0.50 # USD
if total_cost > MAX_COST_PER_RUN:
raise BudgetExceeded(f'Cost {total_cost} exceeds limit')Presupuestos diarios por usuario
Registre el coste por usuario en Redis y restablézcalo cada día:
key = f'cost:{user_id}:{today_date}'
current = float(redis.get(key) or 0)
if current + cost > 5.0:
raise QuotaExceeded()
redis.incrbyfloat(key, cost)
redis.expireat(key, midnight_tomorrow_ts)Limitar max_tokens por llamada
La mayor fuente de costes accidentales es generar una respuesta de 50.000 tokens. Establezca un límite:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
max_tokens=2048, # never more than 2k output
)Límite de pasos para agentes
Combine los límites de tokens con un límite de pasos (máximo de iteraciones):
MAX_STEPS = 20
for step in range(MAX_STEPS):
response = run_step(...)
if response.is_final():
break
else:
raise StepLimitExceeded()Límite de tokens de salida
¿Por qué debe establecer max_tokens explícitamente?
Repaso
Recuento de tokens, max_tokens máximo por llamada, presupuestos por ejecución, cuotas por usuario y límites de pasos. Combine los cinco para operar de forma segura en producción.
Aprende AI Agents con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 60
- Lecciones
- 239
Preguntas frecuentes
¿La lección «Control de costes: recuento de tokens y presupuestos» es gratis?
Sí — el texto completo de «Control de costes: recuento de tokens y presupuestos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.
¿Qué aprenderé en «Control de costes: recuento de tokens y presupuestos»?
Cuente tokens con tiktoken, estime el coste antes de enviar la solicitud y aplique presupuestos por solicitud y por día. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Agents?
No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Control de costes: recuento de tokens y presupuestos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Agents?
Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Llamar a la API de OpenAI: chat.completions
- Llamar a la API de Anthropic: messages
- Respuestas en streaming (SSE)
- Control de costes: recuento de tokens y presupuestos