Post domenicale di sperimentazione di Mark Dembo (Head of Solutions, Developer Platform & AI presso Cloudflare) pubblicato il 7 giugno 2026 sul suo blog personale. Narrazione: ispirato da Steve Ruiz, l'autore acquista un piccolo dispositivo M5Stack Stick 3 (~30€) e, approfittando del rilascio di Opus 4.8, si costruisce un agente AI DIY "per pura curiosità, senza alcun obiettivo". Iterazione 1 (45 minuti): sottopone la documentazione del dispositivo a Claude Code, che genera script Python (~200 LOC, "raggio d'azione nullo") che mostrano il meteo di Monaco, poi di più città; un backend Cloudflare Workers + Workers AI aggiunge sintesi vocale (TTS), push-to-talk (riconoscimento vocale) e un piccolo LLM centrale per rispondere alle domande. Iterazione 2 (un agente vero): passaggio da endpoint REST a trasporto WebSocket tramite Cloudflare Agents SDK + Dynamic Worker execution → il pattern "Code Mode" (l'agente scrive ed esegue codice per portare a termine il suo compito).
In questo post del 7 giugno 2026, Mark Dembo (Head of Solutions – Developer Platform & AI presso Cloudflare) racconta un progetto di sperimentazione domenicale: costruire un agente AI DIY a partire da un piccolo dispositivo M5Stack Stick 3 acquistato per ~30€, ispirato da Steve Ruiz e motivato dal rilascio di Opus 4.8. Il motto: "Non c'è alcun obiettivo. Pura esplorazione e curiosità. Ed è semplicemente fantastico."
Prima iterazione (45 minuti). Sottopone la documentazione del dispositivo a Claude Code, che produce circa 200 righe di script Python. Dato che hanno "raggio d'azione nullo", si concede il lusso di non preoccuparsi affatto del codice. Il flusso resta human-in-the-loop (poco "2026" per i suoi gusti): Opus genera, lui copia-incolla nell'interfaccia web UIFlow, esegue e riporta il risultato. Il suo ruolo si riduce a tre funzioni — generatore di idee, esecutore e giudice. Un backend Cloudflare Workers + Workers AI aggiunge rapidamente sintesi vocale, push-to-talk (riconoscimento vocale) e un piccolo LLM centrale: l'oggetto ascolta, risponde e racconta battute scadenti.
Seconda iterazione. Puntando a un agente vero, indirizza Opus verso il Cloudflare Agents SDK, passa da REST a trasporto WebSocket e attiva la Dynamic Worker execution — sbloccando il suo pattern preferito, "Code Mode": l'agente scrive ed esegue codice per portare a termine il suo compito. Con accesso a internet, l'agente calcola 11! con una riga di codice, trova il vincitore della Champions League via fetch() su Wikipedia e fornisce il meteo di qualsiasi città. Il suo limite: nessun accesso ai dati privati.
Terza iterazione. Connette Todoist tramite un flusso MCP OAuth (aggiunto in pochi minuti da Claude) — ed eredita 50 strumenti tutti insieme, da cui due problemi: saturazione del contesto (context bloat) e un rischio reale (una chiamata sbagliata potrebbe eliminare un'attività critica). La sua contromisura, ispirata al MCP Server Portal di Cloudflare e ai connettori Claude: impostare ogni strumento su Always allow / Ask for approval / Disable — gli strumenti disabilitati non entrano mai nel contesto, un classificatore LLM accetta solo autorizzazioni esplicite, e il default = deny.
Cosa non ha fatto: nessuna ottimizzazione della latenza, nessuna valutazione (evals), nessuna chiamata ottimistica — "Non ho nemmeno guardato il codice una sola volta. E sapete cosa? È proprio questa la parte bella." Lo stupore finale riguarda meno la capacità che la sua accessibilità: 30€ e qualche centesimo di inferenza per un oggetto controllato in linguaggio naturale.
Punti chiave
Data / fonte.7 giugno 2026, blog personale markpauldembo.com. Autore: Mark Dembo, Head of Solutions Developer Platform & AI Cloudflare. Ispirazione: Steve Ruiz.
Contesto. sperimentazione domenicale, ~30€ (M5Stack Stick 3) + Opus 4.8 appena rilasciato. "Nessun obiettivo. Pura esplorazione e curiosità." ### Iterazione 1 — da zero a un oggetto parlante (45 min)
Documentazione del dispositivo → Claude Code → script Python ~200 LOC, "raggio d'azione nullo" → "posso permettermi di non preoccuparmi affatto del codice".
Flusso human-in-the-loop (giudicato poco 2026): Opus genera → copia-incolla in UIFlow → esecuzione → il risultato viene riportato a Claude.
Ruolo ridotto a generatore di idee / esecutore / giudice (+ raramente guida tecnica).
Backend Cloudflare Workers + Workers AI: TTS, push-to-talk (STT), piccolo LLM centrale per rispondere. ### Iterazione 2 — un vero mini-agente
Dati pubblici OK: 11! (una riga di codice), vincitore della Champions League (via fetch() su Wikipedia — accesso a internet concesso all'agente), meteo di qualsiasi città.
Limite: nessun accesso ai dati privati → prossima missione. ### Iterazione 3 — poteri reali (e la loro salvaguardia)
Connessione a Todoist via MCP OAuth (aggiunta in pochi minuti da Claude) → 50 strumenti tutti insieme.
Due problemi: (1) saturazione del contesto (context bloat) (la maggior parte degli strumenti inutilizzata); (2) rischio reale (una chiamata sbagliata = eliminazione di un'attività importante).
Soluzione (Cloudflare MCP Server Portal + connettori Claude): per ogni strumento Always allow / Ask for approval / Disable; Disabled resta fuori dal contesto; classificatore LLM accetta solo autorizzazioni "allow" distinte, default = deny. ### Cosa NON ha fatto (assunto consapevolmente)
Nessuna ottimizzazione di latenza/streaming audio+LLM ("sì, lo so, è lento").
Nessuna chiamata LLM ottimistica, nessuna valutazione (evals) di modelli/prompt.
*"Non ho nemmeno guardato il codice una sola volta". * — rivendicato come la parte divertente. ### Da usare in brief / presentazioni
Prova di accessibilità. 30€ + 1 finestra di sessione + qualche centesimo di inferenza → oggetto conversazionale. "Il vero sblocco è quanto sia accessibile."
Dimostrazione concreta di Code Mode + MCP + governance degli strumenti (allow/ask/disable, default-deny) — riutilizzabile per inquadrare la sicurezza agentica.
Contrasto pedagogico. con Failing Faster (Pragdave): qui il "raggio d'azione nullo" giustifica il non guardare mai il codice — la disciplina dipende dal raggio d'azione, non dal dogma.
Affermazioni attribuite
« I did not even look at the code once »
— Mark Dembo
l'accessibilità della capacità IA (30 € + pochi centesimi di inferenza) è il vero sblocco
— Mark Dembo
Il grafo di conoscenza estratto da questa fiche — 11 entità, 13 relazioni.
In questo grafo :Mark Dembo · BYO Agent with M5Stack Stick 3 · M5Stack Stick 3 · Opus 4.8 · Cloudflare Workers / Workers AI · Cloudflare Agents SDK · Code Mode · MCP (OAuth) · gouvernance d'outils MCP · zero blast radius · idea generator / executor / judge