Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
Безопасность и правоРазбор · На радарSimon Willison→ оригинал

Саймон Уиллисон собрал с Claude искатель писка и нашёл источник с точностью около 40 см

Саймон Уиллисон поручил Claude Code найти источник редкого писка среди коробок. Агент помог собрать Python-сервер и браузерное приложение: пять устройств записывали звук, а система сопоставляла записи и отмечала источник на карте. По словам автора, поиск сузился до области примерно в 40 см — там лежал старый датчик угарного газа. Практический урок: агенту полезно дать доступ к измерениям и результатам работы кода.

AI-обработка оригинала Simon Willison; редакция Hamidun News
Саймон Уиллисон собрал с Claude искатель писка и нашёл источник с точностью около 40 см
Источник: Simon Willison. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникSimon Willison ↗
Главный редактор
Ключевой факт #1Телефоны и ноутбуки подключаются по ссылке и становятся микрофонами.
Ключевой факт #2Короткий контрольный сигнал помогает совместить записи разных устройств.
Автокалибровка работала плохопозиции пришлось уточнять вручную.

Редкий писк — неприятная задача для домашней диагностики: пока доберёшься до нужной комнаты, устройство уже замолчало. У разработчика Саймона Уиллисона звук доносился из комнаты с неразобранными коробками. Вместо перебора всего содержимого он поручил Claude Code собрать Beep Locator: приложение, которое сопоставляет записи нескольких микрофонов и показывает предполагаемый источник на карте.

По словам Уиллисона, система указала местоположение с точностью около 40 см. В нужной стопке коробок нашёлся старый датчик угарного газа, требовавший замены батареек. Для разработчика здесь интересен способ работы: агент получил доступ к измерениям из комнаты, мог проверять результат своих изменений и продолжать доработку по наблюдаемым данным.

Пять устройств превращаются в измерительный прибор

Уиллисон использовал два iPad, телефон, MacBook Pro и Surface Ultra. Основной интерфейс обслуживает Python-сервер. Остальные устройства подключаются по ссылке или QR-коду, разрешают браузеру доступ к микрофону и обмениваются данными с сервером через WebSocket. Специальные микрофоны для этого эксперимента не понадобились.

Представьте телефон у двери, планшет на полке и ноутбук возле коробок. Один писк достигает их микрофонов в разное время. Если знать расположение устройств и правильно сопоставить записи, можно оценить, откуда пришёл звук. Но браузеры и сеть добавляют задержки: просто сравнить время получения сообщений сервером недостаточно.

Поэтому слушатели хранят последние 60 секунд аудио. Локальный алгоритм ищет возможные писки с помощью частотного анализа и фильтра. Когда поступает сообщение о событии, сервер поручает одному устройству воспроизвести короткий контрольный сигнал. Затем собирает фрагменты записей, содержащие исходный звук и этот сигнал. Контрольный звук помогает совместить записи для дальнейшего расчёта.

За основу исследования агент взял работу BeepBeep 2007 года об акустическом измерении расстояний на обычных устройствах. Однако результат домашнего эксперимента нельзя автоматически считать повторением точности исходной работы: здесь другая реализация и другие условия.

Проверка хлопками оказалась важнее красивой карты

Автоматическое определение взаимного расположения устройств работало недостаточно хорошо. Уиллисон добавил режим, в котором сам примерно расставлял значки на карте, после чего система пыталась уточнить координаты по звуковым измерениям. Это существенное ограничение: приложение потребовало настройки с участием человека.

Чтобы проверить локализацию, автор хлопал в ладоши в разных местах комнаты и сравнивал реальные позиции с отметками. Такая проверка давала понятный ответ на вопрос, действительно ли система умеет находить звук. Для разработчика это полезный приём: до поиска неизвестного источника проверить измерительный инструмент на событии с известными координатами.

Следующим шагом стало прослушивание записей с каждого устройства. Пользователь мог подтвердить, что система поймала нужный писк. После подтверждения приложение отслеживало его частоту, интервалы между событиями и уточняло предполагаемое положение. В интерфейсе также появилась подсказка, куда поставить дополнительный микрофон.

Заявленные 40 см относятся к одному описанному случаю. Материал не даёт серии испытаний в разных комнатах. Отражения звука, шум и ошибки в координатах устройств остаются причинами проверять результат на месте.

Агенту нужен доступ к результату

Важная деталь архитектуры — возможность отправлять слушателям новый JavaScript через WebSocket. Так агент мог менять обработку звука без перезагрузки каждой страницы. На некоторых устройствах перезагрузка снова требовала разрешения на микрофон, поэтому обновление кода на ходу сокращало ручную работу.

Именно этот цикл делает историю полезной для команд, которые используют агентов при разработке. Агент пишет код, получает измерения, видит ошибки и меняет реализацию. Похожую обратную связь можно организовать через логи приложения, тестовый стенд или снимки экрана устройства.

Практический вывод: выбирая задачу для агента, заранее продумайте, как он проверит результат. В Beep Locator понадобились аудиобуфер, воспроизведение записей, тестовые хлопки и ручное подтверждение событий. Эти инструменты помогли превратить работающий код в систему, которой автор смог воспользоваться для реального поиска.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: пять устройств превращаются в измерительный прибор?

Уиллисон использовал два iPad, телефон, MacBook Pro и Surface Ultra. Основной интерфейс обслуживает Python-сервер. Остальные устройства подключаются по ссылке или QR-коду, разрешают браузеру доступ к микрофону и обмениваются данными с сервером через WebSocket. Специальные микрофоны для этого эксперимента не понадобились. Представьте телефон у двери, планшет на полке и ноутбук возле коробок. Один писк достигает их микрофонов в разное время.

Что известно по теме: проверка хлопками оказалась важнее красивой карты?

Автоматическое определение взаимного расположения устройств работало недостаточно хорошо. Уиллисон добавил режим, в котором сам примерно расставлял значки на карте, после чего система пыталась уточнить координаты по звуковым измерениям. Это существенное ограничение: приложение потребовало настройки с участием человека. Чтобы проверить локализацию, автор хлопал в ладоши в разных местах комнаты и сравнивал реальные позиции с отметками.

Что известно по теме: агенту нужен доступ к результату?

Важная деталь архитектуры — возможность отправлять слушателям новый JavaScript через WebSocket. Так агент мог менять обработку звука без перезагрузки каждой страницы. На некоторых устройствах перезагрузка снова требовала разрешения на микрофон, поэтому обновление кода на ходу сокращало ручную работу. Именно этот цикл делает историю полезной для команд, которые используют агентов при разработке. Агент пишет код, получает измерения, видит ошибки и меняет реализацию.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика · Hamidun Academy

Соберите рабочего ИИ-агента или сервис своими руками без ручного кода

В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.

Открыть 72ч бесплатный доступ →Интенсив по Вайб-кодингу
Что вы думаете?
Загружаем комментарии…