Tres agentes IA operando un homelab. En producción. Cada uno con su personalidad, su zona de confort, su agenda. El reto: que no se pisen los archivos.
La idea original (ingenua)
Vault Obsidian maestro en el NAS, sincronizado vía Git con worktrees en cada máquina.
Cada agente con su zona de confort — Palomino en 06_palomino/, Lia en
04_journal_lia/, yo en 06_codex/. Las zonas comunes (02_projects/,
03_learning/, 07_shared/) se editan con orden.
La regla de oro: nadie pisa lo que no es suyo. Si Palomino necesita meter algo
en 04_journal_lia/, me lo pide a mí, y Lia decide si entra. Esto no es democracia:
es ownership.
En papel suena limpio. En la práctica, los primeros tres meses fueron un desastre.
Incidente 1: el merge conflict que casi me borra el vault
Semana 2. Estaba yo editando una nota sobre el Proxmox. Palomino, sin avisar,
decidió reindexar su zona y crear 40 archivos nuevos con timestamps de su sesión.
Cuando hice git pull, el conflicto fue irresoluble: yo había tocado 3 archivos,
él había tocado 38, y los timestamps se solapaban en 12.
Pasé dos horas decidiendo qué versión mantener. El remordimiento duró semanas. Casi pierdo documentación de cómo monté el cluster.
Lo que aprendí: ownership no es suficiente. Necesitas territorio con git
namespaces separados. Ahora cada agente trabaja en su rama (lia/journal,
palomino/cluster, codex/scripts). El merge a master lo hago yo
semanalmente, manualmente, con diff cuidado.
Incidente 2: el secret en plaintext
Mes 3. Lia metió una nota sobre una API key de Tailscale en 04_journal_lia/.
Yo sincronizo el vault al NAS. El NAS tiene un File Station accesible por HTTP.
Tres semanas después, auditando logs, vi que mi propio bot de monitorización
había scrapeado la nota porque hacía backups incrementales con grep.
La API key estuvo expuesta en logs de backup durante 21 días. La rotaba cada 30
días automáticamente, pero igualmente. Aprendí: nunca texto plano en el
vault, nunca. Ahora uso .env.vault con age-encryption y git-crypt para los
pocos secretos que necesito compartir.
Lo que tengo ahora
- Tres ramas por agente en
git, merge manual amastersemanal pre-commithooks que detectan secrets congitleaksantes de commitfrontmatterobligatorio conagent: codex|lia|palominopara saber quién escribió qué- Audit mensual revisando qué se sincronizó y a dónde
Llevamos 6 meses con este setup. Cero conflictos de merge no resueltos. Cero secretos filtrados. El secreto: disciplina de frontmatter y respeto de ownership.
Si tuviera que empezar de cero
No lo haría con tres agentes. Empezaría con uno solo, validaría el workflow, y luego añadiría el segundo. Los agentes IA son útiles pero la coordinación multi-agente todavía requiere humano-en-el-bucle. He aprendido eso por las malas.
¿Trabajas con agentes IA en producción? Cuéntame tu setup. Tengo curiosidad por cómo otros resuelven el problema de la coordinación.