Cómo funciona la compactación de contexto en el agente de codificación Pi

Fuentes: How Compaction Works in Pi

Los modelos de lenguaje grandes tienen ventanas de contexto limitadas, lo que significa que en sesiones largas de programación con agentes como Pi, Claude Code o Codex la conversación acaba superando la capacidad del modelo y este rechaza la petición. Para evitar perder todo el progreso, el equipo de Pi (earendil-works) ha detallado en su blog cómo resuelve este problema mediante un mecanismo llamado compactación.

La compactación sustituye parte del historial por un resumen generado por el propio LLM. En concreto, Pi envía una petición independiente, con un prompt de sistema distinto que indica al modelo que actúa como "asistente de resumen de contexto", y le pide un resumen estructurado con secciones para objetivo, progreso y decisiones clave. El resultado, almacenado como texto plano, se añade a la sesión en lugar de los turnos antiguos.

Pi activa la compactación de forma automática cuando el contexto se acerca al límite, aunque el usuario también puede forzarla con el comando /compact. Por defecto conserva unos 20.000 tokens de mensajes recientes (entre 5 y 20 turnos) y resume todo lo anterior. Como efecto secundario, la compactación invalida la caché de prompts del proveedor, ya que el prefijo cambia, aunque las peticiones posteriores vuelven a beneficiarse de la caché. Los usuarios pueden personalizar el comportamiento creando extensiones con prompts de compactación a medida.