Billet de bricolage du dimanche de Mark Dembo (Head of Solutions, Developer Platform & AI chez Cloudflare) publié le 7 juin 2026 sur son blog perso. Récit : inspiré par Steve Ruiz, l'auteur achète un petit appareil M5Stack Stick 3 (~30 €) et, profitant de la sortie d'Opus 4.8, se construit un agent IA DIY « par pure curiosité, sans objectif ». Itération 1 (45 min) : il jette la doc de l'appareil à Claude Code, qui génère des scripts Python (~200 LOC, « zero blast radius ») affichant la météo de Munich, puis de plusieurs villes ; un backend Cloudflare Workers + Workers AI ajoute la synthèse vocale (TTS), le push-to-talk (speech-to-text) et un petit LLM central pour répondre aux questions. Itération 2 (vrai agent) : passage des endpoints REST au transport WebSocket via le Cloudflare Agents SDK + Dynamic Worker execution → le pattern « Code Mode » (l'agent écrit et exécute du code pour accomplir sa tâche).
Dans ce billet du 7 juin 2026, Mark Dembo (Head of Solutions – Developer Platform & AI chez Cloudflare) raconte un bricolage de dimanche : se construire un agent IA DIY à partir d'un petit appareil M5Stack Stick 3 acheté ~30 €, inspiré par Steve Ruiz et motivé par la sortie d'Opus 4.8. Le mot d'ordre : « There is no goal. Pure exploration and curiosity. And that feels just great. »
Première itération (45 minutes). Il jette la documentation de l'appareil à Claude Code, qui produit des scripts Python d'environ 200 lignes. Comme ils ont un « zero blast radius », il s'autorise à ne pas se soucier du code. Le flux reste human-in-the-loop (peu « 2026 » à son goût) : Opus génère, il copie-colle dans l'interface web UIFlow, lance, et rapporte le résultat. Son rôle se réduit à trois fonctions — idea generator, executor et judge. Un backend Cloudflare Workers + Workers AI ajoute vite la synthèse vocale, le push-to-talk (reconnaissance vocale) et un petit LLM central : l'objet écoute, répond et fait de mauvaises blagues.
I did not even look at the code once. And you know what? That's the nice part of it.
— **Mark Dembo** , markpauldembo.com
Deuxième itération. Visant un vrai agent, il pointe Opus vers le Cloudflare Agents SDK, bascule de REST vers le transport WebSocket et active la Dynamic Worker execution — débloquant le pattern qu'il préfère, « Code Mode » : l'agent écrit et exécute du code pour accomplir sa tâche. Doté d'un accès internet, l'agent calcule 11 ! par un one-liner, trouve le vainqueur de la Ligue des Champions via fetch() sur Wikipédia et donne la météo de n'importe quelle ville. Sa limite : aucune donnée privée.
Troisième itération. Il connecte Todoist via un flux MCP OAuth (ajouté en quelques minutes par Claude) — et hérite d'un coup de 50 outils, donc de deux problèmes : le gonflement du contexte et un blast radius réel (un mauvais appel pourrait détruire une tâche critique). Sa parade, inspirée du MCP Server Portal de Cloudflare et des connecteurs Claude : régler chaque outil sur Always allow / Ask for approval / Disable — les outils désactivés n'entrent jamais dans le contexte, un classifieur LLM n'accepte que des autorisations explicites et défaut = deny.
Ce qu'il n'a pas fait : ni optimisation de latence, ni évals, ni appels optimistes — « I did not even look at the code once. And you know what? That's the nice part of it. » L'émerveillement final porte moins sur la capacité que sur son accessibilité : 30 € et quelques cents d'inférence pour un objet qu'on pilote en langage naturel.
À retenir
Date / source.7 juin 2026, blog perso markpauldembo.com. Auteur : Mark Dembo, Head of Solutions Developer Platform & AI Cloudflare. Inspiration : Steve Ruiz.
Cadre. bricolage du dimanche, ~30 € (M5Stack Stick 3) + Opus 4.8 fraîchement sorti. « No goal. Pure exploration and curiosity. » ### Itération 1 — du zéro à un objet qui parle (45 min)
Doc de l'appareil → Claude Code → scripts Python ~200 LOC, « zero blast radius » → « I can afford to not care about the code at all ».
Flux human-in-the-loop (jugé peu 2026) : Opus génère → copier-coller dans UIFlow → run → reporter le résultat à Claude.
Rôle réduit à idea generator / executor / judge (+ rarement guide technique).
Backend Cloudflare Workers + Workers AI : TTS, push-to-talk (STT), petit LLM central pour répondre. ### Itération 2 — un vrai mini-agent
Données publiques OK : 11 ! (one-liner), vainqueur Champions League (via fetch() sur Wikipedia — accès internet donné à l'agent), météo de n'importe quelle ville.
Limite : pas d'accès aux données privées → mission suivante. ### Itération 3 — de vrais pouvoirs (et leur garde-fou)
Connexion Todoist via MCP OAuth (ajouté en minutes par Claude) → 50 outils d'un coup.
Deux problèmes : (1) bloat du contexte (la plupart des outils inutiles) ; (2) blast radius réel (un mauvais appel = suppression d'une tâche importante).
Solution (MCP Server Portal Cloudflare + connecteurs Claude) : par outil Always allow / Ask for approval / Disable ; Disabled hors contexte ; classifieur LLM n'accepte que les « allow » distincts, défaut = deny. ### Ce qu'il n'a PAS fait (assumé)
Pas d'optimisation latence/streaming audio+LLM (« yes, I know, it's slow »).
Pas d'appels LLM optimistes, pas d'évals modèles/prompts.
*« I did not even look at the code once ». * — et c'est revendiqué comme le plaisir du truc. ### À mobiliser en mission / présentation
Proof-point d'accessibilité. 30 € + 1 fenêtre de session + quelques cents d'inférence → objet conversationnel. « The true unlock is how accessible it is. »
Démonstration concrète de Code Mode + MCP + gouvernance d'outils (allow/ask/disable, default-deny) — réutilisable pour cadrer la sécurité agentique.
Contraste pédagogique. avec Failing Faster (Pragdave) : ici le « zero blast radius » justifie de ne jamais regarder le code — la discipline dépend du blast radius, pas du dogme.
Affirmations attribuées
« I did not even look at the code once »
— Mark Dembo
l'accessibilité de la capacité IA (30 € + quelques cents d'inférence) est le vrai déblocage
— Mark Dembo
Le graphe de connaissance extrait de cette fiche — 11 entités, 13 relations.
Dans ce graphe :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