¿Cuántos tokens tiene mi prompt?

Por qué 1.000 palabras nunca son 1.000 tokens, y qué significa eso para los límites de contexto y el coste.

Los tokens son fragmentos de palabras, así que los recuentos nunca coinciden con el número de palabras. En inglés corriente, un token equivale de media a unos cuatro o cinco caracteres, así que 1.000 palabras son entre 1.050 y 1.350 tokens, según lo técnico que sea el texto. El código, los alfabetos no latinos y las palabras poco comunes consumen más tokens por carácter, a veces varias veces más.

Qué es realmente un token

Los modelos de lenguaje no leen caracteres ni palabras. Leen tokens: fragmentos que se obtienen al dividir el texto según un vocabulario fijo aprendido de los datos de entrenamiento.

Las palabras frecuentes suelen ser un solo token. Las palabras raras se dividen en piezas. Los espacios en blanco suelen adjuntarse al principio del token siguiente, por lo que la misma palabra puede contar de forma distinta según empiece o no una frase.

Medido con el tokenizador de GPT-4o, la palabra unbelievable por sí sola son tres tokens: un + bel + ievable. Escrita tal como aparece de verdad dentro de una frase, con su espacio delante, es un único token: unbelievable. Ahí está actuando la regla del espacio inicial: la entrada que aprendió el modelo es la forma con espacio delante, porque así es como la palabra aparece casi siempre en el texto corrido. the e international se comportan igual, un token cada una con el espacio incluido.

Por eso los recuentos de tokens parecen impredecibles. La unidad no es lingüística, es estadística. La frecuencia en el corpus de entrenamiento determina si algo es un token o cuatro.

UNA FRASE, SIETE TOKENSUnbelievableresultsforthequarter
Los tokens son fragmentos de palabra, así que el número de caracteres y el de tokens rara vez coinciden.

36 caracteres · 7 tokens · unos 5,1 caracteres por token

Una regla aproximada para el inglés: 1 token ≈ 4 caracteres ≈ 0,75 palabras.

El código, los alfabetos no latinos y las palabras poco comunes usan más tokens por carácter.

Reglas aproximadas que sí funcionan

Para texto corriente en inglés, medido con el tokenizador de GPT-4o en registros que van de la escritura conversacional a la documentación técnica:

  • 1 token ≈ 4,3–5,9 caracteres
  • 1 token ≈ 0,75–0,95 palabras
  • 1.000 palabras ≈ 1.050–1.350 tokens
  • Una página estándar (~500 palabras) ≈ 530–680 tokens

El registro importa más de lo que admiten casi todas las reglas aproximadas. La escritura informal y conversacional se sitúa cerca del extremo inferior de ese rango, en torno a 1.060 tokens por cada mil palabras, porque reutiliza un vocabulario reducido de palabras frecuentes que caben en un solo token cada una. La prosa técnica densa —incluidas las guías de este mismo sitio— se sitúa cerca del extremo superior, en torno a 1.310, porque los términos especializados se parten en piezas. La cifra única de toda la vida, 1.300 tokens por cada mil palabras, es el extremo técnico del rango, no el punto medio, así que sobrestima la escritura corriente en torno a una quinta parte. Y esa es la dirección segura en la que equivocarse cuando estás calculando el presupuesto de una ventana de contexto.

Estas reglas dejan de valer rápidamente fuera del texto corriente:

Tipo de contenido Aproximadamente
Texto en inglés 0,75–0,95 palabras por token, según el registro
Código Alrededor de 1,2× los tokens del texto corriente por carácter, y unas 1,5× para la misma idea expresada de ambas formas
JSON con claves largas Muy alto: la puntuación y las comillas son tokens aparte
Chino, japonés, coreano Unos 0,6–0,7 tokens por carácter: menos de un token cada uno, pero varias veces lo que gasta el inglés para ese mismo número de caracteres
Cirílico, devanagari, árabe Alrededor de 1,4–1,6× el inglés para el mismo texto
URL y hashes Extremadamente alto: las cadenas aleatorias se tokenizan mal
Espacios repetidos Baratos, no caros: la codificación por pares de bytes fusiona las secuencias largas, así que cuarenta espacios seguidos son un solo token

