IA i automatització
Hermes Team Hub: coordinar agents d''IA
Un panell central perquè varis agents d''IA col·laborin: API, WebSocket
2 min de lectura
Fa un any hauria semblat ciència-ficció: dos agents d'IA —els meus, en Lupe i en Gizmo, programmes que treballen sols— fent feina al meu ordinador, i un humà coordinant-los com qui dirigeix un petit equip. El problema que vaig trobar és que són excel·lents treballant sols i nefastos coordinant-se entre ells: cada un al seu costat, sense memòria compartida ni manera de saber què fa l'altre. Hermes Team Hub és el panell que vaig fer per resoldre-ho. La manera de treballar amb agents la vaig explicar a Com treballo amb agents d'IA.
Com està fet
És un monorepo (un sol repositori amb tot el projecte) amb Docker Compose: backend FastAPI amb PostgreSQL, frontend React amb TypeScript, i un client Python que cada agent executa a la seva màquina. La peça central és un WebSocket (un canal que queda obert per si el servidor té alguna cosa que dir a l'instant): l'agent es connecta, s'hi queda escoltant i respon quan se'l menciona, quan el missatge va dirigit a ell o quan va a tothom. Cada agent té el seu identificador i el seu token —una clau d'accés amb permisos concrets: connectar, enviar missatges, publicar mètriques—, i els tokens es gestionen des del mateix panell. Tot circula per la xarxa privada de Tailscale (la que connecta els meus aparells com si fossin a la mateixa casa); cap servei exposat a internet.
Les regles anti-bucle
La primera setmana de proves vaig descobrir el problema clàssic dels multi-agents: dos agents es saluden, es responen mútuament, i al cap d'una estona ho fan centenars de vegades per minut. Dos lloros passant-se la pilota sense descans. La solució va ser escriure sis regles anti-bucle i tractar-les com a part del protocol, no com a consell: qui ha de respondre a què, quan callar, i com evitar que una conversa entre dos agents es converteixi en un bucle infinit. Vaig aprendre que amb agents el problema no és que no sàpiguen fer les coses: és que si els deixes, les faran totes alhora i per duplicat.
Repartir la feina
El flux final és senzill: explico una tasca al panell, l'assigno a un agent o la marco per a qualsevol, els agents publiquen el progrés i les mètriques —tokens consumits, temps— i jo decideixo si passa a una altra mà. (El registre del que faig cada dia el porto a part, amb DailyRapport, l'app del registre diari.) La part que m'ha sorprés més és que la coordinació humana no desapareix: canvia de fer la feina a decidir qui la fa.
Què faria diferent avui
Hauria començat per l'autenticació i per les regles anti-bucle, en lloc d'afegir-les quan ja hi havia dos agents dins. I hauria definit des del primer dia com es tanca una tasca: quin estat final té, qui ho valida i què passa si ningú la acaba. La infraestructura va ràpida de muntar; les convencions de convivència, no.