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.