Esta página é uma tradução da documentação em inglês. Comandos, identificadores e exemplos permanecem iguais. Runtime 7.24.4 · SDK 2.6.7. Original em inglês
Cache local de evidência
Status: Memória ativada por padrão; RocksDB por adesão Escopo: estado atual Última revisão: 2026-09-13 Responsável: runtime do ax-code
O AX Code usa por padrão um cache de evidência limitado em memória, com persistência opcional em RocksDB ao lado do armazenamento SQLite existente. O SQLite retém o histórico completo da sessão e os registros de verificação. O cache contém texto renderizado descartável e símbolos sintáticos; ele não muda permissões nem conta como verificação nova.
O modo padrão de memória não abre um banco RocksDB. Para aderir à persistência em uma instalação a partir do código-fonte, compile o suporte nativo e selecione RocksDB de forma explícita:
pnpm build:native fs
AX_CODE_EVIDENCE_CACHE=rocksdb pnpm run dev
AX_CODE_EVIDENCE_CACHE=memory seleciona de forma explícita a reutilização padrão limitada no processo, sem armazenamento persistente. No modo RocksDB, suporte nativo ausente, um bloqueio de banco mantido por outro runtime ou uma falha de cache recuam para a memória com um diagnóstico. Compilações padrão do addon de sistema de arquivos incluem RocksDB para adesão explícita. Compilações de lançamento verificam que o addon empacotado consegue gravar e reabrir o cache. Operações nativas rodam fora do laço de eventos JavaScript.
Leituras de texto de até 1 MiB validam os bytes atuais da fonte e reutilizam o intervalo renderizado quando conteúdo, caminho, intervalo e formato coincidem. Arquivos maiores, leituras externas, diretórios e anexos não entram no cache de leitura. Instruções do repositório e carimbos de leitura de arquivo permanecem ao vivo. A extração sintática pode reutilizar símbolos para fonte e linguagem idênticas; estes símbolos não estabelecem referências semânticas nem chamadores.
Em qualquer modo de cache, resultados repetidos de leitura de texto completa já visíveis no pedido atual do modelo usam uma referência curta ao primeiro resultado. As saídas completas originais da ferramenta permanecem no histórico da sessão. A compactação reconstrói a visibilidade; uma leitura posterior é renderizada por completo se a cópia anterior estiver ausente. Vistas repetidas e idênticas em bytes de leitura paginada, grep e glob também podem referenciar a primeira vista completa devolvida. Cada referência mantém o rodapé original de truncamento e a orientação de continuação; o conteúdo de fonte omitido permanece indisponível. Resultados parciais que carregam instrução, mídia, erro, recorte de linha ou formato não reconhecido permanecem literais. Isto muda a entrada do modelo, não o histórico canônico nem a execução da ferramenta, e não estabelece redução de cobrança do provedor.
Acertos de cache economizam renderização ou análise; eles não eliminam leituras de validação da fonte nem chamadas de ferramenta pedidas pelo modelo. Para combinar descoberta dependente em menos idas e voltas do modelo, ative de forma explícita a opção existente experimental.read_only_recipes e use read_recipe com seleções limitadas. Use code_intelligence com operation: "buildContext" para uma visão estrutural limitada. Nenhuma das opções é ativada automaticamente pelo cache.
Quando selecionado, o cache persistente fica no diretório normal de cache do AX Code em evidence-v1, com um banco separado por diretório de instância de projeto. A admissão do RocksDB é limitada a 1024 entradas e 32 MiB de valores lógicos; o uso físico de disco também inclui codificação, logs e sobrecarga de compactação. Os dois modos limitam a reutilização em memória a 128 entradas e 4 MiB de valores serializados por instância de projeto por processo; isto não é um limite total de RAM do processo. Entradas de memória são limpas no descarte da instância e não sobrevivem à saída do processo. As entradas expiram depois de 24 horas e são validadas na consulta. O despejo por capacidade pode limpar as entradas nativas descartáveis em lote. Nenhum dado SQLite existente é migrado nem preenchido de forma retroativa.
Para desativar tanto a reutilização de armazenamento quanto a deduplicação da entrada do modelo, defina AX_CODE_EVIDENCE_CACHE=off e reinicie o AX Code. Um valor ausente ou vazio usa memória; um valor não vazio e não reconhecido desativa o cache. Reinicie os runtimes existentes para aplicar o novo padrão e remova qualquer substituição explícita rocksdb para usar memória. Os arquivos existentes de cache persistente são mantidos. Nenhuma reversão de SQLite é necessária. Pare os runtimes antes de remover evidence-v1 manualmente; não remova arquivos de bloqueio do RocksDB enquanto um runtime usa o cache.
Para qualificação nativa local depois de compilar o recurso:
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
A avaliação de fixture fixa relata à parte leituras pedidas, acertos de renderização, bytes de saída omitidos e tempo decorrido. Não é um benchmark de modelo ao vivo nem uma afirmação sobre cobrança de tokens do provedor.
Ao relatar um problema, inclua a versão do AX Code, o sistema operacional e a arquitetura, a saída de ax-code doctor, se off ou memory muda o comportamento, e uma tarefa reproduzível se houver. O Doctor relata o modo pedido e a capacidade nativa; ele não consegue determinar se outro processo em execução é dono do cache do projeto. A contingência de bloqueio e de E/S do projeto aparece no log do runtime. Nenhum retorno nem conteúdo de fonte em cache é enviado automaticamente. Binários publicados existentes recebem estes padrões apenas depois que um lançamento atualizado é instalado.