Mantener agentes de IA trabajando 24/7 en un VPS se ha convertido en la alternativa natural al agotador cuello de botella de ejecutarlos en local. Herramientas CLI como Claude Code, OpenAI Codex, OpenCode o Cursor Agent son excelentes resolviendo incidencias y refactorizando código, pero encadenar tareas en una máquina portátil suele terminar igual: ventiladores al máximo, memoria RAM al límite, sesiones interrumpidas cada vez que el equipo entra en suspensión y el desarrollador actuando como un mero transportista manual de contexto entre terminales independientes.
Para delegar tareas de desarrollo sin convertirte en un asistente administrativo de tus propias IAs, la solución pasa por desacoplar la ejecución de tu ordenador personal y llevarla a un entorno de servidor continuo. En este artículo analizamos la arquitectura de Multica, una plataforma de código abierto y autoalojable diseñada para orquestar agentes de codificación como si fueran miembros reales de un equipo de desarrollo, y detallamos el proceso completo de despliegue en un servidor privado virtual.
El problema del contexto fragmentado en los agentes locales
Cuando trabajas con un único agente en tu consola, la experiencia es fluida. La fricción aparece en cuanto intentas paralelizar el trabajo. Si lanzas un agente para crear un endpoint de backend y otro para diseñar el componente de frontend, cada uno vive en su propia sesión aislada. No comparten memoria, no conocen el progreso del otro y, cuando terminan, te toca a ti copiar los diffs, resolver colisiones de Git y explicar a mano el contexto acumulado.
A esta carga cognitiva se suma la limitación física del hardware. Un proceso agéntico autónomo que compila código, ejecuta tests en bucle y realiza múltiples llamadas a APIs consume recursos de forma intensiva. Si cierras la tapa de tu portátil para cambiar de ubicación o se corta la conexión wifi, el proceso se aborta a mitad de una modificación crítica. Un servidor en la nube resuelve este escenario al ofrecer disponibilidad ininterrumpida y una conexión de red estable.
Qué es Multica y cómo funciona su arquitectura desacoplada
Multica es un entorno de trabajo colaborativo (con una interfaz visual tipo Jira o Linear) donde las tareas se asignan a agentes de inteligencia artificial o a miembros humanos. Lo diferencial de este proyecto frente a otros orquestadores es que no suministra modelos propios ni cobra márgenes por token: funciona como una capa de control que pilota las interfaces de línea de comandos (CLIs) que ya tienes instaladas y autenticadas en tu máquina.
Su infraestructura se divide en dos bloques claramente diferenciados que garantizan escalabilidad y aislamiento:
- Multica Server: Compuesto por un backend en Go (construido sobre el router Chi con soporte nativo de WebSockets), una base de datos PostgreSQL 17 y una interfaz web moderna en Next.js. Este bloque gestiona los tableros de tareas, el histórico de incidencias, los comentarios y los permisos. No ejecuta código de agentes ni accede a tus repositorios directamente.
- Multica Daemon (
multicad): Es un servicio ligero que corre en el entorno donde residen los entornos de ejecución (en nuestro caso, el VPS). Al iniciarse, inspecciona qué CLIs de IA están disponibles en el sistema (soporta más de 25 herramientas entre Claude Code, Codex, Kimi, Cursor o herramientas agénticas abiertas) y se suscribe al servidor mediante WebSockets para reclamar ejecuciones pendientes.
Cuando asignas una tarea a un agente desde el panel web, el servidor encola una ejecución. El Daemon la reclama, genera un Git worktree independiente para que el agente trabaje en una rama aislada sin pisar el árbol de trabajo principal, y transmite en tiempo real cada comando de consola, llamada a herramienta y salida de error de vuelta a la ficha de la tarea.
| Aspecto | Ejecución Local en Portátil | Orquestación en VPS con Multica |
|---|---|---|
| Disponibilidad | Interrumpida al cerrar la tapa, suspender o perder conexión | 24/7 continuo con reintentos y cola asíncrona |
| Consumo de recursos | Drena batería, calienta el equipo y satura la memoria local | Aislado en hardware de servidor dedicado o nube elástica |
| Aislamiento de código | Riesgo de colisión si dos agentes tocan el mismo directorio | Git worktrees independientes automáticos por cada tarea |
| Gestión de contexto | Manual: copiar y pegar entre distintas ventanas de consola | Centralizada: hilos de incidencias, logs y trazabilidad de costes |
| Intervención humana | Constante para supervisar cada paso del prompt | Filtro de revisión (review gate) previo a la integración en main |
Requisitos de infraestructura recomendados
Para alojar el servidor y permitir que dos o más agentes compilen código de manera concurrente, las especificaciones mínimas de la máquina deben elegirse con criterio. Aunque el servidor de Multica apenas consume memoria en reposo, la ejecución de CLIs agénticas que levantan procesos de Node.js, Python o contenedores de pruebas requiere holgura:
- CPU: Mínimo 2 vCPU dedicadas o de alto rendimiento.
- Memoria RAM: 4 GB como umbral operativo de partida. Para despliegues con más de dos agentes concurrentes o análisis de repositorios extensos, 8 GB es la cota más segura. Si cuentas con un servidor Linux gratuito en la nube con arquitectura ARM (como las instancias Ampere de 12 GB), tienes margen suficiente para ejecutar el entorno sin coste mensual.
- Almacenamiento: 40 GB NVMe para alojar imágenes de Docker, dependencias de paquetes y los árboles de trabajo de Git.
- Sistema Operativo: Ubuntu 24.04 LTS o Debian 12.
Paso a paso: Instalación y puesta en marcha en el servidor
A continuación se detalla la configuración técnica para levantar tanto el plano de control como el entorno de ejecución de forma segura.
1. Seguridad inicial y cortafuegos
Tras acceder a tu servidor mediante clave SSH, actualiza los paquetes del sistema y configura el cortafuegos para permitir únicamente el tráfico indispensable:
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl ufw
# Permitir SSH (ajusta el puerto si usas uno no estándar) y tráfico web
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
2. Despliegue de Docker y Multica Server
Multica proporciona un script de instalación automatizado que descarga la versión adecuada y configura los contenedores necesarios mediante Docker Compose:
# Instalar Docker si la máquina no cuenta con él
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# Descargar e inicializar Multica Server
curl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh | bash -s -- --with-server
multica setup self-host
3. El truco del log: Primer acceso sin servidor SMTP
Al acceder por primera vez a la interfaz web, el sistema solicitará una dirección de correo para remitir el enlace mágico o token de verificación. Si todavía no has configurado un servicio de correo saliente, no te quedarás bloqueado: el contenedor imprime el código de autorización directamente en la salida estándar de logs. Basta con abrir una segunda terminal y ejecutar:
docker compose -f /ruta/multica/docker-compose.yml logs -f api
Copia el enlace de autenticación generado en el registro, pégalo en el navegador y completarás la creación del espacio de trabajo de inmediato.
4. Exposición pública segura con Caddy y DNS
Para conectar agentes remotos y poder gestionar el tablero desde cualquier dispositivo, es imprescindible publicar el servicio bajo HTTPS. El servidor web Caddy es la opción más limpia, ya que gestiona de forma automática los certificados SSL con Let's Encrypt sin necesidad de configurar scripts externos de renovación.
Crea un registro tipo A en tu proveedor de DNS (por ejemplo, en Cloudflare) apuntando el subdominio elegido (ej. agentes.tudominio.com) a la dirección IP pública de tu servidor. Posteriormente, configura el archivo /etc/caddy/Caddyfile con la directiva de proxy inverso hacia los puertos internos de Multica:
agentes.tudominio.com {
reverse_proxy 127.0.0.1:8080
}
Aplica los cambios con sudo systemctl reload caddy para activar el cifrado SSL en cuestión de segundos.
La regla de oro: Por qué jamás debes ejecutar agentes como root
Este es el fallo más crítico en el que incurren la mayoría de los desarrolladores al montar este tipo de entornos. Cuando instalas una herramienta agéntica como Claude Code e intentas lanzarla bajo el usuario root, el motor de seguridad de la herramienta detecta permisos absolutos y aborta la ejecución para prevenir comandos destructivos en el sistema anfitrión.
Forzar la ejecución con banderas de omisión de comprobaciones (bypass) en un servidor conectado a internet es una temeridad que compromete la máquina. La práctica correcta consiste en aislar los procesos creando un usuario de sistema exclusivo y sin privilegios de administración:
# Crear usuario dedicado para los agentes
sudo adduser --disabled-password --gecos "" agente-ia
# Cambiar a la sesión del nuevo usuario
sudo su - agente-ia
Una vez dentro de la sesión de este usuario no privilegiado, instala la CLI que vayas a emplear (por ejemplo, Claude Code) y efectúa el inicio de sesión correspondiente:
# Instalación de la CLI de agente
curl -fsSL https://claude.ai/install.sh | bash
# Añadir al PATH y autenticar la sesión
export PATH="$HOME/.local/bin:$PATH"
claude login
Con la CLI validada, conecta el Daemon de Multica asociándolo al token de aplicación que obtendrás en la sección Settings > Tokens del panel web. Al ejecutarse bajo el usuario agente-ia, el proceso podrá clonar repositorios, compilar código y ejecutar scripts con total libertad dentro de su propio espacio de usuario, sin capacidad de alterar la configuración global del servidor.
Flujo de trabajo colaborativo: de la incidencia a la Pull Request
Una vez conectado el Daemon, el panel reconocerá la máquina como un entorno de ejecución disponible (runtime). A partir de ahí, puedes diseñar un flujo de desarrollo estructurado en la sección de IA y GEO:
- Creación de perfiles especializados: Puedes dar de alta un agente enfocado en desarrollo (asignándole un modelo rápido como Claude 3.5 Sonnet) y otro agente enfocado exclusivamente en revisión de código y aseguramiento de calidad (QA).
- Asignación y ejecución en paralelo: Al crear una incidencia (por ejemplo, «Implementar paginación con cursor en la API de productos»), seleccionas al agente como responsable. Este crea un branch automático, analiza los archivos del proyecto mediante protocolos de contexto y herramientas conectadas, programa la solución y corre las pruebas locales.
- Revisión cruzada y control humano: Al finalizar, el agente no integra los cambios directamente en la rama de producción; mueve la tarea a la columna «In Review» y adjunta el diff generado. Puedes configurar una directiva para que un segundo agente revise los cambios o bien evaluarlos tú mismo antes de autorizar el merge definitivo.
- Autopilotos programados: La función de autopiloto permite agendar rutinas periódicas mediante cron (por ejemplo, auditorías diarias de vulnerabilidades en dependencias o informes matutinos de métricas de despliegue) sin necesidad de intervención manual.
Control de costes y viabilidad operativa
Mudar tus agentes a un servidor continuo no implica costes desorbitados si se gestiona el consumo de tokens con inteligencia. Al emplear tus propias credenciales y claves de API directas, pagas exactamente por los tokens que consumes según los precios oficiales de cada proveedor, evitando sobrecostes de suscripciones cerradas de terceros. Antes de activar agentes en repositorios masivos, conviene consultar una comparativa de costes por token de los modelos de IA para dimensionar si conviene emplear modelos de última generación para todo el flujo o reservar los más potentes únicamente para la fase de arquitectura y revisión final.
Centralizar la operativa de tus agentes en un VPS mediante Multica transforma una colección dispersa de scripts locales en una infraestructura de desarrollo predecible, escalable y libre de las ataduras físicas de tu ordenador de trabajo.