Codemode es un entorno de ejecución del lado del host que permite a un agente LLM orquestar interacciones complejas de herramientas sin volcazar los resultados en la ventana de contexto del modelo. Cuando una herramienta se llama a través de la interfaz habitual, solo se retienen las últimas 2000 líneas de salida en el contexto del agente, lo que rápidamente se convierte en un cuello de botella para operaciones que generan salidas grandes, como la generación de imágenes o el procesamiento de conjuntos de datos extensos. Codemode traslada la capa de orquestación al propio host, creando una separación clara entre el «cerebro» del agente (el LLM y su contexto) y las «manos» donde las herramientas se ejecutan realmente, lo que permite al agente encadenar varios pasos manteniendo el contexto ligero.

Esta imagen visualiza el concepto central de Codemode, donde el contexto del agente LLM permanece ligero mientras la orquestación compleja de herramientas ocurre en un entorno aislado de JavaScript del lado del host.
Dentro del host, Codemode se ejecuta como un entorno aislado de JavaScript construido con QuickJS en un tiempo de ejecución WebAssembly que desactiva deliberadamente el acceso a la red, el acceso al sistema de archivos, los temporizadores y proporciona solo una cantidad limitada de RAM. Dentro de estas restricciones, el agente puede emitir llamadas a herramientas y recibir sus salidas estructuradas completas, que pueden procesarse mediante programación en lugar de truncarse a texto. Una función store() permite al agente persistir datos en la transcripción de la sesión, de modo que una invocación posterior de Codemode pueda leerlos nuevamente, lo que habilita flujos de trabajo con estado, como sondear la respuesta de una herramienta para inspeccionar su forma y luego escribir un script para procesar los elementos restantes. La entrada del blog muestra ejemplos concretos: usar Codemode para llamar a un modelo de generación de imágenes mediante models.getAvailableOfType y models.generateImages, ejecutar clasificación de sentimientos en un lote de problemas de GitHub con el clasificador Jev, y controlar un bucle simple de depuración de juegos donde Jev decide la siguiente acción basada en el estado del juego.
Aunque Codemode permite un comportamiento de agente más rico, lo hace bajo compromisos notables. Debido a que el entorno aislado no puede acceder directamente a la red o al sistema de archivos, cada interacción debe pasar por llamadas a herramientas al sistema subyacente, lo que preserva la seguridad pero limita lo que se puede hacer sin agregar nuevas herramientas. La elección de JavaScript como lenguaje para Codemode ha sido señalada en las discusiones, con algunos observadores sugiriendo que un enfoque basado en bash podría resultar más natural para agentes ya acostumbrados a herramientas de línea de comandos; sin embargo, las características asíncronas de JavaScript y su manipulación de objetos lo hacen adecuado para las operaciones concurrentes y los patrones de gestión de estado que Codemode habilita. Además, Codemode brinda un camino hacia los servidores MCP: el agente puede utilizar utilidades de búsqueda de herramientas dentro del entorno aislado para descubrir e invocar servicios como el MCP de Sentry, mostrando que la capa de scripting del lado del host también puede servir como puente hacia puntos de extensibilidad externos.