En vivo 18.11 · Cohorte 318 nov, 19:00 MSK — taller práctico gratuito de agentes IA · Cohorte 3 en vivo inicia 23.11Taller 18 nov →Cohorte 3 (23.11)
LanzamientoAnálisis · En radarHabr AI→ original

Claude Code encontró un sensor que pitaba por el sonido de cinco dispositivos, con una precisión de 40 cm

En un trastero con cajas sin desembalar algo pitaba de vez en cuando, y buscar la fuente a mano daba pereza. El autor pidió a Claude Code que montara una aplicación web: cinco dispositivos con micrófono en el navegador escuchan la habitación, alinean las grabaciones mediante un chirp y trianguelan el pitido. Resultado: una precisión de unos 40 cm y un detector de monóxido de carbono con las pilas agotadas.

Procesado por IA desde Habr AI; editado por Hamidun News
Claude Code encontró un sensor que pitaba por el sonido de cinco dispositivos, con una precisión de 40 cm
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
La base es el método BeepBeep de 2007un chirp y la alineación de grabaciones
Dato clave #2El reemplazo en caliente de módulos JS en los oyentes dio libertad de edición al agente
Dato clave #3Se puede «dar oídos» a un agente mediante WebAudio y WebSocket sin que tenga entrada de audio propia

Una historia doméstica conocida: en una habitación con cajas sin deshacer tras una mudanza, de vez en cuando algo pita. El sonido es esporádico, no se localiza a oído y nadie quiere revolverlo todo. El autor de la nota original resolvió el problema como hoy se resuelven muchos pequeños problemas: se lo encargó a Claude Code. El resultado se llama Beep Locator, y resulta interesante no tanto por el pitido como por cómo se organizó el trabajo entre la persona y el agente.

Cómo funciona Beep Locator

En un portátil se ejecuta un servidor web en Python. Los demás dispositivos abren la página mediante un código QR o un enlace y se convierten en oyentes. En la prueba participaron dos iPad, un teléfono, un MacBook Pro y un Surface. Cada dispositivo obtiene acceso al micrófono mediante WebAudio y guarda en memoria los últimos 60 segundos de grabación. Un detector sencillo basado en la transformada rápida de Fourier con un filtro de paso alto marca los pitidos sospechosos y se lo comunica al servidor.

Luego viene lo principal. El servidor pide a uno de los dispositivos que reproduzca un chirp corto y solicita a cada oyente un fragmento de grabación desde aproximadamente 0,6 segundos antes del pitido hasta 0,8 segundos después del chirp. El chirp sirve de punto de referencia común: con él se alinean las grabaciones de distintos dispositivos y se ve cuánto antes llegó el pitido a un micrófono que a otro. A partir de esa diferencia de tiempo se calcula la posición en el mapa.

La idea la encontró el propio Claude: un artículo de 2007, BeepBeep, sobre medir distancias mediante sonido en teléfonos y PDA corrientes. Solo necesita un altavoz, un micrófono y un canal de comunicación. Para la configuración, los dispositivos primero se reprodujeron sonidos entre sí para determinar su posición relativa, pero funcionó mal. Entonces se añadió un «modo aproximado»: los iconos se arrastran por el mapa más o menos al lugar donde están los dispositivos, y el sistema después afina las coordenadas.

Sustitución de código en caliente e iteraciones con el agente

La solución más práctica aquí no tiene que ver con la acústica. Ya en la primera etapa se incorporó a los oyentes el método installModule(): por WebSocket, el servidor puede enviar a cualquier dispositivo nuevo JavaScript, que se ejecuta de inmediato. El motivo es prosaico: en algunos dispositivos el navegador vuelve a pedir acceso al micrófono tras cada recarga de la página, y recorrer todos los aparatos a mano después de cada cambio sería un suplicio.

Gracias a eso, el agente podía cambiar el comportamiento de los «oídos» sobre la marcha, leer los registros de sonidos y reconfigurar el detector sin intervención humana. El autor se limitaba en su mayoría a estar al lado y plantear tareas en lenguaje sencillo. Pidió añadir un modo de palmadas para probar el sistema, marcas de tiempo en los iconos, un registro con un botón para reproducir la grabación de cada dispositivo y un botón «Este es el pitido misterioso».

La marca ayuda al sistema a reconocer la frecuencia correcta y a seguir precisamente esa. Después aparecieron la función «Reubicar dispositivos» sin reiniciar los oyentes y una sugerencia de dónde colocar un micrófono más para afinar la posición en torno a un 12 %.

El proyecto se empezó en un iPhone en Claude Code con el modelo Opus 5.5 y se terminó en un portátil con la nueva Fable 5.2. Es un buen ejemplo de reparto del trabajo: la primera sesión escribió problem.md y la base, y la segunda depuró el sistema ya en un entorno real.

Qué conclusiones sacar

La idea principal del autor: a un agente de programación se le pueden dar órganos de los sentidos aunque el modelo no los tenga. Claude no tiene entrada de audio propia, pero sabe escribir y ejecutar código que analiza el sonido de micrófonos ajenos y ajustar ese código por sí mismo. Un truco parecido se contó en GitHub Universe: se apuntaba una webcam a la pantalla de un dispositivo para que el agente viera si la actualización había funcionado. Para el desarrollador la conclusión es simple: si el agente está «ciego», piense qué canal barato de retroalimentación darle (cámara, micrófono, registros, capturas de pantalla) y empezará a cerrar solo el ciclo «cambié — comprobé».

Hay también salvedades. Es un experimento casero, no un instrumento de precisión: la exactitud es de unos 40 cm en una sola habitación con cinco dispositivos, y sin este resultado habría que revolver las cajas de todos modos. La calibración automática por sonidos funcionó mal, así que hizo falta la colocación manual. Además, un mecanismo que ejecuta código arbitrario en los clientes por WebSocket es cómodo para depurar, pero en una red ajena es un agujero listo para usar. Conviene emplearlo solo en un entorno de confianza y durante el experimento.

Historia

Preguntas frecuentes sobre la noticia

Cómo funciona Beep Locator?

En un portátil se ejecuta un servidor web en Python. Los demás dispositivos abren la página mediante un código QR o un enlace y se convierten en oyentes. En la prueba participaron dos iPad, un teléfono, un MacBook Pro y un Surface. Cada dispositivo obtiene acceso al micrófono mediante WebAudio y guarda en memoria los últimos 60 segundos de grabación. Un detector sencillo basado en la transformada rápida de Fourier con un filtro de paso alto marca los pitidos sospechosos y se lo comunica al servidor.

¿Qué se sabe sobre Sustitución de código en caliente e iteraciones con el agente?

La solución más práctica aquí no tiene que ver con la acústica. Ya en la primera etapa se incorporó a los oyentes el método installModule(): por WebSocket, el servidor puede enviar a cualquier dispositivo nuevo JavaScript, que se ejecuta de inmediato. El motivo es prosaico: en algunos dispositivos el navegador vuelve a pedir acceso al micrófono tras cada recarga de la página, y recorrer todos los aparatos a mano después de cada cambio sería un suplicio.

¿Qué se sabe sobre Qué conclusiones sacar?

La idea principal del autor: a un agente de programación se le pueden dar órganos de los sentidos aunque el modelo no los tenga. Claude no tiene entrada de audio propia, pero sabe escribir y ejecutar código que analiza el sonido de micrófonos ajenos y ajustar ese código por sí mismo. Un truco parecido se contó en GitHub Universe: se apuntaba una webcam a la pantalla de un dispositivo para que el agente viera si la actualización había funcionado.

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
¿Qué te parece?
Cargando comentarios…