
LLM собрала IndexedDB с нуля: 1208 тестов, SQLite и несколько неприятных сюрпризов
kmoseenk 13 минут назад LLM собрала IndexedDB с нуля: 1208 тестов, SQLite и несколько неприятных сюрпризов Средний 13 мин 419 Блог компании OTUS Искусственный интеллект Веб-разработка * Тестирование IT-систем * Кейс...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. kmoseenk 13 минут назад LLM собрала IndexedDB с нуля: 1208 тестов, SQLite и несколько неприятных сюрпризов Средний 13 мин 419 Блог компании OTUS Искусственный интеллект Веб-разработка * Тестирование IT-систем * Кейс Перевод Автор оригинала: Nolan TL;DR: одним промптом я реализовал IndexedDB с помощью Claude Code и Ralph loop: получилось пройти 95% целевого подмножества Web Platform Tests и 77,4% более строгого набора тестов. Когда я узнал, что два простых браузерных движка были написаны с помощью вайб-кодинга, я не особенно удивился. Браузерный движок — хорошо изученная задача с несколькими независимыми реализациями, а их кодовые базы наверняка давно попали в обучающие данные LLM.
Удивило меня другое: похоже, ни один из проектов по-настоящему не использовал Web Platform Tests (WPT). А ведь это бесчисленные человеко-часы экспертизы, сжатые в точное описание того, как должен работать браузер, вплоть до самых странных пограничных случаев. Второй проект частично использует WPT, но, судя по всему, это не основная стратегия тестирования.
Технические детали
LLM отлично работают, когда им дают четкую спецификацию или PRD и приемочные тесты. Именно это сообщество веб-стандартов кропотливо строило последние несколько десятилетий: сами браузерные стандарты, написанные обычным английским в виде HTML-файлов, и WPT. А процент прохождения WPT, в частности, дает хорошее представление о том, насколько браузер «веб-совместим», то есть способен ли он реально рендерить сайты из живого интернета.
Именно поэтому новые браузеры вроде Ladybird и Servo так сильно на него опираются. У меня нет ни терпения, ни денег, чтобы собрать целый браузер. Но мне стало интересно: можно ли с нуля реализовать один браузерный API одним промптом и пройти нетривиальную долю Web Platform Tests.
Я выбрал IndexedDB, потому что хорошо знаю эту спецификацию: я работал и над PouchDB, и над fake-indexeddb, а еще отправлял небольшие PR и баг-репорты в саму спецификацию. IndexedDB — не простой API. Это полноценная NoSQL-база данных с несколькими типами ключей, включая ключи-массивы и массивы в роли ключей, курсорами, режимами долговечности транзакций, транзакциями, планированием выполнения и так далее.
Отраслевые последствия
Если строить поверх SQLite, часть всего этого достается почти бесплатно — вероятно, поэтому и Firefox, и WebKit используют его в своих реализациях. Но все равно нужно обрабатывать типы JavaScript-объектов вроде Date и ArrayBuffer, специфичный для JavaScript порядок выполнения микрозадач, автоматические транзакции и кучу других особенностей. ЭкспериментЭксперимент выглядел так:Создать репозиторий с подмодулями, в которых лежат Web Platform Tests и спецификация IndexedDB.
Попросить Claude в режиме планирования составить план рабочей реализации IndexedDB на TypeScript и Node. js поверх SQLite, которая проходит больше 90% тестов. Подключить этот план к Ralph loop, чтобы несколько агентов могли последовательно итерироваться над решением задачи.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