La brecha multilingüe es real, pero mucho menor de lo que cuenta el folclore. Medida sobre las páginas en inglés de este mismo sitio frente a sus traducciones profesionales, la versión japonesa cuesta alrededor de 1,7× la inglesa; la coreana, unas 1,5×; la china, unas 1,2×; la hindi, unas 1,6×, y la árabe, unas 1,4×. Con el tokenizador anterior, cl100k_base, esos mismos pares daban 2,3×, 2,3×, 1,7×, 4,7× y 2,9×, que es de donde salió la cifra tan repetida de «dos o tres veces el inglés». Entonces era cierta; los vocabularios nuevos la han dejado casi sin base.

Por qué el recuento varía entre modelos

Cada familia de modelos usa su propio tokenizador con su propio vocabulario, así que el mismo texto produce recuentos distintos.

Los modelos GPT usan variantes de codificación por pares de bytes: cl100k_base para los modelos de la época de GPT-4 y o200k_base para los más recientes. Claude usa un tokenizador distinto con un vocabulario diferente. Los modelos abiertos como Llama y Mistral tienen, a su vez, los suyos propios.

Donde más divergen los vocabularios es en el código y en el texto en idiomas distintos del inglés, así que ahí es también donde más divergen los recuentos.

En la práctica, esto significa:

  • Un recuento de un tokenizador es una estimación para cualquier otro modelo.
  • Solo el tokenizador del propio proveedor da un número exacto para su facturación.
  • Presupuesta con margen en lugar de ajustarte exactamente a un límite.

Nuestro Contador de tokens muestra un recuento para GPT-4o y una estimación para Claude lado a lado. La cifra de GPT-4o es un recuento real del tokenizador. La de Claude, deliberadamente, no lo es: Anthropic no publica ningún tokenizador que podamos ejecutar en tu navegador, así que se trata de una estimación basada en caracteres, a razón de un token por cada 3,5 caracteres. En texto corriente en inglés, esa estimación queda entre un 22 y un 50 % por encima del recuento de GPT-4o —alrededor de un tercio en la escritura habitual—, así que lee esa diferencia como el margen de una estimación, no como una diferencia medida entre ambas familias de modelos. Aun así, el par basta para saber si un prompt está cómodamente dentro de un límite o incómodamente cerca de él; cuando el número tiene que ser exacto, usa el contador del propio proveedor.

Por qué importa el número

Coste. El precio de las API es por token, con la entrada y la salida tarifadas por separado, y la salida suele costar varias veces más. Duplicar un prompt de sistema duplica ese coste en cada llamada: algo invisible en las pruebas y caro a gran escala.

Límites de contexto. La ventana lo abarca todo: el prompt de sistema, el historial de la conversación, los documentos recuperados, el mensaje actual y el espacio reservado para la respuesta. Los chats largos fallan no porque un mensaje concreto sea largo, sino porque el historial se acumula.

Truncamiento. Cuando la entrada supera el límite, algo se descarta, a menudo en silencio y a menudo el contenido más antiguo. Un modelo que «olvidó» tus instrucciones con frecuencia simplemente las perdió por truncamiento.

Fragmentación para recuperación. Dividir documentos para generar embeddings se hace en tokens, no en caracteres. Los fragmentos dimensionados por número de caracteres quedan inconsistentes, y los que cortan una frase por la mitad se recuperan mal, así que una canalización de recuperación necesita un divisor que respete la estructura de frases y párrafos. Nuestro Dividir texto en fragmentos no es esa herramienta: corta fragmentos de tamaño fijo de hasta 2.000 caracteres, partiendo por el espacio en blanco más cercano para que ninguna palabra quede cortada por la mitad, lo que significa que un fragmento sí puede terminar a mitad de frase. Úsalo para hacer pasar un documento largo por una ventana de contexto o por un límite de pegado, no para generar fragmentos de embeddings destinados a recuperación.

