Context Mode
Medir Context Mode: bytes, recuperación de hechos, latencia y almacenamiento
Diseña una evaluación controlada sin confundir reducciones anunciadas con facturación de tokens, exactitud o velocidad de la tarea completa.
Qué aprenderás
- Cuenta todas las llamadas necesarias para responder.
- Mide tokens aparte de bytes UTF-8.
- Publica evidencia, latencia fría/caliente y tamaño de base.
Antes de empezar
- JSON y conceptos MCP básicos
- Cliente aislado y datos inventados
Explica el límite real de la implementación y verifícalo con una muestra de evidencia explícita.
Conclusiones clave
- Cuenta todas las llamadas necesarias para responder.
- Mide tokens aparte de bytes UTF-8.
- Publica evidencia, latencia fría/caliente y tamaño de base.
Definir el denominador adecuado
Para comparar bytes, conserva la salida original y todos los bytes devueltos por las llamadas de Context Mode necesarias para responder. Incluye metadatos de indexación, búsquedas, reintentos y recuperaciones adicionales. Comparar una sola respuesta diminuta con un archivo grande no mide la tarea completa si hicieron falta otras llamadas.
Tokens y facturación necesitan observaciones propias. Los bytes UTF-8 no corresponden a un número fijo de tokens entre inglés, chino, código y JSON. La caché del cliente y otros mensajes pueden alterar la entrada facturada. Registra esas variables por separado y deja null cuando no hayas medido. El porcentaje anunciado debe seguir etiquetado como ejemplo del proyecto, no como resultado propio.
Acompañar eficiencia con recuperación de evidencia
Fija un corpus con datos comunes, un identificador raro, una negación y un valor cercano al borde de un bloque. Define previamente los hechos esperados y cuenta cuántos reciben apoyo de los pasajes, incluidas unidades y condiciones. Una respuesta menor que invierte una negación o pierde el umbral de reversión falla, independientemente del ahorro de bytes.
El almacén revisado utiliza un tope predeterminado de 4096 bytes por bloque. Sus regresiones incluyen líneas densas, secciones separadas por blancos, texto CJK y emoji. Inspeccionamos esas pruebas, no las presentamos como resultados nuevos ejecutados. Incluye formas equivalentes: estimar por caracteres puede subestimar texto multibyte y cambiar la cantidad de bloques consultados.
Separar trabajo inicial de consultas repetidas
Mide indexación inicial, primera consulta y consultas repetidas por separado. Añade tamaño de base y número total de llamadas. Comparar un índice preparado con una referencia que recarga todo puede orientar sobre trabajo repetido, pero no es una comparación justa del primer uso. Reindexar también cambia el estado y exige un procedimiento de reinicio controlado.
Incluye una edición de fuente y una recuperación fallida en la matriz. Actualizar archivos puede trasladar trabajo a una búsqueda posterior; recuperarse de fallos añade latencia y contexto. Decide según finalización, evidencia y esfuerzo operativo conjuntamente. El capítulo propone un diseño de medición, sin afirmar aceleración universal, ahorro monetario ni latencia de producción.
Pasos de implementación
- 1
Fija corpus, preguntas y hechos esperados.
- 2
Mide salida directa e indexación nueva.
- 3
Repite con índice preparado, archivo editado y dato ausente.
- 4
Rechaza ahorros que oculten respuestas incorrectas.
Ejemplo para copiar
{
"scenario": "índice nuevo",
"rawBytes": null,
"allReturnedBytes": null,
"modelInputTokens": null,
"requiredFacts": 4,
"supportedFacts": null,
"indexMs": null,
"queryMs": null,
"databaseBytes": null
}Preguntas frecuentes
¿Menos bytes equivale a menos facturación de tokens?
No directamente. Observa el tokenizer o uso del proveedor e incluye todas las llamadas y el comportamiento del cliente.
¿Se ejecutaron las pruebas de bloques del proyecto?
No. Se inspeccionó su código para diseñar muestras pertinentes; no se ejecutó la suite completa.
Fuentes
- README.mdFuente verificada 2026-09-07
- package.jsonFuente verificada 2026-09-07
- LICENSEFuente verificada 2026-09-07
- src/store.tsFuente verificada 2026-09-07
- src/search/unified.tsFuente verificada 2026-09-07
- src/server.tsFuente verificada 2026-09-07
- src/executor.tsFuente verificada 2026-09-07
- src/security.tsFuente verificada 2026-09-07
- src/session/purge.tsFuente verificada 2026-09-07
- tests/store-bytecap.test.tsFuente verificada 2026-09-07