Oleksandr Kuzmenko, РедакторОпубліковано 6 хв читанняЗа участі AI · перевірено редактором
TL;DR
- Claude Code самостійно знайшов і реалізував алгоритми акустичної локації з наукової статті 2007 року.
- Передача модулів через WebSocket запобігає скиданню дозволів на мікрофон у мобільних браузерах під час ітерацій коду.
- Короткі аудіочірпи дозволяють точно синхронізувати часові шкали аудіопотоків на різних побутових пристроях.
Ключові факти
- Точність локалізації
- ~40 см
- Довжина аудіобуфера
- 60 секунд
- Вікно синхронізації кліпу
- від 0,6 с до пищання до 0,8 с після сигналу
Джерело: Ключові факти — Довжина аудіобуфера
Джерело: Ключові факти. Довжина аудіобуфера: 60 секунд. Кожне число скопійоване з історії.
- Довжина аудіобуфера60 секунд
Практичний патерн розробки з Claude Code
Саймон Віллісон опублікував кейс створення розподіленої системи Beep Locator за допомогою Claude Code для пошуку джерела звуку в захаращеній кімнаті за допомогою звичайних побутових девайсів (смартфонів, iPad та ноутбуків).
Claude самостійно знайшов наукову статтю 2007 року *BeepBeep: A High-Accuracy Acoustic-Based System for Ranging and Localization Using COTS Devices* і реалізував її математичні принципи (підрахунок семплів, двосторонній замір і синхронізацію імпульсів) у робочому стеку на Python та WebAudio.
Гаряча заміна модулів через WebSocket
Головним інженерним трюком для швидкої розробки з ШІ став обхід обмежень мобільних браузерів. При кожному перезавантаженні сторінки iOS та Android вимагають повторного підтвердження доступу до мікрофона, що унеможливлює автономні ітерації коду.
Агент реалізував механізм installModule() для віддаленого оновлення коду:
1. Клієнти підключаються до Python-сервера через WebSockets і запускають 60-секундний буфер WebAudio. 2. Коли Claude Code вносить правки в алгоритм детекції, сервер транслює новий JavaScript у відкритий сокет. 3. Клієнт виконує модуль у пам'яті, змінюючи логіку на льоту без релоаду сторінки та без втрати доступу до мікрофона.
Акустична синхронізація пристроїв
Для компенсації затримок сервер дає команду пристрою з найменшим RTT відтворити короткий звуковий сигнал (чірп). Усі вузли надсилають аудіофрагмент за інтервал від 0,6 с до пищання до 0,8 с після сигналу, що забезпечило точність тріангуляції звуку до 40 см.
Спробуй за 2 хвилини
// Hot-swap module over WebSocket to preserve browser audio permissions
socket.onmessage = (event) => {
const message = JSON.parse(event.data);
if (message.type === 'install_module') {
new Function(message.code)();
}
};Коли використовувати
- Для швидкого прототипування мультидевайсних сенсорних застосунків за допомогою ШІ-агента.
- Під час тестування клієнтської обробки WebAudio на різних мобільних і десктопних браузерах.
Коли НЕ варто
- У продакшен-середовищах, де виконання довільного коду через WebSocket створює критичні вразливості.
- Для систем безпеки, які вимагають апаратної синхронізації тактових частот на рівні мікросекунд.
Що зробити сьогодні
- Використовуйте динамічне виконання коду через WebSocket для прототипування мобільних агентів без скидання дозволів.
- Застосовуйте фільтри швидкого перетворення Фур'є прямо у буферах WebAudio для детекції подій.
- Формулюйте задачу для Claude Code у файлі problem.md перед початком генерації коду проекту.
Назви кроків узяті з блоку «Що зробити сьогодні».
Назви кроків узяті з блоку «Що зробити сьогодні». Використовуйте динамічне виконання коду через WebSocket для прототипування мобільних агентів без скидання дозволів.. Застосовуйте фільтри швидкого перетворення Фур'є прямо у буферах WebAudio для детекції подій.. Формулюйте задачу для Claude Code у файлі problem.md перед початком генерації коду проекту.
- Використовуйте динамічне виконання коду через WebSocket для прототипування мобільних агентів без скидання дозволів.
- Застосовуйте фільтри швидкого перетворення Фур'є прямо у буферах WebAudio для детекції подій.
- Формулюйте задачу для Claude Code у файлі problem.md перед початком генерації коду проекту.
