DeerFlow 2.0: quando ByteDance prova a ridefinire gli agent harness (e ci riesce)

## Quello che ByteDance non dice (ma che conta davvero)

Febbraio 2026. DeerFlow 2.0 piomba su GitHub e in 24 ore diventa trending topic numero uno. 25.000 stelle, 3.000 fork. La community tech ha fiutato qualcosa — non l’ennesimo wrapper attorno a un LLM, ma un framework che prova davvero a dare agli agenti AI quello che gli serve per lavorare nel mondo reale.

Licenza MIT. Open source integrale. Costruito sopra LangGraph e LangChain. ByteDance lo chiama “harness” — e non è una scelta lessicale casuale.

Harness significa che l’infrastruttura è già lì. Filesystem? Check. Memoria persistente? Check. Esecuzione sicura di codice Python e bash? Check. Sistema di skill estensibile? Check. Orchestrazione di sub-agenti? Check.

Non devi assemblare nulla — giri DeerFlow e hai un agente pronto a delegare compiti, ricordare preferenze, esplorare decine di fonti in parallelo, e generare da report a siti web passando per slide e podcast.

## Da framework di ricerca a super agent (e perché questa volta conta)

Lo so, lo so — “questa volta è diverso” l’avete sentito mille volte quest’anno. Ogni rilascio AI promette breakthrough, poi nella pratica vedi tipo 2% di miglioramento se sei fortunato.

Ma DeerFlow 1.0 era una cosa, la 2.0 è un’altra. Zero righe di codice in comune. Riscrittura totale.

La v1 faceva deep research: gli davi un argomento, orchestrava ricerche web, sintetizzava risultati, sputava un report. Utile ma limitato. Gli utenti però avevano iniziato a forzarlo — pipeline dati, generazione slide, automazione contenuti. La community stava tirando il framework ben oltre i confini originali.

ByteD ha guardato cosa succedeva e ha rifatto tutto da capo. Il cambio concettuale chiave? DeerFlow non è più un framework che assembli manualmente pezzo per pezzo. È un runtime — dai all’agente l’infrastruttura per fare davvero le cose, e lui decide come usarla.

## Come funziona (la parte che conta)

Architettura full-stack, quattro servizi coordinati da Nginx:

**LangGraph Server (porta 2024)** — il cuore. Gestisce runtime degli agenti, stato conversazioni, streaming SSE. Costruito sopra LangGraph, appunto.

**Gateway API (porta 8001)** — FastAPI, endpoint REST per config, skill management, upload file, artefatti.

**Frontend (porta 3000)** — Next.js/React. Chat, visualizzazione artefatti, impostazioni.

**Nginx (porta 2026)** — punto di ingresso unico che tiene insieme tutto.

Due file di configurazione condivisi: `config.yaml` per modelli LLM, strumenti, sandbox, memoria. `extensions_config.json` per server MCP e skill.

L’agente principale parte da `make_lead_agent()` e passa attraverso 11 middleware prima di ogni interazione con l’LLM. Non sto a elencarli tutti — basta sapere che gestiscono upload file, sandbox, summarization del contesto quando sfiori il limite token, memoria asincrona, gestione immagini se il modello supporta vision.

## Le skill: il meccanismo che cambia le carte in tavola

Ecco la parte interessante. Le **skill** sono file Markdown con frontmatter YAML che descrivono capacità specifiche. Il contenuto finisce iniettato direttamente nel system prompt quando abiliti quella skill.

Di default hai:
– Deep Research, Report Generation, Slide Creation, Frontend Design
– Image Generation, Video Generation, Podcast Generation
– Chart Visualization (oltre 20 tipologie), Data Analysis, Consulting Analysis
– Skill Creator (sì, una skill per creare altre skill)

Le skill custom? Vanno in `skills/custom/` e le installi via endpoint `POST /api/skills/install` con archivi `.skill` (che sono ZIP).

Un file Markdown cambia le capacità dell’agente. Tutto qui. Ma è un “tutto qui” che vale parecchio.

## Sub-agenti: quando un agente non basta

Per task complessi, il lead agent può creare sub-agenti al volo tramite tool `task`. Ognuno con:
– Contesto isolato
– Set specifico di tool
– Condizione di terminazione

Scheduler pool: 3 worker per pianificare.
Execution pool: 3 worker per eseguire.
Limite concorrenza: 3 sub-agenti (configurabile).
Timeout: 15 minuti.

Due tipi: `general-purpose` (tutti i tool tranne `task`) e `bash` (specializzato shell).

Pratico quando devi parallelizzare ricerche, elaborare dataset separati, o delegare sottoproblemi mentre il lead agent orchestra.

## Il sandbox: l’agente ha il suo computer (e sa come usarlo)

Ogni thread ottiene sandbox isolato con filesystem proprio. L’agente può leggere, scrivere, modificare file, eseguire comandi bash, installare pacchetti.

Struttura filesystem virtuale:
“`
/mnt/user-data/workspace/ — spazio lavoro
/mnt/user-data/uploads/ — file caricati utente
/mnt/user-data/outputs/ — output finali
/mnt/skills/ — skill disponibili
“`

