OpenCode V2: el límite oculto que hace olvidar a tu agente AI

El límite invisible que hace olvidar a tu agente de código AI

Imagina que contratas a un asistente brillante para un proyecto largo. Le explicas la arquitectura, las decisiones de diseño, los errores que ya probaste, los archivos clave. El asistente toma notas. Pero en algún punto, su libreta se llena — y en lugar de pedirte que repitas todo, hace un resumen rápido de lo anterior y sigue adelante. El problema: ese resumen tiene solo dos páginas de espacio. Lo que no cabe, se pierde.

Eso es exactamente lo que hace el mecanismo de compaction en OpenCode V2, uno de los agentes de código open source con mayor tracción en julio de 2026. Y aunque es un diseño inteligente para sobrevivir sesiones largas, tiene límites muy concretos que todo equipo de desarrollo debería conocer antes de depender de él en proyectos críticos.

En este artículo analizamos cómo funciona internamente este mecanismo, por qué importa más de lo que parece, y qué implica para equipos técnicos en Perú y Latinoamérica que están adoptando agentes AI en su flujo de trabajo.

¿Qué es la compaction y por qué existe?

Los agentes de código como OpenCode trabajan con un historial de conversación que crece con cada turno: mensajes del usuario, respuestas del modelo, llamadas a herramientas, outputs de shell, lecturas de archivos. Todo eso acumula tokens. Y los modelos de lenguaje tienen un límite físico de cuántos tokens pueden procesar en una sola solicitud.

Cuando ese historial se acerca al límite del contexto del modelo, OpenCode V2 activa la compaction. El mecanismo no elimina el historial de la base de datos — eso es una decisión correcta. Lo que hace es crear un checkpoint: genera un resumen estructurado de toda la conversación anterior y, a partir de ese momento, las solicitudes al modelo parten desde ese resumen en lugar de reproducir cada mensaje antiguo.

Según el análisis del código fuente publicado por Antonio Zhu en Dev.to, el trigger automático ocurre cuando los tokens estimados de la solicitud superan este umbral:

tokens_estimados > límite_contexto_modelo - max(output_tokens, compaction_buffer)

Con una ventana de contexto de 128,000 tokens y el buffer por defecto de 20,000, el umbral efectivo es aproximadamente 108,000 tokens. También existe un trigger de recuperación: si el proveedor devuelve un error de overflow y el turno actual no produjo output durable, OpenCode ejecuta una compaction de emergencia y reintenta — pero solo una vez, para evitar bucles infinitos.

Los tres límites hardcodeados que definen la calidad del resumen

Aquí está el detalle más importante para cualquier desarrollador: la calidad del resumen generado está controlada por tres límites fijos en el código, no configurables desde la interfaz de usuario.

El primero es el truncamiento de outputs de herramientas. Cualquier resultado de una herramienta o comando de shell se trunca a 2,000 caracteres antes de entrar al proceso de compaction. Si tu agente leyó un archivo largo o ejecutó un comando con output extenso, el resumen solo verá los primeros 2,000 caracteres de ese resultado.

El segundo es el límite del resumen generado. El modelo que crea el checkpoint tiene un máximo de 4,096 tokens de output. Eso es todo el espacio disponible para comprimir potencialmente horas de trabajo: rutas de archivos, decisiones de arquitectura, errores específicos, contexto de negocio, comandos ejecutados. Lo que no cabe en esos 4,096 tokens, el modelo simplemente no lo verá en solicitudes futuras.

El tercer límite afecta al contenido multimedia. Las imágenes y videos adjuntos antes del checkpoint no se preservan visualmente. Se convierten en texto plano como [Attached image/png: screenshot.png]. El archivo original sigue en el historial durable, pero el modelo ya no puede procesar visualmente ese contenido después de la compaction.

Cómo aplica esto en equipos técnicos de Perú y LATAM

