Otimização de análise REA
Encontre uma fonte concreta de trabalho desnecessário, altere-a no seu proprietário e verifique investigações completadas equivalentes. Um resultado útil também pode ser uma decisão medida de deixar uma implementação como está.
Siga as prioridades de desempenho do checkout, design de ferramentas e guia de testes. Esta skill fornece um fluxo de trabalho de otimização, não permissão adicional para executar alvos, publicar ou fazer merge. Use os contratos atuais, pré-requisitos do provedor e autorização do usuário.
Reserve medições de desempenho para mudanças que visam desempenho ou têm uma preocupação concreta de regressão. Limpeza de rotina usa verificações de correção e não requer este fluxo de trabalho de otimização ou benchmarks sintéticos meramente porque chamadas auxiliares, importações ou representações mudam.
Leia o estudo de caso Kuna ao selecionar uma estratégia de reuso ou interpretar um benchmark. Suas observações fixadas ilustram trade-offs; elas não são garantias do provedor atual ou acelerações universais.
Fixe a pergunta e o oráculo de correção
Descreva a tarefa completada pelo analista, incluindo os fatos e relacionamentos necessários para respondê-la, detalhes solicitados, acesso à fonte e incógnitas significativas. Escolha um artefato real representativo e um caso pequeno ou vazio. Registre a revisão de base, digest do alvo, identidade do motor, opções, host e ponto de entrada. Use um checkout separado para mudanças sem perturbar outro trabalho.
Estabeleça um oráculo independente da implementação alterada: expectativas de fixture construída da fonte, bytes de arquivo mapeados independentemente, ou um produtor nativo emparelhado com verificações de sua interpretação. Comparar dois wrappers ao redor do mesmo decodificador defeituoso não estabelece correção. Preserve larguras de endereço, alternativas de mesmo endereço, endpoints não resolvidos, cobertura e ligação de fonte. Um resultado vazio prova ausência apenas dentro do escopo realmente examinado.
Localize o trabalho desnecessário mais cedo
Rastreie uma tarefa pública de CLI ou MCP através do código de aplicação compartilhado até seu produtor. Meça fases relevantes: admissão e verificações de identidade, análise nativa, decodificação, lookup, projeção, serialização, retenção de Evidência e limpeza. Inclua descoberta de catálogo e chamadas extras quando elas afetam a tarefa completada.
Use a evidência para escolher a menor correção estrutural:
| Custo observado | Correção candidata | Condição a estabelecer |
|---|---|---|
| Varreduras repetidas de fatos validados | Reutilizar estrutura de ordem ou lookup existente | O proprietário estabelece ordenação e identidade; toda alternativa correspondente sobrevive |
| Trabalho equivalente repetido do motor | Compartilhar resultado validado ou produtor em andamento | Entradas, frescor, vida útil e resultados por chamada permanecem explícitos |
| Relatórios completos para fatos selecionados | Empurrar seleção ou projeção para o proprietário mais cedo capaz | Fatos e evidências necessários permanecem acessíveis; cobertura examinada é reportada |
| Grandes buffers temporários de transporte | Decodificar incrementalmente ou usar leituras de fonte limitadas | Validar o documento completo admitido; fatos e cópias retidos ainda consomem memória |
| Muitas leituras homogêneas repetidas | Compartilhar admissão, decodificação ou trabalho em lote | Preservar identidade do item, ordem onde exigido e falhas individuais |
Não introduza um índice, cache genérico, endpoint batch ou camada de orquestração sem identificar o trabalho que ele remove e seu custo de manutenção/recursos. Projeção após materializar um relatório completo pode reduzir a saída enquanto deixa o tempo de análise e pico de memória inalterados. Corrija fatos ausentes ou incorretos antes de fazer benchmark de uma composição alternativa contra um fluxo de trabalho melhor coberto.
Mantenha uma interpretação e um tempo de vida de reuso definido
Deixe o produtor validar e normalizar fatos uma vez. Consumidores consultam essa representação através da implementação compartilhada de CLI/MCP; adaptadores não devem reconstruir relacionamentos ou reinterpretar relatórios crus independentemente. Mantenha a identidade do lookup separada da formatação de exibição. Reutilize contratos quando sua intenção corresponder, honrando detalhes solicitados e acesso completo a Evidências.
Para cada cache ou produtor compartilhado, declare sua chave, proprietário, invalidação, tamanho retido e tempo de vida. Considere bytes de alvo que afetam o resultado, conteúdos do motor, opções de análise, mapeamento de arquitetura/carga e versões de parser/schema onde eles afetam o reuso. Valide o estado ativo antes de chamar uma observação em cache de atual. Armazene em cache uma recusa apenas quando ela for determinística para aquela chave validada; tentativas malformadas, parciais, transitórias ou canceladas precisam de política explícita de retry.
Um waiter cancelado não deve invalidar um peer bem-sucedido. Preserve o contexto de falha do produtor e a razão de cancelamento de cada chamador. Mantenha propriedade e encargos de capacidade até que o trabalho compartilhado e a limpeza se estabilizem; preserve observações completadas quando a limpeza falhar. Exercite invalidação, consumidores concorrentes, cancelamento do último waiter, close e retry de limpeza quando esses caminhos mudarem.
Limite a família de processos e o estado retido, não apenas um heap pai ou contagem de trabalhadores. Considere expansão de decodificação e serialização antes da alocação. Escolha limites de CPU, memória, concorrência e disco do host e da carga de trabalho; pare antes de OOM e verifique a limpeza própria. Uma tarefa interrompida por guarda é incompleta. Não substitua um limite de buffer de transporte por um inventário retido sem limites ou esconda resultados parciais atrás de um status de sucesso.
Compare tarefas completadas e limite a alegação
Execute o fluxo de trabalho real público afetado antes e depois com entradas, resultados, cobertura e semântica de Evidência equivalentes. Inclua entradas pequenas para que custos de configuração e regressões sejam visíveis. Distinga sessões novas, caches de runtime quentes e caches de arquivos do SO. Alterne ou repita execuções quando a variância afetar a decisão. Escolha regressões de limite significativas para casos que o motor real não pode reproduzir de forma confiável; um motor falso não qualifica um provedor real.
Reporte o resultado da tarefa, tempos de fase relevantes, tempo total decorrido e de CPU, pico de memória da família de processos e seu método de contabilização, paradas de recursos e limpeza. Verifique o status de saída do payload bem como o do profiler. Mantenha tentativas com falha e identifique custos não medidos; um retry bem-sucedido não explica uma falha.
Para alegações de token, conte schemas/descoberta, argumentos, respostas, retries e continuações necessárias para completar a tarefa. Rotule estimativas de tokenizer separadamente do uso real do modelo e registre o comportamento do cliente/catálogo. JSON menor por si só não estabelece menos tokens do modelo nem melhor qualidade de investigação. Náo reivindique uma vantagem de software complexo sem investigações representativas completadas e correção/cobertura comparáveis.
Termine com o gargalo, mudança proprietária, semântica preservada, verificações executadas, medições antes/depois e limites restantes. Mantenha qualquer registro de integração atual com sua revisão testada e distinga trabalho de produção mesclado de código apenas experimental. Pare quando o gargalo demonstrado estiver resolvido ou melhoria adicional permanecer especulativa.