Reducir el recuento sin perder significado

Las reducciones con más impacto, aproximadamente en este orden:

  1. Recorta el historial de la conversación. En un chat largo, eclipsa todo lo demás. Resume los turnos antiguos en lugar de reenviarlos literalmente.
  2. Elimina instrucciones redundantes. Repetir una regla de tres maneras no hace que se cumpla tres veces más. Lo que sí hace es triplicar el coste de esa regla.
  3. Quita los artefactos de formato. Los caracteres invisibles, los espacios repetidos y las líneas decorativas de separación también se tokenizan. Por separado salen más baratos de lo que la gente supone, porque la codificación por pares de bytes fusiona las secuencias largas: cuarenta espacios seguidos son un token, y una línea de separación de cuarenta guiones son dos, frente a los trece de la frase que tiene encima. Aun así son puro sobrecoste, y en un documento con una raya entre cada sección acaban sumando. Eliminar caracteres invisibles limpia los que no puedes ver.
  4. Acorta las claves JSON en los prompts estructurados. {"n": ...} frente a {"customer_full_name": ...}, multiplicado por mil registros, supone una gran diferencia.
  5. Envía solo los fragmentos relevantes. Recuperar tres párrafos pertinentes es mejor que pegar un documento entero, y suele producir respuestas mejores además de más baratas.

Lo que no ayuda: quitar la puntuación normal, borrar artículos o escribir en un estilo telegráfico entrecortado. El ahorro es marginal y el daño a la calidad del resultado no lo es.

Preguntas frecuentes

¿Cuántos tokens son 1.000 palabras?

Entre unos 1.050 y 1.350 tokens, medido con el tokenizador de GPT-4o. La escritura conversacional se queda cerca de 1.060 porque reutiliza palabras frecuentes que ocupan un solo token; la prosa técnica densa llega cerca de 1.310. El código y el JSON consumen más. El chino, el japonés y el coreano usan unos 0,6 a 0,7 tokens por carácter: menos tokens que caracteres, pero varias veces lo que gasta el inglés para ese mismo número de caracteres.

¿Por qué el recuento de tokens es distinto en GPT y en Claude?

Cada familia de modelos usa su propio tokenizador con un vocabulario aprendido diferente, así que el mismo texto se divide de forma distinta, y la diferencia es mayor en el código y en los idiomas distintos del inglés. Ten en cuenta además que la cifra de Claude de nuestro Contador de tokens es una estimación basada en caracteres, a razón de un token por cada 3,5 caracteres, y no un recuento real del tokenizador; por eso queda alrededor de un tercio por encima del recuento de GPT-4o en texto corriente en inglés.

¿Qué es un token en un modelo de IA?

Un fragmento de texto del vocabulario fijo del modelo. Las palabras frecuentes suelen ser un solo token, mientras que las raras se dividen en varias piezas, de modo que «unbelievable» se convierte en tres tokens mientras que «international» es solo uno.

¿Los espacios y la puntuación cuentan como tokens?

Sí. Los espacios en blanco se adjuntan normalmente al principio del token siguiente, y la puntuación es con frecuencia un token propio. Las secuencias largas son la excepción: la codificación por pares de bytes las fusiona, así que cuarenta espacios seguidos son un único token y una línea de separación de cuarenta guiones son dos.

¿Cómo puedo reducir mi consumo de tokens?

Recorta primero el historial acumulado de la conversación: en los chats largos domina todo lo demás. Después elimina las instrucciones duplicadas, quita los caracteres invisibles y los espacios repetidos, acorta las claves JSON y envía solo el fragmento relevante de un documento en lugar del documento completo.

Herramientas mencionadas en esta guía

Guías relacionadas