> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Tokens

> Entiende qué son los tokens, cómo influyen en el consumo de IA y cómo optimizar prompts y flujos en Brain Studio.

Los tokens son la **unidad de "combustible"** que usa un modelo para procesar texto. Cada mensaje que entra, cada instrucción del agente, cada variable que incluyes como contexto y cada respuesta que sale se mide (internamente) en tokens.

Piénsalo como gasolina: si tu flujo "pesa" más o viaja más lejos, **tiende** a consumir más.

> Nota: entender tokens te ayuda a diseñar agentes más rápidos, estables y baratos de operar a escala.\
> Ver: [Precios](/guides/billing/precios)

## Qué es un token

Un token es una unidad de texto que el modelo procesa. No equivale 1:1 a "una palabra": puede ser una palabra completa o un fragmento.

En una ejecución típica, consumes tokens por:

* **Entrada**: el mensaje del usuario + la **instrucción** del agente + el contexto que inyectas.
* **Salida**: la respuesta del modelo.
* **Herramientas y nodos**: por ejemplo, cuando un nodo trae datos (como un JSON) y esos datos se usan como contexto.

## La regla mental: tokens = gasolina

### 1) Más peso, más consumo

Si tu agente carga demasiadas instrucciones, ejemplos, reglas redundantes o datos innecesarios, el prompt "pesa" más.

**Causas comunes:**

* Escribes instrucciones largas o repetidas.
* Incluyes demasiado historial o haces "copypaste" de información en el contexto.
* Recibes respuestas de herramientas con payloads grandes.

Guías relacionadas:

* [Prompting](/guides/agentes-ia/prompting)
* [Guía general (Agentes IA)](/guides/agentes-ia/index)

### 2) Mientras más lejos viajas, más gastas

Las conversaciones con muchos turnos tienden a acumular contexto útil… y a veces también ruido.

Si tu flujo depende de historial largo, considera:

* Resumir o normalizar información clave.
* Guardar solo lo que necesitas para el siguiente paso (no todo el chat).

Guías relacionadas:

* [Variables - Guía rápida](/guides/variables/guia-rapida)
* [Memory](/guides/variables/memory)
* [Contexto](/guides/variables/context)

### 3) El modelo también importa

Los modelos más "grandes" o con más capacidades suelen ser más costosos de ejecutar. En general:

* Usa un modelo especializado o liviano para tareas simples (routing, validaciones, extracción).
* Reserva un modelo más capaz para razonamiento complejo o generación más rica.

## Qué suele disparar el consumo en un flujo

* **Prompts extensos** (sobre todo si incluyes texto repetido).
* **Integraciones/API** que retornan demasiado contenido (catálogos enormes, logs, JSONs sin filtrar).
* **Variables persistidas sin criterio** que vuelves a incluir en cada paso.
* **Respuestas largas** cuando el usuario solo necesita una salida corta/estructurada.

Relacionado:

* [Nodo API](/guides/nodos/api)
* [Nodo Variable](/guides/nodos/variable)
* [AI Task](/guides/nodos/ai-task)

## Señales de alerta

Si notas alguno de estos síntomas, probablemente estés consumiendo más tokens de los necesarios:

| Síntoma                         | Causa probable               | Solución                                   |
| ------------------------------- | ---------------------------- | ------------------------------------------ |
| Latencia alta (>5s)             | Contexto muy grande          | Reduce historial, filtra datos             |
| Respuestas cortadas             | Límite de salida alcanzado   | Pide respuestas más cortas o estructuradas |
| Error "context length exceeded" | Entrada supera el límite     | Reduce instrucciones o contexto            |
| Respuestas inconsistentes       | Demasiado ruido en el prompt | Limpia y prioriza información relevante    |
| Costos inesperados              | Tokens de herramientas/API   | Filtra respuestas de integraciones         |

## Ejemplo: antes vs después

<Tabs>
  <Tab title="Antes (pesado)">
    ```text theme={null}
    Eres un asistente virtual de atención al cliente para la empresa 
    XYZ Corporation S.A. de C.V. que fue fundada en 1985 y tiene 
    presencia en 15 países de Latinoamérica. Tu objetivo principal 
    es ayudar a los clientes con sus consultas de manera amable, 
    profesional y eficiente. Siempre debes ser cortés y empático.
    Recuerda que el cliente siempre tiene la razón y debes tratarlo
    con respeto. Si no sabes algo, admítelo honestamente.

    Aquí está el historial completo de la conversación:
    [500 líneas de chat previo]

    Aquí está el catálogo completo de productos:
    [2000 productos con todos sus atributos]

    Responde al cliente de forma detallada y completa.
    ```

    **Problema**: \~15,000+ tokens solo de entrada.
  </Tab>

  <Tab title="Después (optimizado)">
    ```text theme={null}
    Asistente de soporte de XYZ. Responde en español, máximo 2 párrafos.

    Contexto del cliente:
    - Nombre: {{memory.nombre}}
    - Último pedido: {{memory.ultimo_pedido}}

    Productos relevantes (filtrados):
    {{context.productos_filtrados}}

    Pregunta: {{input.message}}
    ```

    **Resultado**: \~200-400 tokens. Mismo resultado, 50x más eficiente.
  </Tab>
</Tabs>

<Tip>
  Usa el [Tokenizer de OpenAI](https://platform.openai.com/tokenizer) para analizar tus prompts y encontrar oportunidades de optimización.
</Tip>

## Buenas prácticas para optimizar (sin perder calidad)

### Haz prompts "delgados"

Un buen prompt suele ser:

* Breve
* Con reglas claras
* Sin ejemplos innecesarios
* Con formato de salida explícito (si aplica)

Empieza por acá:

* [Prompting](/guides/agentes-ia/prompting)

### Decide dónde vive cada dato: Context vs Memory

No todo debe persistir.

* **Context**: vive solo durante la ejecución actual. Úsalo para cálculos temporales y pasos intermedios.\
  Ver: [Contexto](/guides/variables/context)
* **Memory**: persiste entre conversaciones/skills con control de tiempo de vida (TTL). Úsalo para datos que realmente reutilizas (por ejemplo, preferencias o identificadores).\
  Ver: [Memory](/guides/variables/memory)

### Limita la información que traes de herramientas

Si usas API, filtra desde origen:

* Pide solo los campos necesarios.
* Pagina resultados.
* Evita traer blobs o catálogos completos "por si acaso".

Relacionado:

* [Nodo API](/guides/nodos/api)

## Tokens y facturación en Jelou

Conoce más sobre costos en:

* [Cómo funciona](/guides/billing/introduccion)
* [Precios](/guides/billing/precios)
* [Devoluciones y reintentos](/guides/billing/reembolsos)

Aunque no pagues "por token" directamente en todos los casos, optimizar tokens sigue siendo valioso porque reduces fricción operativa: latencia, ruido en contexto, respuestas inconsistentes y costo total de infraestructura cuando escalas.

## Idea guía

Cada token debería tener trabajo real que hacer.

Tokens decorativos = gasolina evaporándose.
