>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Clojure

Come Uncle Bob Organizza le Reti Neurali con tmux e git worktrees

Uncle Bob (Robert Martin), creatore del Manifesto Agile e autore dei libri Clean Code, ha pubblicato su GitHub un nuovo progetto chiamato SwarmForge. In cima al README, un avviso rosso in maiuscolo chiede ai lettori di non acquistare il token crittografico SWARM, con il quale l'autore non ha alcuna affiliazione. Dietro questo bizzarro banner si nasconde un'idea interessante: un sistema multi-agente costruito con strumenti Unix, script zsh e git worktrees.

Mentre la maggior parte degli autori di framework AI riempie le proprie soluzioni con pesanti librerie Python, SwarmForge risolve il problema in locale e in modo pragmatico.

Perché Eseguire Più Agenti Contemporaneamente

Quando dai a un coder basato su Claude o Copilot un'attività complessa, questo raggiunge rapidamente i limiti di contesto. Oppure, silenziosamente, rompe il codice vicino. Nella vita reale, i programmatori risolvono questo problema attraverso la divisione del lavoro. Uno scrive le specifiche, un altro scrive il codice usando TDD, un terzo controlla l'architettura e refactoring.

SwarmForge porta questa pratica nelle reti neurali. Lo strumento crea sessioni tmux, assegna a ogni agente un ruolo e un git worktree separato, poi organizza lo scambio di attività tra di loro. Di conseguenza, gli agenti lavorano sullo stesso repository simultaneamente ma fisicamente non interferiscono tra loro né sovrascrivono i file degli altri.

Set di Ruoli Predefiniti

invece di una configurazione lunga e complessa, l'autore offre il download di scenari già pronti da diversi branch del repository:

  • Branch two-pack. Sviluppo express per attività piccole: il coder implementa il comportamento tramite TDD, e il cleaner rimuove i duplicati e corregge i difetti architetturali.
  • Branch four-pack. Ciclo standard con specificatore Gherkin, coder, refactorer e architect.
  • Branch six-pack. Catena completa con un passaggio separato di hardening tramite mutation e un agente QA.
  • Build personalizzato. La tua variante da un set arbitrario di ruoli, descritta in un file di configurazione testuale.

Puoi assegnare un CLI client separato a ogni ruolo. Niente ti impedisce di mettere Claude nel ruolo di architect e affidare le attività di routine a Codex o Copilot.

Passaggio delle Attività Tra Agenti

Il problema principale dei sistemi multi-agente è che gli agenti amano spammarsi a vicenda con messaggi e perdere il contesto. SwarmForge non ha chat diretta tra reti neurali.

invece di invocazione diretta dei comandi, SwarmForge esegue un demone in background su Babashka (un interprete Clojure per script). Il demone monitora le directory outbox e inbox nel file system .swarmforge/handoffs/.

Quando un agente finisce una fase, chiama uno script locale swarm_handoff.sh. Lo script verifica l'handoff e crea un file di attività. Se viene trasferito del codice, l'agente deve specificare l'esatto hash di commit di 10 caratteri. Il demone raccoglie il file, verifica il commit e lo sposta nella cartella inbox del prossimo agente.

Questo approccio protegge dalle allucinazioni. Una rete neurale non può passare il lavoro oltre se non ha fatto commit delle modifiche nel suo git worktree.

Configurazione e Avvio

Tutte le impostazioni sono memorizzate in un semplice file di testo swarmforge/swarmforge.conf. Ogni riga descrive una finestra e imposta il suo ruolo, provider, nome del worktree e parametri CLI aggiuntivi:

window coordinator codex master window coder copilot wt-coder --yolo window refactorer claude wt-refactorer window architect claude wt-arch task --dangerously-skip-permissions

Avviare il sistema in un progetto esistente richiede un paio di comandi terminale. Scegli un branch, scarica l'archivio ed esegui lo script di ingresso:

BRANCH=four-pack
curl -L "https://github.com/unclebob/swarm-forge/archive/refs/heads/${BRANCH}.tar.gz" | tar -xz --strip-components=1
./swarm

Lo script ./swarm verifica le utility, scarica gli script condivisi dal branch main, inizializza i git worktrees per ogni ruolo e apre le sessioni tmux. Su macOS tira fuori automaticamente Terminal.app o Ghostty, su Windows — Windows Terminal da WSL.

All'avvio, SwarmForge cerca di bloccare la modalità sleep del SO tramite caffeinate su macOS o systemd-inhibit su Linux, così gli agenti non vanno a dormire a metà lavoro.

Chi Trarrà Vantaggio da SwarmForge

Il progetto lascia un'impressione interessante. Da un lato, si può vedere lo stile caratteristico di Uncle Bob: enfasi su TDD, metriche della qualità del codice, specifiche Gherkin e regole rigide dell'architettura pulita. Dall'altro, la dipendenza da Babashka, tmux e strumenti CLI specifici rende la barriera d'ingresso percepibile.

Se le idee di Clean Code ti risuonano e vuoi sperimentare con lo sviluppo autonomo senza framework ingombranti come AutoGen o CrewAI, SwarmForge vale la pena provarlo. È un buon esempio di come le utility Unix di base e un corretto flusso di lavoro Git aiutino a coordinare sistemi AI complessi.