Claude Code encontrou um sensor que apitava pelo som de cinco dispositivos, com precisão de 40 cm
Num depósito com caixas fechadas, algo apitava de vez em quando, e procurar a origem à mão dava preguiça. O autor pediu ao Claude Code que montasse um aplicativo web: cinco dispositivos com microfone no navegador escutam a sala, alinham as gravações por meio de um chirp e triangulam o apito. Resultado: precisão de cerca de 40 cm e um detector de monóxido de carbono com as pilhas fracas.
Processado por IA de Habr AI; editado por Hamidun News
Uma história doméstica conhecida: numa sala com caixas ainda fechadas após a mudança, de vez em quando algo apita. O som é raro, não dá para localizar de ouvido, e ninguém quer revirar tudo. O autor da nota original resolveu o problema como hoje se resolvem muitos pequenos problemas: entregou a tarefa ao Claude Code. O resultado se chama Beep Locator, e o interessante é menos o apito em si do que a forma como o trabalho foi dividido entre a pessoa e o agente.
Como funciona o Beep Locator
No notebook roda um servidor web em Python. Os demais dispositivos acessam a página por QR code ou link e se tornam ouvintes. No teste participaram dois iPads, um celular, um MacBook Pro e um Surface. Cada dispositivo obtém acesso ao microfone via WebAudio e mantém na memória os últimos 60 segundos de gravação. Um detector simples, baseado na transformada rápida de Fourier com filtro passa-altas, marca apitos suspeitos e os informa ao servidor.
Depois vem a parte principal. O servidor pede a um dos dispositivos que toque um chirp curto e solicita a cada ouvinte um trecho de gravação de aproximadamente 0,6 segundo antes do apito até 0,8 segundo depois do chirp. O chirp serve como ponto de referência comum: por ele as gravações de diferentes dispositivos são alinhadas, e fica visível quanto mais cedo o apito chegou a um microfone do que a outro. A partir dessa diferença de tempo calcula-se a posição no mapa.
A ideia o próprio Claude encontrou: um artigo de 2007, BeepBeep, sobre medir distâncias por som em celulares e PDAs comuns. Ele só precisa de um alto-falante, um microfone e um canal de comunicação. Na configuração, os dispositivos primeiro tocaram sons uns para os outros para determinar a posição relativa, mas o resultado foi ruim. Então foi adicionado um «modo aproximado»: os ícones são arrastados no mapa mais ou menos para onde estão os dispositivos, e o sistema depois refina as coordenadas.
Troca de código a quente e iterações com o agente
A solução mais prática aqui não tem a ver com acústica. Já na primeira etapa foi incluído nos ouvintes o método installModule(): via WebSocket, o servidor pode enviar a qualquer dispositivo um novo JavaScript, que é executado imediatamente. O motivo é prosaico: em alguns dispositivos o navegador pede novamente acesso ao microfone após cada recarga da página, e passar por todos os aparelhos manualmente a cada alteração seria um tormento.
Graças a isso, o agente podia mudar o comportamento dos «ouvidos» em tempo real, ler os registros de sons e reconfigurar o detector sem participação humana. O autor, em geral, ficava por perto e dava as tarefas em linguagem simples. Pediu para adicionar um modo de palmas para testar o sistema, marcações de tempo nos ícones, um registro com botão para reproduzir a gravação de cada dispositivo e um botão «Este é o apito misterioso». A marcação ajuda o sistema a reconhecer a frequência certa e a acompanhar justamente ela. Depois surgiram a função «Reposicionar dispositivos», sem reiniciar os ouvintes, e uma dica de onde colocar mais um microfone para refinar a posição em cerca de 12%.
O projeto foi iniciado num iPhone no Claude Code com o modelo Opus 5.5 e concluído num notebook com o novo Fable 5.2. É um bom exemplo de divisão de trabalho: a primeira sessão escreveu o problem.md e a base, e a segunda depurou o sistema já em ambiente real.
O que tirar disso
A ideia central do autor: é possível dar órgãos dos sentidos a um agente de programação mesmo que o modelo não os tenha. O Claude não tem entrada de áudio própria, mas sabe escrever e executar código que analisa o som de microfones alheios e ajustar esse código por conta própria. Um truque parecido foi contado no GitHub Universe: uma webcam era apontada para a tela de um dispositivo para que o agente visse se a atualização havia funcionado. Para o desenvolvedor, a conclusão é simples: se o agente é «cego», pense em que canal barato de retorno dar a ele (câmera, microfone, logs, capturas de tela), e ele começará a fechar sozinho o ciclo «alterei — verifiquei».
Há também ressalvas. É um experimento caseiro, não um instrumento de precisão: a precisão é de cerca de 40 cm numa única sala com cinco dispositivos, e sem esse resultado seria preciso revirar as caixas de qualquer forma. A calibração automática por sons funcionou mal, por isso foi necessária a disposição manual. Além disso, um mecanismo que executa código arbitrário nos clientes via WebSocket é conveniente para depuração, mas em rede alheia é uma brecha pronta. Só vale usar isso em ambiente confiável e durante o experimento.
- 12 de nov. de 2026Jensen Huang deixa o cargo de CEO da Nvidia: empresa perde US$ 1,4 trilhão em duas semanas
- 12 de nov. de 2026Claude in Chrome exige autorização para cada clique em sites da categoria 3
- 12 de nov. de 2026AWS Quick ganha seis agentes para product managers: das reclamações de clientes à especificação
- 12 de nov. de 2026Anthropic fecha o Claude para empresas russas a partir de 12 de novembro, mesmo com entidade jurídica no exterior
Perguntas frequentes sobre a notícia
Como funciona o Beep Locator?
No notebook roda um servidor web em Python. Os demais dispositivos acessam a página por QR code ou link e se tornam ouvintes. No teste participaram dois iPads, um celular, um MacBook Pro e um Surface. Cada dispositivo obtém acesso ao microfone via WebAudio e mantém na memória os últimos 60 segundos de gravação. Um detector simples, baseado na transformada rápida de Fourier com filtro passa-altas, marca apitos suspeitos e os informa ao servidor. Depois vem a parte principal.
O que se sabe sobre Troca de código a quente e iterações com o agente?
A solução mais prática aqui não tem a ver com acústica. Já na primeira etapa foi incluído nos ouvintes o método installModule(): via WebSocket, o servidor pode enviar a qualquer dispositivo um novo JavaScript, que é executado imediatamente. O motivo é prosaico: em alguns dispositivos o navegador pede novamente acesso ao microfone após cada recarga da página, e passar por todos os aparelhos manualmente a cada alteração seria um tormento.
O que tirar disso?
A ideia central do autor: é possível dar órgãos dos sentidos a um agente de programação mesmo que o modelo não os tenha. O Claude não tem entrada de áudio própria, mas sabe escrever e executar código que analisa o som de microfones alheios e ajustar esse código por conta própria. Um truque parecido foi contado no GitHub Universe: uma webcam era apontada para a tela de um dispositivo para que o agente visse se a atualização havia funcionado.
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.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.