Come abbiamo costruito Hermes per supportare l'intero team

153K
863
74
76
2.0K

TL;DR

Artie Labs illustra la distribuzione di Hermes, un framework open-source per agenti AI, all'interno del loro team di 17 persone. Spiegano come hanno personalizzato i profili degli agenti per ruoli specifici, gestito i costi tramite un singolo server e implementato routine notturne di 'dreaming' per l'ottimizzazione della memoria.

Al momento della stesura di questo articolo, Artie è un team di 17 persone. Ognuno di noi lavora a fianco di Hermes, un harness per agenti AI open-source sviluppato da @NousResearch. Funziona su una singola macchina fisica in Germania, ha una personalità diversa per ogni team e sogna durante la notte.

Ecco come siamo arrivati a questo punto.

Tutto è iniziato con un contatto WhatsApp di un ingegnere

Qualche mese fa, uno dei nostri ingegneri (Ani, @anirudhsriramzz) stava usando Hermes per conto suo. Era solo una configurazione personale e comunicava con l'agente tramite WhatsApp.

Più o meno nello stesso periodo, Robin, il nostro CTO, era tornato da un hackathon dove un amico gli aveva mostrato un intero roster di agenti che gestivano il loro lavoro. La domanda che si è portato dietro era semplice: come possiamo rendere questa tecnologia disponibile a tutti in Artie, e non solo agli ingegneri?

Abbiamo dato un'occhiata prima a OpenClaw. È valido. Ma era facile vedere un agente deviare e fare qualcosa che nessuno aveva richiesto, e volevamo delle guardrail prima ancora di pensare alla scalabilità. Quindi abbiamo scelto Hermes e abbiamo iniziato a riflettere su quali dovessero essere queste guardrail.

Un cervello con i paraocchi

Il modo in cui ragioniamo: ogni laboratorio ha rilasciato un "cervello". Puoi chiedergli qualsiasi cosa e ti risponderà. Chiedigli la stessa cosa cinque volte e otterrai cinque risposte, tutte plausibili ma modellate in modo diverso.

Per una finestra di chat va bene. Diventa un problema quando vuoi che il cervello faccia un lavoro vero. Se un sales engineer chiede una valutazione del rischio su 25 thread aperti con clienti, ha bisogno dello stesso formato ogni volta, così da poter agire, confrontare le settimane e fidarsi dello strumento.

I cavalli da corsa indossano i paraocchi per correre sulla pista invece di guardare il pubblico. Le Skills e gli strumenti sono i paraocchi. L'harness è il modo in cui li allacci. Hermes, Codex, Claude Code e gli altri sono tutte versioni della stessa idea: un metodo per decidere cosa è permesso fare al modello e come dovrebbe apparire il suo output.

Una volta visto il problema in quest'ottica, il progetto ha smesso di essere "configurare un chatbot" ed è diventato "costruire i paraocchi per ogni ruolo in Artie".

Un server da $60 in Germania gestisce tutto

Robin e Ani hanno configurato il primo Hermes in circa tre ore durante un weekend. Abbiamo affittato il piano più economico su Railway, avviato Hermes con un profilo predefinito e lasciato che il team di ingegneria ci si buttasse.

Entro cinque giorni continuavamo a raggiungere i limiti di utilizzo di Railway. Ogni avviso era un invito a fare l'upgrade. Questa è stata la prima vera lezione: nel momento in cui un team adotta davvero un agente, la fattura smette di sembrare quella di un side project.

La nostra infrastruttura di produzione gira su AWS e lì resterà. Ma questo era un sandbox interno per gli agenti, non infrastruttura per i clienti, e volevamo vedere quanto potevamo renderlo economico. Abbiamo trovato Hetzner (@Hetzner_Online), un'azienda di hosting tedesca, e abbiamo comprato una macchina fisica per $60 all'anno. Oggi tutti gli Hermes di Artie girano su quella macchina.

Siamo un'azienda agile e intraprendente. Tutta la questione dell'AI in Artie è stata: come rendiamo il team il più possibile AI-native senza bruciare soldi? La macchina Hetzner è stata la prima risposta.

Cosa volevamo davvero

Con una macchina capace di reggere il carico, ci siamo seduti e abbiamo deciso lo scopo di Hermes. Due obiettivi.

Ognuno ha un assistente. Ingegneri, vendite, operations, marketing, design. Una versione junior di te stesso che ti aiuta a fare di più, anziché qualcosa che ti sostituisce. La paura nel settore è che gli agenti rubino il posto di lavoro. La nostra esperienza dice l'opposto: quando tutti ne hanno uno, tutti rilasciano software più velocemente e affrontano lavori che prima non avrebbero potuto gestire.