Tre modalità sandbox:
1. **Local Execution** — esecuzione diretta su host (dev/test)
2. **Docker Execution** — container isolati (raccomandato produzione)
3. **Docker + Kubernetes** — pod Kubernetes per enterprise

Analisti sicurezza consigliano deployment esclusivamente containerizzato con immagini hardened. Proprietà ByteDance potrebbe attivare revisioni aggiuntive in settori regolamentati — indipendentemente dai meriti tecnici del codice.

## Memoria: cosa ricorda, come lo ricorda

Fine interazione: `MemoryMiddleware` mette in coda la conversazione. Processo background aspetta 30 secondi, invoca LLM per estrarre info rilevanti, aggiorna `backend/.deer-flow/memory.json`.

Struttura memoria:
– `userContext` (workContext, personalContext, topOfMind)
– `history` (recentMonths, earlierContext, longTermBackground)
– `facts` con categorie: preference, knowledge, context, behavior, goal

Top 15 fact (filtrati per confidence) finiscono nel system prompt dentro tag ``. La memoria è locale — sotto controllo utente, nessuna dipendenza da cloud terze parti.

Che tradotto significa: l’agente impara dalle conversazioni, ma i dati rimangono sul tuo hardware.

## Tool e integrazione MCP: come l’agente fa cose

Tre fonti di tool:

1. **Built-in**: `present_files`, `ask_clarification`, `view_image`
2. **Via config.yaml**: web search, web fetch, bash, file operations
3. **Tool MCP**: integrazione con qualsiasi server MCP (protocollo Anthropic)

I tool MCP caricano lazy, vengono cachati. Supporta trasporti stdio, SSE, HTTP. OAuth completo per server che richiedono autenticazione.

Recentemente hanno integrato InfoQuest — il toolset di ricerca e crawling sviluppato internamente da BytePlus.

## Context engineering: gestire finestre lunghe senza impazzire

Due strategie:

**Contesto isolato per sub-agente** — il lead agent riceve solo risultato finale strutturato, non tutto lo storico del sub-agente.

**SummarizationMiddleware** — si attiva quando superi limite configurato (numero token, numero messaggi, o frazione del contesto massimo). Condensa la conversazione mantenendo info critiche.

Pratico quando lavori con modelli che hanno finestre 100K+ token ma non infinite.

## Canali IM: controllare DeerFlow da Telegram, Slack, Feishu

DeerFlow riceve task da app messaggistica senza bisogno di IP pubblico:

– **Telegram**: Bot API long-polling
– **Slack**: Socket Mode
– **Feishu/Lark**: WebSocket

Comandi disponibili: `/new`, `/status`, `/models`, `/memory`, `/help`.

Utile quando vuoi dare accesso al team senza esporre interfaccia web.

## Stack tecnologico (per chi vuole sporcarsi le mani)

**Backend**
Python 3.12+, LangGraph/LangChain, FastAPI, Docker/Kubernetes, Pydantic v2, pytest, Ruff.

**Frontend**
Next.js, React, pnpm, Node.js 22+.

**Modelli**
Model-agnostic. Funziona con qualsiasi LLM compatibile API OpenAI. Provider nativi: OpenAI, Anthropic, DeepSeek, più qualsiasi integrazione LangChain.

Ottimale con modelli che hanno finestre 100K+ token, reasoning solido, vision, tool use affidabile.

## Come installarlo (la parte facile)

“`bash
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
make config
make docker-init
make docker-start
# http://localhost:2026
“`

Variabili `.env` minime: `OPENAI_API_KEY` o `ANTHROPIC_API_KEY` più almeno un tool di ricerca web tipo `TAVILY_API_KEY`.

## Perché questo rilascio conta davvero

Cinque motivi:

**1. Harness come concetto** — runtime completo, non framework da assemblare pezzo per pezzo.

**2. Skill come unità di estensione** — un file Markdown cambia capacità agente. Semplice, potente.

**3. Sandbox come game changer** — l’agente esegue codice in sicurezza, non ne parla soltanto.

**4. Memoria persistente locale** — estratta automaticamente, senza dipendere da servizi cloud terze parti.

**5. Extensibilità totale** — LLM, tool, skill, canali, sandbox. Tutto sostituibile.

Open source MIT su LangGraph e LangChain. Community attiva. 25.000 stelle in pochi giorni non sono casuali.

## Il contesto strategico (che nessuno dice ma tutti pensano)

ByteD ha rilasciato DeerFlow sotto MIT. Scelta open source serve a costruire ecosistema prima della consolidazione mercato agent framework — prevista attorno al 2027 secondo analisti.

DeerFlow si posiziona come “LangGraph plus batteries” — infrastruttura production-grade, non solo astrazione workflow.

Uno dei rilasci open source AI più significativi di inizio 2026. Repository: https://github.com/bytedance/deer-flow — Sito: https://deerflow.tech/

Perfetto? No. I capelli hanno ancora momenti strani con pose complesse (scherzo, è DeerFlow non Stable Diffusion). Ma rispetto alla v1, e rispetto a molti altri framework agent là fuori, questo ha sostanza.