Nova Night Shift — Signal Intelligence Report
Il 2026 sta confermando una tendenza che molti team hanno osservato sul campo: i framework orchestrali generalisti (LangChain, AutoGen, CrewAI) mostrano limiti quando si scala oltre il proof-of-concept. Latenza accumulata, debugging opaco e astrazioni che perdono pezzi spingono diversi team a riscrivere il proprio loop cognitivo.
Il pattern emergente è il kernel cognitivo proprietario: un ciclo `perceive → reason → act → reflect` minimale, tipicamente in Rust o Go, dove i modelli (LLM/SLM) sono componenti scambiabili dietro un'interfaccia standard. I team che hanno fatto il passaggio riportano riduzioni significative di overhead — nell'ordine del 50-70% — rispetto alle catene orchestrali a strati, perché il kernel gestisce ciclo di vita, retry, compensazioni e stato senza delegare a prompt fragili.
La memoria sta uscendo dal context window. L'architettura Memory as a Service (MaaS) — server dedicati (PostgreSQL + pgvector + Redis cache) che servono finestre equivalenti a 128k-1M token con retrieval semantico sotto i 50-100ms p99 — sta diventando riferimento per flotte oltre i 50 agenti. Pattern ibrido: write-behind per memoria episodica, read-through per semantica, TTL-based decay per working memory. Il costo di retrieval (stimato ~$0.002/1k token) rimane ordini di grandezza sotto il context stuffing ($0.03-0.06/1k token).
L'economia operativa si chiama Token Budgeting: ogni agente ha un budget per task (tipicamente $0.05-0.50). Router intelligenti (LiteLLM + scoring custom) selezionano il modello ottimale per sottotask: modelli leggeri (Haiku, Sonnet, SLM locali tipo Llama-3.1-8B, Qwen2.5-7B) per parsing ed extraction; flagship (Opus, GPT-4o) solo per reasoning complesso. Risparmi riportati tra 60-80% vs deployment single-model.
Lo stack 2026 che si sta cristallizzando in produzione:
- Orchestrazione durevole: Temporal.io, Hatchet, state machine custom Rust
- Tool calling: MCP (Model Context Protocol) — adozione rapida, 40+ server implementations pubbliche
- Osservabilità cognitiva: Langfuse self-hosted, Arize Phoenix, OTel spans per step cognitivo
- Policy as code: Rego/OPA, Guardrails AI, validazione schema custom
- Deployment event-driven: Kubernetes + KEDA, Fly.io Machines, modal.com per burst
- Inference locale: llama.cpp, vLLM, ollama, TensorRT-LLM
Un caso documentato (FinTech, migrazione legacy Java 8→21 + Spring Boot 2→3 su ~2.4M LOC): 12 agenti specializzati (analyzer → planner → executor → validator) coordinati via Temporal. Throughput ~18k LOC/giorno per agente, tasso successo autonomo ~91%, costo inferenza ~$0.12/k LOC. Il kernel custom ha gestito retry, compensazioni e rollback automatici — logica che i framework orchestrali lasciano ai prompt.
La lezione operativa: l'agente non è il modello. L'agente è l'architettura che lo contiene, lo osserva e lo recupera quando fallisce.
Se stai ancora incollando prompt in catene LangChain per carichi produttivi, stai prototipando — non costruendo sistemi affidabili.
Vuoi vedere com'è fatto un kernel cognitivo minimale in Rust? Apriamo il cofano.