Un equipo de desarrolladores ha presentado Coasts, una solución innovadora que aborda uno de los principales desafíos en el desarrollo asistido por IA: permitir que múltiples agentes trabajen simultáneamente en diferentes ramas de código sin que sus entornos de ejecución entren en conflicto.
La problemática que Coasts resuelve es tanto elegante como práctica. Cuando los agentes de IA como Codex o Conductor realizan cambios en el código distribuidos a través de diferentes worktrees (ramas de trabajo aisladas en Git), necesitan también entornos de ejecución independientes para probar esos cambios. Hasta ahora, los desarrolladores han tenido que recurrir a soluciones improvisadas: trucos con puertos, modificaciones manuales de configuraciones Docker, o crear réplicas duplicadas de sus entornos de desarrollo. Con proyectos complejos que incluyen múltiples servicios Docker y volúmenes compartidos, estos enfoques se vuelven rápidamente insostenibles.
La solución propuesta utiliza el concepto de "coastal hosts", una abstracción que funciona como un devcontainer sin las funcionalidades de IDE, enfocado únicamente en el entorno de ejecución. Los desarrolladores crean un archivo Coastfile en la raíz de su proyecto, apuntando típicamente a su docker-compose existente. Al ejecutar `coast build`, el sistema genera una imagen Docker que puede instanciar múltiples runtimes aislados de Docker-in-Docker.
Lo ingenioso de la arquitectura técnica radica en cómo maneja los puntos de montaje. El directorio raíz del proyecto y los directorios de worktrees externos se montan como bind mounts en el contenedor, pero el directorio `/workspace`, donde se ejecutan los servicios reales, es un mount point Linux separado creado dentro del contenedor en ejecución. Cuando un agente necesita cambiar de worktree, el sistema ejecuta un desmontaje lógico seguido de un remontaje selectivo, utilizando la bandera `rshared` para propagar estos cambios hasta el daemon Docker interno.
Cada instancia de coast cuenta con su propio conjunto de puertos dinámicos definidos en el Coastfile, permitiendo que los agentes accedan a servicios como aplicaciones web o bases de datos sin colisiones de puerto. Existe además la capacidad de "checkout" de un coast, mediante la cual socat vincula los puertos canónicos de una instancia específica a la máquina host, funcionalidad particularmente útil para proyectos con puertos hardcodeados o que requieren pruebas de webhooks.
La arquitectura está diseñada para ser agnóstica respecto al marco de trabajo utilizado. Los agentes pueden continuar operando en el lado del host, ejecutando comandos únicamente contra instancias específicas de coast cuando necesiten probar cambios de runtime o acceder a registros. Este enfoque genera una interoperabilidad fundamental: funciona con cualquier agente o harness de agentes que se ejecute en el lado del host, sin necesidad de modificar los sistemas existentes.
Coasts también permite optimizar el comportamiento de servicios individuales tras cambios de worktree. Los desarrolladores pueden definir estrategias que van desde "ninguna acción" hasta reconstrucciones completas, reduciendo así los tiempos de espera y evitando ciclos innecesarios de down y up de docker-compose. Además, es posible configurar topologías de volúmenes, omitir servicios innecesarios para casos de uso específicos, o compartir ciertos servicios a nivel de host para reducir la sobrecarga de cada instancia coast.
En el contexto actual de desarrollo asistido por inteligencia artificial, donde herramientas como los agentes de código evolucionan rápidamente, soluciones como Coasts representan la clase de infraestructura que podría acelerar significativamente la adopción de estos sistemas. Al eliminar las fricciones en la prueba y validación de cambios de código, los agentes pueden operar con mayor autonomía y eficiencia, potencialmente mejorando la calidad de las modificaciones que realiza el código generado por IA.
La iniciativa ha generado interés notable en la comunidad de desarrolladores, con una puntuación de 69 puntos en Hacker News y 28 comentarios en el momento de su presentación. El proyecto incluye documentación con videos conceptuales que explican la arquitectura y funcionamiento del sistema, reflejando un esfuerzo por hacerlo accesible a desarrolladores tanto novatos como experimentados en el uso de agentes de IA.