Un umano è sempre nel loop. Hermes può fare tutto ciò che gli viene ordinato. Prima che qualcosa finisca in produzione, nei documenti o davanti a un cliente, una persona lo revisiona.

Le persone eccelleno in qualcosa, quindi anche gli agenti dovrebbero farlo

Nessuno in un team di 17 persone è bravo in una sola cosa. Ma tutti eccellono in qualche ambito. Assumiamo per quel punto di forza.

Quindi ci siamo chiesti perché i nostri agenti dovrebbero essere diversi. Un ingegnere junior che scrive copy di marketing è uno spreco. Un marketer junior nel codebase è ancora peggio. Abbiamo modellato gli agenti come pensiamo alle persone: dare a ciascuno un dominio, una personalità e accesso alle risorse necessarie per quel dominio.

Questo ci ha dato una famiglia di profili Hermes, uno per team.

Hermes Plan e Hermes Code appartengono all'ingegneria. Plan è per il tech lead: capire se facciamo A poi B, oppure A e B in parallelo e C dopo, e scriverlo. Plan distribuisce il lavoro su una board Kanban. Code prende i ticket ed esegue in background sul nostro codebase esistente, apre PR e aspetta. Un umano revisiona la PR e solo allora questa viene mergata su master. Il completamento di un task avvia il successivo nel piano.

L'effetto collaterale che nessuno aveva previsto: ora la maggior parte del tempo degli ingegneri viene speso nella pianificazione. Storicamente le persone vivevano nel codice e nell'esecuzione. Ora vivono nel system design e nella review, mentre Hermes Code gestisce la parte centrale.

Hermes Sales si prepara prima di una call di discovery. Fa ricerca sul prospect, capisce il loro stack tecnologico esistente e recupera il contesto attuale sulla trattativa. Poiché ha anche accesso ai nostri documenti e alla conoscenza ingegneristica, può andare oltre: se un prospect ci dice che spostano dati con un particolare tool, Hermes può dire al commerciale dove quel tool tende a rompersi, ad esempio con schema drift, prima ancora che inizi la call.

Hermes Design e Hermes Code insieme permettono al marketing di progettare, costruire e pubblicare landing page senza coinvolgere un ingegnere. Il nostro sito di marketing è su Next.js e non usiamo più un CMS. Design lavora dentro il sistema di componenti esistente, verifica se un componente esiste già prima di inventarne uno nuovo, e passa a Code per l'implementazione.

Hermes BizOps gestisce il lavoro operativo ricorrente: revisioni della pipeline, riconciliazioni, aggiornamenti dei tracker, individuazione delle eccezioni che richiedono un intervento umano.

E c'è un profilo di default per tutto ciò che non rientra nelle categorie specifiche.

La maggior parte di noi parla con questi agenti tramite Slack. Alcuni usano Hermes desktop. In entrambi i casi, l'intero approccio è passato da reattivo a proattivo: gli agenti hanno già accesso al codebase, ai documenti, al CRM e a Internet, quindi possono rispondere attingendo da ovunque invece di aspettare che venga fornito loro il contesto.

Skills, versionate come codice, dal giorno uno

I profili sono le personalità. Le skills sono ciò che li rende competenti.

Una skill è una procedura riutilizzabile per una reale classe di lavoro: cosa controllare per primo, quali fonti sono autorevoli, come appare l'output, come verificarlo. Abbiamo scritto le nostre dalla prima settimana e le abbiamo messe in un repo Git. Ogni Hermes legge da lì. Quando una skill cambia, è un commit, con storico, che ogni profilo acquisisce.

Siamo stati deliberati nel non scriverne troppe. Ci sono un milione di modi per far funzionare l'AI per te e la maggior parte di Internet ti dirà di costruire una fabbrica autonoma di agenti attiva 24/7. Se avessi token infiniti, certo. Noi no. Un agente che sfoglia centinaia di skills per decidere quale usare brucia token nella decisione. Quindi abbiamo tagliato tutto ciò che non valeva chiaramente il suo costo, e continuiamo a tagliare.

La regola finale: se il valore è ovvio, il costo è giustificato. Se il valore è vago, non viene costruito.

Hermes sogna

Hermes ha un sistema cron. Puoi dargli un task e una cadenza e lo eseguirà autonomamente.

Ispirandoci al lavoro di Anthropic sulla memoria degli agenti, abbiamo usato questa funzione per replicare qualcosa che fanno gli umani. Durante il sonno REM, il tuo cervello ordina la giornata. Alcune cose vengono promosse nella memoria a lungo termine. Altre vengono eliminate. Un anno in cui hai cambiato città e viaggiato costantemente è memorabile perché nulla si ripeteva.

