Por Luis Méndez
Junio 2026
Lee el artículo completo: Leeuwwolk Blog · Medium
Medir el sobrecosto en tokens que el texto legal en español incurre comparado con texto semánticamente equivalente en inglés, a través de 8 modelos de lenguaje con diferentes arquitecturas de tokenizador.
| Modelo | Tipo de tokenizer | Vocabulario | Método de prueba | Baseline |
|---|---|---|---|---|
| GPT-4 (cl100k_base) | BPE | ~100K | Offline (gpt-tokenizer npm) | No necesario |
| GPT-4o (o200k_base) | BPE | ~200K | Offline (gpt-tokenizer npm) | No necesario |
| Llama 2 | SentencePiece BPE | 32K | Offline (llama-tokenizer-js npm) | No necesario |
| Qwen 3.5 9B | BPE | ~150K | Offline (tokkit-qwen npm) + llama-server local /tokenize | No necesario |
| Llama 3.3 70B | SentencePiece BPE | 128K | API de Groq (usage.prompt_tokens) | 36 tokens |
| Qwen3 32B | BPE | ~150K | API de Groq (usage.prompt_tokens) | 9 tokens |
| GPT-OSS 120B | BPE (custom) | ~200K | API de Groq (usage.prompt_tokens) | 72 tokens |
| Claude Sonnet 4 | BPE (propietario) | Desconocido | API de Anthropic (usage.input_tokens) | 4,116 tokens |
Tres pares de cláusulas legales semánticamente equivalentes. Las versiones en español no son traducciones literales — usan la fraseología estándar que un abogado mexicano emplearía para el mismo concepto.
Inglés (300 chars): Cláusula estándar de confidencialidad con obligación de no divulgación y sobrevivencia de 5 años.
Español (315 chars): "La Parte Receptora se obliga a mantener en estricta confidencialidad toda la Información Confidencial revelada por la Parte Divulgante y no divulgará dicha información a terceros sin el consentimiento previo por escrito. Esta obligación sobrevivirá la terminación del presente contrato por un período de cinco años."
Inglés (361 chars): Cláusula estándar de constitución de corporación en Delaware.
Español (328 chars): Cláusula equivalente conforme a la Ley General de Sociedades Mercantiles.
Inglés (243 chars): Requerimiento estándar de declaración ante el IRS con referencia a EIN.
Español (317 chars): Requerimiento equivalente ante el SAT con referencias a RFC y CFDI.
Terminología legal/empresarial estándar: contract/contrato, shareholders/accionistas, articles of incorporation/acta constitutiva, etc.
fideicomiso, escritura pública, acta constitutiva, protocolo notarial, Sociedad Anónima Promotora de Inversión de Capital Variable, Registro Federal de Contribuyentes, comprobantes fiscales digitales por Internet, asamblea general ordinaria de accionistas.
Al medir tokens vía API (Groq, Anthropic), el conteo reportado incluye el overhead del prompt de sistema — tokens consumidos por el prompt interno del modelo y el formato de chat template. Este overhead es constante sin importar el idioma del texto, por lo que diluye el porcentaje de sobrecosto aparente.
La dilución es asimétrica porque los tamaños de prompt de sistema varían dramáticamente:
| Modelo | Baseline de sistema | Efecto de dilución en NDA |
|---|---|---|
| Qwen3 32B (Groq) | 9 tokens | Dilución mínima |
| Llama 3.3 70B (Groq) | 36 tokens | Dilución moderada |
| GPT-OSS 120B (Groq) | 72 tokens | Dilución significativa |
| Claude Sonnet 4 | 4,116 tokens | Dilución extrema |
Ejemplo: el overhead de NDA de Claude aparece como +0.6% con baseline incluido (4195/4171), pero el sobrecosto real del texto es +43.6% (79/55) después de restar los 4,116 tokens de baseline.
usage.prompt_tokens. Este es el baseline: prompt de sistema + chat template + 1 token para "test".(tokens_ES / tokens_EN - 1) × 100Las librerías offline de tokenizadores (gpt-tokenizer, llama-tokenizer-js, tokkit-qwen) devuelven conteos crudos sin overhead de prompt de sistema. El endpoint /tokenize del llama-server local también devuelve arrays crudos de tokens.
npm install gpt-tokenizer llama-tokenizer-js @cyberlangke/tokkit-qwen
python3 test_local_tokenizer.py --host TU_HOST --port TU_PUERTO
GROQ_API_KEY=tu-key python3 test_groq_tokenizer.py --model MODELO
ANTHROPIC_API_KEY=tu-key python3 test_claude_tokenizer.py
Todos los scripts son de código abierto.
La sustracción de baseline de Groq asume overhead constante. Verificamos estabilidad con múltiples longitudes de mensaje (±1 token).
El baseline grande de Claude reduce precisión. Con 4,116 tokens de baseline, las mediciones de textos cortos tienen mayor incertidumbre relativa. Las mediciones de cláusula NDA (55 EN / 79 ES) son confiables.
Las versiones de modelos en Groq pueden diferir. Groq puede servir versiones cuantizadas. El tokenizer debería ser idéntico al modelo base.
Equivalencia semántica, no traducción literal. Los textos expresan los mismos conceptos legales con fraseología natural en cada idioma. El español a veces requiere más palabras para el mismo concepto ("registro federal de contribuyentes" vs "tax identification number"), lo cual representa el escenario real de procesamiento documental.
Limitado al dominio legal/empresarial. El español casual muestra menor overhead porque las palabras comunes (de, el, la, que) tokenizan eficientemente. El sesgo es más pronunciado en terminología especializada.
Versión única del tokenizer por modelo. Los resultados reflejan el estado del tokenizer a junio de 2026.
| Modelo | NDA EN tokens | NDA ES tokens | Overhead |
|---|---|---|---|
| Qwen 3.5 9B (local) | 50 | 61 | +22.0% |
| GPT-4 / GPT-4o (offline) | 49 | 61 | +24.5% |
| Llama 2 32K (offline) | 59 | 79 | +33.9% |
| GPT-OSS 120B (Groq, corregido) | 32 | 43 | +34.4% |
| Claude Sonnet 4 (API, corregido) | 55 | 79 | +43.6% |
| Llama 3.3 70B (Groq, corregido) | 33 | 55 | +66.7% |
| Qwen3 32B (Groq, corregido) | 33 | 55 | +66.7% |
Por Luis Méndez · Junio 2026
Este documento acompaña el post "Tu IA te cobra hasta 67% más por no hablar inglés" publicado en Leeuwwolk y Medium. Contacto: [email protected]
Scripts de reproducción: test_local_tokenizer.py · test_groq_tokenizer.py · test_claude_tokenizer.py · test_offline_tokenizers.mjs
Todas las cláusulas utilizadas en este estudio se reproducen a continuación para reproducibilidad completa. Las versiones en español usan fraseología legal mexicana estándar, no traducción literal.
Inglés (300 chars, 49-55 tokens según modelo):
The Receiving Party agrees to hold in strict confidence all Confidential Information disclosed by the Disclosing Party and shall not disclose such information to any third party without prior written consent. This obligation shall survive the termination of this agreement for a period of five years.
Español (315 chars, 61-79 tokens según modelo):
La Parte Receptora se obliga a mantener en estricta confidencialidad toda la Información Confidencial revelada por la Parte Divulgante y no divulgará dicha información a terceros sin el consentimiento previo por escrito. Esta obligación sobrevivirá la terminación del presente contrato por un período de cinco años.
Observación: La versión en español es solo 5% más larga en caracteres pero consume 22-44% más tokens. El sobrecosto viene de palabras como "confidencialidad" (3 tokens), "consentimiento" (3 tokens) y "sobrevivirá" (3 tokens).
Inglés (361 chars, 66 tokens en GPT-4):
This Corporation is organized for the purpose of engaging in any lawful act or activity for which corporations may be organized under the General Corporation Law of the State of Delaware. The total number of shares of stock which the corporation shall have authority to issue is ten million shares of common stock, each having a par value of one cent per share.
Español (328 chars, 64 tokens en GPT-4):
La Sociedad tiene por objeto la realización de cualquier acto o actividad lícita para la cual las sociedades pueden organizarse conforme a la Ley General de Sociedades Mercantiles del Estado Mexicano. El capital social autorizado será de diez millones de acciones ordinarias, cada una con valor nominal de un centavo por acción.
Observación: Este es el único caso donde el español es ligeramente más eficiente (-3% en GPT-4). El texto en español es 33 caracteres más corto y usa más palabras romances comunes que tokenizan bien. Esto demuestra que el sesgo no es universal — depende de la especificidad del vocabulario.
Inglés (243 chars, 38-40 tokens según modelo):
The taxpayer shall file annual returns with the Internal Revenue Service for each taxable year. All digital tax receipts must comply with current regulations and include the employer identification number assigned by the federal tax authority.
Español (317 chars, 52-78 tokens según modelo):
El contribuyente deberá presentar declaraciones anuales ante el Servicio de Administración Tributaria por cada ejercicio fiscal. Todos los comprobantes fiscales digitales por Internet deberán cumplir con la normatividad vigente e incluir el Registro Federal de Contribuyentes asignado por la autoridad fiscal federal.
Observación: Esta cláusula muestra el mayor overhead en todos los modelos (+36.8% a +95.0%). El texto en español es 30% más largo en caracteres, pero el overhead en tokens supera ampliamente la diferencia en caracteres. Términos penalizados: "Administración Tributaria" (4 tokens), "comprobantes fiscales digitales" (5 tokens), "Contribuyentes" (3 tokens). Son términos específicos del SAT/CFDI que ningún tokenizer ha visto lo suficiente para comprimir.
Español (337 chars, 78-109 tokens según modelo):
PRIMERA.- DENOMINACIÓN, TIPO Y DURACIÓN. La Sociedad se denominará Ejemplo Tecnológico, Sociedad Anónima Promotora de Inversión de Capital Variable. La Sociedad tendrá una duración indefinida y se regirá por lo dispuesto en la Ley General de Sociedades Mercantiles, la Ley del Mercado de Valores y demás disposiciones legales aplicables.
Observación: Esta cláusula no tiene equivalente directo en inglés porque la estructura corporativa SAPI de CV es específica del derecho mexicano. "Sociedad Anónima Promotora de Inversión de Capital Variable" sola consume 15-17 tokens en todos los modelos. Este nombre legal completo aparece en cada escritura notarial, cada contrato y cada trámite regulatorio.
| Inglés | Tokens (GPT-4) | Español | Tokens (GPT-4) | Δ |
|---|---|---|---|---|
| contract | 1 | contrato | 2 | +1 |
| agreement | 1 | acuerdo | 2 | +1 |
| corporation | 2 | corporación | 2 | 0 |
| shareholders | 2 | accionistas | 2 | 0 |
| liability | 2 | responsabilidad | 2 | 0 |
| amendment | 3 | modificación | 2 | -1 |
| compliance | 2 | cumplimiento | 3 | +1 |
| notarization | 3 | protocolización | 2 | -1 |
| incorporation | 3 | constitución | 2 | -1 |
| bylaws | 2 | estatutos | 2 | 0 |
| board of directors | 3 | consejo de administración | 5 | +2 |
| power of attorney | 3 | poder notarial | 4 | +1 |
| due diligence | 2 | debida diligencia | 4 | +2 |
| articles of incorporation | 3 | acta constitutiva | 5 | +2 |
| tax identification number | 3 | registro federal de contribuyentes | 6 | +3 |
| artificial intelligence | 3 | inteligencia artificial | 4 | +1 |
| machine learning | 2 | aprendizaje automático | 4 | +2 |
| data sovereignty | 2 | soberanía de datos | 5 | +3 |
| retrieval augmented generation | 4 | generación aumentada por recuperación | 6 | +2 |
Agregado: 41 tokens EN vs 58 tokens ES = +41.5% de overhead a nivel vocabulario.
Nota: Algunos términos en español tokenizan MÁS eficientemente que en inglés (protocolización, constitución, modificación). El sesgo no es absoluto — depende de si la palabra específica apareció con suficiente frecuencia en el corpus de entrenamiento del BPE para ser fusionada en un token compacto.
| Término | Tokens Claude | Tokens Qwen 3.5 | Descripción |
|---|---|---|---|
| fideicomiso | 4 | 4 | Instrumento fiduciario |
| escritura pública | 4 | 4 | Documento notarial |
| acta constitutiva | 5 | 5 | Documento de constitución de sociedad |
| protocolo notarial | 5 | 4 | Registro notarial |
| Registro Federal de Contribuyentes | 8 | 6 | RFC |
| comprobantes fiscales digitales por Internet | 9 | 7 | CFDI |
| asamblea general ordinaria de accionistas | 10 | 8 | Junta de accionistas |
| Sociedad Anónima Promotora de Inversión de Capital Variable | 17 | 15 | SAPI de CV |
Hallazgo clave: Estos términos aparecen en prácticamente todo documento corporativo mexicano. Una sola acta constitutiva puede contener "Sociedad Anónima Promotora de Inversión de Capital Variable" decenas de veces, consumiendo 15-17 tokens cada ocurrencia. Sobre un corpus de miles de documentos, esto se acumula en costos significativos al usar APIs cobradas por token.