Architettura della gestione degli errori in Go: confini e pattern
Gestisci gli errori al giusto confine.
La gestione degli errori in Go è facile da criticare. Ogni sviluppatore Go ha scritto questo codice centinaia di volte:
Gestisci gli errori al giusto confine.
La gestione degli errori in Go è facile da criticare. Ogni sviluppatore Go ha scritto questo codice centinaia di volte:
Smetti di usare sleep nei test Go concorrenti.
Testare il codice Go concorrente ha sempre richiesto un po’ di disciplina. Le goroutine sono leggere, i channel sono semplici e la cancellazione del contesto è idiomatica: i worker in background e i timer sono onnipresenti nei servizi Go reali.
A2A non è morto. Semplicemente non è universale.
Il protocollo Agent2Agent di Google, solitamente abbreviato in A2A, ha avuto un primo anno bizzarro.
Pattern di polling affidabili per agenti AI.
Gli agenti di polling sono una delle parti meno glamour dell’architettura degli assistenti AI, ma sono anche tra le più utili.
A2A trasforma gli agenti in pari della rete.
Il protocollo A2A, acronimo di Agent2Agent Protocol, è uno standard aperto per la comunicazione tra sistemi di agenti AI indipendenti.
MCP fornisce agli agenti strumenti. A2A fornisce agli agenti pari.
L’architettura degli agenti AI sta iniziando a dividersi in due livelli.
Implementa CQRS in Go senza inutili formalismi
CQRS è uno di quei pattern che viene spesso sopravvalutato, complicato eccessivamente e talvolta diagnosticato erroneamente come la cura per la noia del buon vecchio CRUD.
Diagrammi come codice, senza il caos.
Mermaid è uno strumento di diagrammazione basato su testo, pensato per chi preferisce scrivere i diagrammi piuttosto che trascinare caselle su un canvas. Utilizza una sintassi simile a Markdown per descrivere diagrammi di flusso, diagrammi di sequenza, diagrammi di classe, macchine a stati, linee temporali, diagrammi di Gantt, diagrammi delle relazioni tra entità e molto altro.
Note che migliorano invece di deperire.
La maggior parte delle note ingegneristiche viene scritta una volta e poi dimenticata. Si cattura qualcosa durante una sessione di debugging, lo si incolla in qualche posto e si ritrova due anni dopo senza alcun contesto sul perché fosse importante.
Organizza le note in base all’azione, non all’argomento.
Organizzare le note per argomento sembra logico finché non ti ritrovi con note su PostgreSQL in cinque cartelle diverse e non riesci a trovare quella che è importante per il problema di oggi.
Pubblica conoscenza che cresce, non solo post.
Il modello dominante per la pubblicazione di conoscenza online non è cambiato molto dagli inizi degli anni 2000: scrivi qualcosa, rifiniscilo, pubblicalo, passa oltre.
Scegli il pattern più semplice che funzioni.
I sistemi single-model sono semplici. I sistemi multi-model sono potenti. La sfida non consiste nel scegliere i modelli, ma nel progettare l’architettura che li orchestra.
Spendi token dove contano davvero.
I costi degli LLM scala linearmente con l’utilizzo. Un sistema che elabora 10.000 richieste al giorno a $0,01 per richiesta costa $100 al giorno — 365 dollari l’anno. Su scala enterprise, si superano i $10.000.
Il modello giusto per il compito giusto.
Eseguire un modello con 70 miliardi di parametri per riassumere un’email di 200 parole è uno spreco. Eseguire un modello da 3 miliardi di parametri per revisionare il codice in produzione è imprudente. La maggior parte dei sistemi si colloca da qualche punto intermedio: ed è qui che entra in gioco il routing dei modelli.
Controlla il rischio, non solo il modello.
I LLM sono imprevedibili. Hallucinate, perdono dati, generano contenuti dannosi o rifiutano richieste legittime. I guardrails (meccanismi di sicurezza) vincolano il comportamento del modello senza sacrificare le sue capacità.
Memoria di lavoro, strutturata e di recupero per gli assistenti.
La memoria trasforma gli assistenti da reattivi a persistenti, ma è anche il punto in cui molti sistemi si deteriorano silenziosamente. Le ricerche sostengono che la divisione tra memoria a breve e a lungo termine non sia più sufficiente per la memoria degli agenti moderni; gli SDK di OpenAI e LangGraph indicano un’architettura più semplice — memoria di lavoro, stato duraturo e recupero.
Ricevi nuovi articoli su sistemi, infrastruttura e ingegneria AI.