Dos técnicas para escalar a entradas grandes:
- Batching — partir el trabajo en lotes que entran en la ventana de contexto, agrupando ítems relacionados.
- Incremental — reprocesar solo lo que cambió, usando fingerprints.
Procesar un codebase grande o muchos ítems de una vez revienta el contexto y es caro.
Lotear mantiene cada paso acotado; el reprocesado incremental hace que correr de nuevo
sea casi gratis. Vuelve escalable algo como todo-audit sobre repos grandes.
- Agrupá ítems relacionados en el mismo lote (alta interdependencia juntos) para minimizar referencias cruzadas entre lotes.
- Pasá un "mapa de vecinos" mínimo entre lotes (qué existe en otros lotes: rutas, símbolos) para que cada lote razone sin conocimiento global.
- Procesá lote por lote; combiná al final (ver
agent-pipelinepara el merge).
fingerprints.json: { "<ruta>": { "hash": "<sha256 del contenido>", "struct": [...] } }
- Al re-correr, compará con
git diff+ el hash guardado. - Reprocesá solo los ítems cuyo hash (o estructura) cambió; saltá el resto.
- Guardá el fingerprint actualizado tras procesar.
- Definí el criterio de agrupamiento de lotes (por carpeta, por grafo de imports, etc.).
- Generá los lotes con un script (ver
bundled-scripts), no a mano. - Mantené
fingerprints.jsonen el datadir; consultalo antes de reprocesar.
Corré dos veces sin cambios → la segunda no reprocesa nada. Cambiá un ítem → solo ese se reprocesa.
- 1.0.0 — patrón de
understand-anything(compute-batches, fingerprints, auto-update).