Quindi ogni notte, quando nessuno lo sta usando, ogni Hermes sogna. Rivede ciò che ha fatto quel giorno, decide cosa è stato utile e cosa no, promuove le parti utili nella memoria e degrada il resto. Poi invia un report al nostro ingegnere. Il report dice cose come: ho sbagliato questo, ho sbagliato quello, l'ho corretto, ho salvato la correzione e ho dimenticato l'abitudine che l'ha causata.

Nel giro di settimane, ogni profilo diventa più opinabile su cosa dovrebbe e non dovrebbe fare per il suo team. Non abbiamo programmato noi queste opinioni. Sono emerse dai sogni.

Perché gestiamo il nostro harness

Ci chiedono perché non usiamo semplicemente Cursor, o Codex, o Claude Code.

Potremmo, e tecnicamente potremmo spostare i carichi di lavoro domani. Ma poiché gestiamo e operiamo Hermes noi stessi, il modello sottostante può essere chiunque. Se un laboratorio alza i prezzi la prossima settimana, cambiamo. I nostri profili sono abbastanza stabili ora che cambiare modello non li rompe. Lunedì potremmo usare un modello Anthropic; se i prezzi cambiano, venerdì potremmo essere su OpenAI.

La seconda ragione riguarda le funzionalità. Se Cursor non supporta l'autenticazione di cui hai bisogno, o continua a commettere lo stesso errore nel tuo codebase, apri un ticket e aspetti. Quando Hermes ha bisogno di qualcosa, la costruiamo. Hermes fa parte di Artie, collegato ai nostri sistemi come qualsiasi tool interno, invece di essere qualcosa che abbiamo agganciato sperando che continui a funzionare.

L'ingegneria AI è costosa in questo momento perché l'economia dei token non si è stabilizzata. Un giorno eseguire queste cose sarà quasi gratuito. Fino ad allora, possedere l'harness è il modo in cui manteniamo il controllo sui costi.

Dove siamo oggi e cosa succederà dopo

Hermes è forse all'85-90% del traguardo. Fa lavoro reale ogni giorno. La prima passata non è sempre la migliore.

Quindi stiamo investendo nelle evals. Ogni volta che Hermes riceve una domanda e produce una risposta, vogliamo sapere cosa ha richiesto tempo, quali skills ha chiamato, quali tool hanno fallito e perché. Stiamo self-hostando Arize Phoenix, che è open source, così otteniamo questo senza comprare un altro tool. Le trace di Hermes vanno in Phoenix, e Phoenix ci dice: questo task ha chiamato cinque skills e due tool, questo tool ha impiegato più tempo, questo è fallito, ecco perché.

Sotto questo strato gestiamo la telemetria tramite Datadog: token spesi, tasso di successo per task, alert all'on-call se un Hermes va giù o se lo store di memoria si riempie. Ogni task gira in un sandbox, e abbiamo costruito un nostro sistema di pruning che pulisce i sandbox quotidianamente.

Lo scopo di tutto questo è che non dobbiamo più indovinare se una modifica ha reso Hermes migliore. Cambiamo una skill, riceviamo un report. Se è meglio, resta. Se è peggio, revertiamo.

Abbiamo anche integrato la documentazione direttamente nel server Hermes: cosa c'è nella tua config, cosa ti è permesso fare, cosa significano i dati. Qualsiasi Hermes può leggerla. Questo significa che potremmo avviare un Hermes il cui unico compito è leggere i dati delle evals e migliorare gli altri profili.

È praticamente Hermes Coach. Allena Hermes.

Diciassette persone, un server tedesco, una famiglia di agenti che vanno a dormire ogni notte e si svegliano un po' più brillanti. Lo abbiamo costruito perché siamo piccoli e volevamo rilasciare prodotti come se non lo fossimo.

Salva con un clic

Leggi in profondità gli articoli virali con l’AI di YouMind

Salva la fonte, fai domande mirate, riassumi l’argomentazione e trasforma un articolo virale in note riutilizzabili in un unico spazio di lavoro AI.

Scopri YouMind
Per i creator

Trasforma il tuo Markdown in un articolo 𝕏 pulito

Quando pubblichi i tuoi testi lunghi, formattare immagini, tabelle e blocchi di codice per 𝕏 è una seccatura. YouMind trasforma un'intera bozza Markdown in un articolo 𝕏 pulito e pronto da pubblicare.

Prova Markdown verso 𝕏

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali