Artículo de trasteo dominical de Mark Dembo (Head of Solutions, Developer Platform & AI en Cloudflare) publicado el 7 de junio de 2026 en su blog personal. Narrativa: inspirado por Steve Ruiz, el autor compra un pequeño dispositivo M5Stack Stick 3 (~30 €) y, aprovechando el lanzamiento de Opus 4.8, se construye un agente de IA DIY «por pura curiosidad, sin ningún objetivo». Iteración 1 (45 min): pasa la documentación del dispositivo a Claude Code, que genera scripts en Python (~200 LOC, «zero blast radius») que muestran el tiempo en Múnich, luego en varias ciudades; un backend de Cloudflare Workers + Workers AI añade texto a voz (TTS), push-to-talk (voz a texto) y un small LLM central para responder preguntas. Iteración 2 (un agente real): cambio de los endpoints REST a transporte WebSocket mediante el Cloudflare Agents SDK + Dynamic Worker execution → el patrón «Code Mode» (el agente escribe y ejecuta código para llevar a cabo su tarea).
En este artículo del 7 de junio de 2026, Mark Dembo (Head of Solutions – Developer Platform & AI en Cloudflare) relata un proyecto de trasteo dominical: construirse un agente de IA DIY a partir de un pequeño dispositivo M5Stack Stick 3 comprado por ~30 €, inspirado por Steve Ruiz y motivado por el lanzamiento de Opus 4.8. El lema: «No hay ningún objetivo. Pura exploración y curiosidad. Y eso se siente genial.»
Primera iteración (45 minutos). Pasa la documentación del dispositivo a Claude Code, que produce scripts en Python de unas 200 líneas. Como tienen «zero blast radius», se permite no preocuparse por el código. El flujo sigue siendo human-in-the-loop (poco «2026» para su gusto): Opus genera, él copia y pega en la interfaz web UIFlow, la ejecuta y comunica el resultado de vuelta. Su papel se reduce a tres funciones — generador de ideas, ejecutor y juez. Un backend de Cloudflare Workers + Workers AI añade rápidamente texto a voz, push-to-talk (reconocimiento de voz) y un small LLM central: el objeto escucha, responde y suelta chistes malos.
Ni siquiera miré el código una sola vez. ¿Y sabes qué? Esa es la parte agradable.
— **Mark Dembo** , markpauldembo.com
Segunda iteración. Con vistas a un agente real, orienta a Opus hacia el Cloudflare Agents SDK, cambia el transporte de REST a WebSocket y habilita Dynamic Worker execution — desbloqueando su patrón preferido, «Code Mode»: el agente escribe y ejecuta código para llevar a cabo su tarea. Con acceso a internet, el agente calcula 11! con una línea de código, encuentra al ganador de la Champions League mediante fetch() en Wikipedia y da el tiempo de cualquier ciudad. Su límite: sin acceso a datos privados.
Tercera iteración. Conecta Todoist mediante un flujo MCP OAuth (añadido en unos minutos por Claude) — y hereda al instante 50 herramientas, de donde surgen dos problemas: sobrecarga de contexto y un blast radius real (una llamada mala podría destruir una tarea crítica). Su solución, extraída del MCP Server Portal de Cloudflare y de los conectores de Claude: configurar cada herramienta en Always allow / Ask for approval / Disable — las herramientas deshabilitadas nunca entran en el contexto, un clasificador LLM solo acepta autorizaciones explícitas, y el valor por defecto es denegar.
Lo que no hizo: ninguna optimización de latencia, ningún eval, ninguna llamada optimista — «Ni siquiera miré el código una sola vez. ¿Y sabes qué? Esa es la parte agradable.» El asombro final tiene menos que ver con la capacidad que con su accesibilidad: 30 € y unos céntimos de inferencia para un objeto que se gobierna en lenguaje natural.
Puntos clave
Fecha / fuente.7 de junio de 2026, blog personal markpauldembo.com. Autor: Mark Dembo, Head of Solutions Developer Platform & AI en Cloudflare. Inspiración: Steve Ruiz.
Contexto. trasteo dominical, ~30 € (M5Stack Stick 3) + Opus 4.8 recién lanzado. «Sin objetivo. Pura exploración y curiosidad.» ### Iteración 1 — de cero a un objeto que habla (45 min)
Documentación del dispositivo → Claude Code → scripts Python ~200 LOC, «zero blast radius» → «Puedo permitirme no preocuparme por el código en absoluto.»
Flujo human-in-the-loop (juzgado poco 2026): Opus genera → copiar y pegar en UIFlow → ejecutar → comunicar el resultado de vuelta a Claude.
Papel reducido a generador de ideas / ejecutor / juez (+ raramente guía técnico).
Backend Cloudflare Workers + Workers AI: TTS, push-to-talk (STT), small LLM central para responder. ### Iteración 2 — un mini-agente real
Datos públicos OK: 11! (una línea), ganador de la Champions League (mediante fetch() en Wikipedia — acceso a internet concedido al agente), tiempo de cualquier ciudad.
Límite: sin acceso a datos privados → próxima misión. ### Iteración 3 — poderes reales (y su salvaguarda)
Conexión a Todoist mediante MCP OAuth (añadida en minutos por Claude) → 50 herramientas de golpe.
Dos problemas: (1) sobrecarga de contexto (la mayoría de herramientas sin usar); (2) blast radius real (una llamada mala = eliminación de una tarea importante).
Solución (Cloudflare MCP Server Portal + conectores de Claude): por herramienta, Always allow / Ask for approval / Disable; Disabled queda fuera del contexto; el clasificador LLM solo acepta autorizaciones «allow» explícitas, el valor por defecto es denegar. ### Lo que NO hizo (asumido como elección)
Ninguna optimización de latencia/streaming para audio+LLM («sí, ya lo sé, es lento»).
Ninguna llamada LLM optimista, ningún eval de modelos/prompts.
*«Ni siquiera miré el código una sola vez». * — y esto se reivindica como la parte divertida. ### Para usar en encuentros / presentaciones
Prueba de accesibilidad. 30 € + 1 ventana de sesión + unos céntimos de inferencia → un objeto conversacional. «El verdadero desbloqueo está en lo accesible que es.»
Demostración concreta de Code Mode + MCP + gobernanza de herramientas (allow/ask/disable, denegación por defecto) — reutilizable para enmarcar la seguridad agéntica.
Contraste instructivo. con Failing Faster (Pragdave): aquí «zero blast radius» justifica no mirar nunca el código — la disciplina depende del blast radius, no del dogma.
Afirmaciones atribuidas
«I did not even look at the code once»
— Mark Dembo
la accesibilidad de la capacidad de IA (30 € + algunos céntimos de inferencia) es el verdadero desbloqueo
— Mark Dembo
El grafo de conocimiento extraído de esta ficha — 12 entidades, 13 relaciones.
En este 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 · Cloudflare