Esta página es una traducción de la documentación en inglés. Los comandos, identificadores y ejemplos no cambian. Runtime 7.24.4 · SDK 2.6.7. Original en inglés
Caché local de evidencia
Estado: memoria activada de forma predeterminada; RocksDB optativo
Alcance: estado actual
Última revisión: 2026-09-13
Responsable: entorno de ejecución de ax-code
AX Code usa de forma predeterminada una caché de evidencia acotada en memoria, con persistencia opcional en RocksDB junto a su almacenamiento SQLite existente. SQLite conserva el historial completo de la sesión y los registros de verificación. La caché contiene texto renderizado desechable y símbolos sintácticos; no cambia los permisos ni cuenta como verificación reciente.
El modo de memoria predeterminado no abre una base de datos RocksDB. Para optar por la persistencia en una instalación de código fuente, compila su soporte nativo y selecciona RocksDB de forma explícita:
pnpm build:native fs
AX_CODE_EVIDENCE_CACHE=rocksdb pnpm run dev
AX_CODE_EVIDENCE_CACHE=memory selecciona de forma explícita la reutilización acotada predeterminada en el proceso, sin almacenamiento persistente. En modo RocksDB, la falta de soporte nativo, un bloqueo de base de datos retenido por otro entorno de ejecución o un fallo de la caché recurre a la memoria con un diagnóstico. Las compilaciones estándar del complemento de sistema de archivos incluyen RocksDB para la opción explícita. Las compilaciones de versión verifican que el complemento empaquetado pueda escribir y reabrir su caché. Las operaciones nativas se ejecutan fuera del bucle de eventos de JavaScript.
Las lecturas de texto de hasta 1 MiB validan los bytes actuales del código fuente y reutilizan el intervalo renderizado cuando coinciden su contenido, su ruta, su intervalo y su formato. Los archivos más grandes, las lecturas externas, los directorios y los adjuntos no entran en la caché de lectura. Las instrucciones del repositorio y los sellos de lectura de archivo siguen en vivo. La extracción sintáctica puede reutilizar símbolos para el mismo código fuente y el mismo lenguaje; estos símbolos no establecen referencias semánticas ni llamadores.
Con cualquiera de los dos modos de caché, los resultados completos de lectura de texto que ya son visibles en la solicitud actual al modelo usan una referencia corta al primer resultado. Las salidas completas originales de las herramientas permanecen en el historial de la sesión. La compactación reconstruye la visibilidad; una lectura posterior se renderiza por completo si su copia anterior está ausente. Las vistas repetidas de lectura paginada, grep y glob idénticas en bytes también pueden referirse a la primera vista completa devuelta. Cada referencia conserva su pie original de truncamiento y la orientación de continuación; el contenido de código fuente omitido sigue no disponible. Los resultados que llevan instrucciones, medios, errores, recortes de línea o resultados parciales no reconocidos permanecen literales. Esto cambia la entrada del modelo, no el historial canónico ni la ejecución de herramientas, y no establece una reducción de la facturación del proveedor.
Los aciertos de caché ahorran renderizado o análisis; no eliminan las lecturas de validación del código fuente ni las llamadas a herramientas solicitadas por el modelo. Para combinar el descubrimiento dependiente en menos idas y vueltas al modelo, activa de forma explícita la opción existente experimental.read_only_recipes y usa read_recipe con selecciones acotadas. Usa code_intelligence con operation: "buildContext" para una vista estructural acotada. Ninguna de las dos opciones se activa de forma automática por la caché.
Cuando se selecciona, la caché persistente vive bajo el directorio normal de caché de AX Code en evidence-v1, con una base de datos aparte por directorio de instancia de proyecto. La admisión de RocksDB se limita a 1024 entradas y 32 MiB de valores lógicos; el uso físico de disco incluye también la codificación, los registros y la sobrecarga de compactación. Ambos modos limitan la reutilización en memoria a 128 entradas y 4 MiB de valores serializados por instancia de proyecto y proceso; esto no es un límite de RAM total del proceso. Las entradas de memoria se borran al desechar la instancia y no sobreviven a la salida del proceso. Las entradas caducan a las 24 horas y se validan al consultarlas. El desalojo por capacidad puede borrar en lote las entradas nativas desechables. No se migran ni se rellenan datos SQLite existentes.
Para desactivar tanto la reutilización de almacenamiento como la deduplicación de la entrada del modelo, establece AX_CODE_EVIDENCE_CACHE=off y reinicia AX Code. Un valor no definido o vacío usa memoria; un valor no vacío no reconocido desactiva la caché. Reinicia los entornos de ejecución existentes para aplicar el nuevo valor predeterminado y quita cualquier anulación explícita rocksdb para usar memoria. Los archivos de caché persistente existentes se conservan. No hace falta una reversión de SQLite. Detén los entornos de ejecución antes de eliminar evidence-v1 a mano; no quites los archivos de bloqueo de RocksDB mientras un entorno de ejecución esté usando la caché.
Para la cualificación nativa local después de compilar la función:
cd packages/ax-code
AX_TEST_EVIDENCE_NATIVE=1 AX_TEST_FILES=test/evidence/cache-native.test.ts,test/evidence/cache-eval.test.ts pnpm exec vitest run --retry 0
La evaluación con fixture fijo informa por separado las lecturas solicitadas, los aciertos de renderizado, los bytes de salida omitidos y el tiempo transcurrido. No es una referencia con un modelo en vivo ni una afirmación sobre la facturación de tokens del proveedor.
Al informar un problema, incluye la versión de AX Code, el sistema operativo y la arquitectura, la salida de ax-code doctor, si off o memory cambian el comportamiento, y una tarea reproducible si está disponible. Doctor informa el modo solicitado y la capacidad nativa; no puede determinar si otro proceso en ejecución es dueño de la caché del proyecto. El respaldo de bloqueo o de E/S del proyecto aparece en el registro del entorno de ejecución. No se sube de forma automática ninguna opinión ni contenido de código fuente en caché. Los binarios publicados existentes adquieren estos valores predeterminados solo después de instalar una versión actualizada.