Reserva de archivos: cómo evitar que múltiples agentes de IA se sobreescriban en un repositorio
Múltiples agentes en un mismo directorio sin coordinación destruyen su trabajo mutuamente. Dividirlos en ramas aisladas impide la visibilidad mutua. La solución reside en un sistema de reservas sobre rutas de archivos controlado por el servidor.
Pon a tres agentes en el mismo repositorio sin reglas y se sobrescribirán en un minuto. La última escritura gana en silencio hasta que fallan las pruebas. La solución habitual de aislarlos en ramas independientes resulta contraproducente para construir una aplicación colaborativa.
El verdadero coste de las copias aisladas
Tener ramas independientes impide que el segundo agente vea el código que el primero acaba de generar, forzándole a reinventar tipos ya existentes.
En proyectos nuevos, los archivos comunes (package.json, configuraciones) sufren colisiones máximas imposibles de fusionar de forma automática.
La vista previa en vivo queda fragmentada.
Resolver los conflictos finales genera un coste elevado en tiempo humano o consumo de tokens.
Por ello los agentes comparten un único directorio.
Arrendamiento temporal sin bloqueos muertos
La reserva define rutas, titular, modo y tiempo de expiración.
Existen dos modos: exclusivo (para modificar) y compartido (para declarar dependencias de lectura).
export interface ClaimDenial {
path: string;
holder: string;
holderTask: string;
expiresInS: number;
hint: string;
}Una petición denegada responde al instante con los datos del titular actual, permitiendo al agente reorientar su trabajo de inmediato.
El arrendamiento se renueva automáticamente con cada escritura real y se libera al salir el proceso.
El cumplimiento voluntario es una optimización; la validación por servidor es la garantía de corrección.
El servidor juzga y vigila el sistema de archivos
Un monitor en el servidor vigila cada modificación en el disco y verifica su autorización legítima.
classifyWrite(rawPath: string, hintedAgentId?: string): WriteClassificationAnte una escritura no autorizada, se genera un snapshot de seguridad antes de reflejar el cambio en pantalla.
El agente infractor es advertido para detenerse y revertir, garantizando la integridad del código.
Atribución clara de autoría
Cada commit en Git se asocia automáticamente con el agente específico que modificó el archivo, manteniendo un historial limpio sobre una única rama.
La arquitectura completa se explica en múltiples agentes de IA en un repositorio, y la gestión de terminales remotos en observar un terminal remoto.
Respuestas directas
¿Pueden varios agentes de IA trabajar a la vez en el mismo repositorio?
Sí, mediante un mecanismo que arbitre las escrituras. En Murmell, los agentes reservan las rutas antes de modificarlas y el servidor bloquea a los demás.
¿Por qué no asignar a cada agente un worktree independiente?
Porque impide que un agente vea los tipos y definiciones creados por otro, provocando duplicación de código y conflictos masivos de fusión.
¿La reserva se impone por servidor o por prompt?
Se impone directamente en el servidor, impidiendo físicamente las colisiones independientemente de lo que decida el modelo.