En la región, estamos viendo una adopción acelerada de agentes de código AI en equipos de desarrollo de software, especialmente en proyectos de automatización, integraciones con ERP y desarrollo de APIs. Muchos equipos están usando estos agentes para sesiones largas de trabajo: refactoring de módulos completos, debugging de integraciones complejas, o diseño de arquitecturas.

El riesgo concreto es este: en una sesión larga donde el agente ayudó a diseñar una arquitectura de microservicios, discutió decisiones de base de datos, analizó errores específicos de integración y revisó múltiples archivos — si se activa la compaction, todo ese contexto rico tiene que caber en 4,096 tokens de resumen estructurado.

El agente no crashea. La sesión continúa. Pero el modelo puede perder detalles críticos: nombres exactos de tablas, rutas de archivos específicas, errores que ya se probaron y descartaron, restricciones de negocio que se mencionaron al inicio. Y lo más peligroso: el desarrollador no recibe una alerta clara de qué se perdió.

Otro punto relevante para equipos que trabajan con evidencia visual — capturas de pantalla de errores, diagramas de arquitectura, mockups de UI — es que después de una compaction, el agente ya no puede ver esas imágenes aunque estén en el historial. Si el equipo confía en que el agente recuerde un screenshot de error que se adjuntó al inicio de la sesión, esa confianza puede ser incorrecta.

¿Cómo aplica esto en tu empresa?

Si tu equipo usa agentes de código AI para proyectos técnicos, hay decisiones prácticas que puedes tomar hoy para reducir el impacto de la compaction:

  • Divide sesiones largas intencionalmente. En lugar de una sesión de 8 horas, trabaja en sesiones temáticas más cortas. Al iniciar cada sesión, proporciona un contexto explícito y estructurado al agente en lugar de depender de que recuerde todo lo anterior.
  • Documenta decisiones críticas fuera del agente. Rutas de archivos importantes, decisiones de arquitectura, restricciones de negocio — anótalas en tu propio documento de contexto y pégalas al inicio de cada sesión si el trabajo continúa.
  • No confíes en imágenes adjuntas para contexto crítico. Si adjuntaste una captura de error o un diagrama, describe también en texto lo más relevante. Así, aunque la imagen no sea visible después de un checkpoint, el texto sí persiste.
  • Trata la compaction como un reinicio parcial. Si notas que el agente parece haber «olvidado» algo importante, es probable que haya ocurrido una compaction. Reintroduce el contexto crítico explícitamente en lugar de asumir que el agente lo recuerda.

La compaction de OpenCode V2 es un mecanismo robusto y bien diseñado para lo que promete: que la sesión sobreviva, que el historial durable nunca se pierda, y que el agente pueda continuar trabajando. Pero su contrato implícito es claro — la continuidad del contexto depende enteramente de lo que el resumen de 4,096 tokens logró capturar.

Conclusión

Entender los internals de las herramientas que usamos no es un ejercicio académico — es lo que separa a un equipo que usa AI de manera efectiva de uno que culpa a la herramienta cuando algo falla. La compaction de OpenCode V2 es un ejemplo perfecto: funciona bien dentro de sus límites, pero esos límites son fijos, no configurables, y tienen consecuencias reales en sesiones de trabajo largas.

En Consultoría-Ti trabajamos con equipos técnicos en Perú y Latinoamérica que están integrando herramientas de AI en sus flujos de desarrollo. Si tu equipo está adoptando agentes de código y quieres asegurarte de hacerlo de manera efectiva — entendiendo qué pueden y qué no pueden hacer estas herramientas — conversemos.

Contáctanos en Consultoría-Ti y exploramos cómo integrar AI de manera práctica en tu equipo de desarrollo.

Fuentes y Referencias

Antonio Zhu — OpenCode V2 Compaction Internals (Dev.to)



✨ Contenido generado con ContentFlow — Consultoría-Ti

Compartir
Etiquetas
El bug de Kotlin con strings idénticos que no son iguales