10 Липня, 2026

Як Claude переписав цілий JavaScript-рантайм за 11 днів і $165 000

Джарред Самнер, творець популярного JavaScript-рантайму Bun, розповів технічні подробиці того, як його команда за 11 днів перенесла весь проєкт — 535 496 рядків коду — з мови Zig на Rust за допомогою Claude. Пост одразу вийшов у топ Hacker News, набравши 641 голос і понад 370 коментарів, і спровокував дискусію про межі можливостей ШІ-асистованого перенесення коду.

Читайте также: Центри чорних дір. Астрономи виявили 31 найдавніший квазар, які змінюють уявлення про ранній Всесвіт

Як Claude переписав цілий JavaScript-рантайм за 11 днів і $165 000

Чому Bun відмовився від Zig

Bun, рантайм, який використовується, зокрема, в Claude Code, Самнер спершу написав на Zig ще 2021 року — тоді розробка зайняла рік. Мова приваблювала контролем на рівні C без зайвих формальностей, однак поєднання ручного керування пам’яттю в Zig зі збирачем сміття JavaScriptCore породжувало повторювані класи багів: use-after-free, double-free та витоки пам’яті на межах обробки помилок.

Замість того щоб виправляти ці помилки по одній, команда Bun — яку у грудні 2025 року придбала сама Anthropic за нерозголошену суму, після чого Самнер та частина його команди перейшли працювати над масштабуванням інфраструктури Claude Code, — вирішила перенести весь код на Rust. Перевірка запозичень (borrow checker) у Rust дозволяє відловлювати подібні помилки з пам’яттю ще на етапі компіляції, а не під час виконання програми.

Як влаштований процес перенесення

Перш ніж розпочати сам процес, Самнер витратив три години на обговорення з Claude стратегії саме «перекладу» проєкту з однієї мови на іншу, а не написання його з нуля — результат цього діалогу Claude оформив у документ, яким розробник згодом поділився на GitHub.

Загалом команда запустила близько 50 автоматизованих робочих процесів-пайплайнів. У межах кожного з них ШІ-агент спершу писав код, потім у двох ізольованих сесіях паралельно перевіряв власну роботу, а в четвертому виклику вносив правки — причому контекст між цими етапами навмисно не зберігався, щоб «перевіряючий» Claude залишався максимально критичним. Наприкінці весь проєкт додатково прогнали через Claude Code Security.

Сам Самнер пояснив логіку такого підходу порівнянням зі стандартною практикою рев’ю коду: зазвичай код перевіряє сторонній програміст, оскільки автор зацікавлений, аби його роботу прийняли якнайшвидше, і може бути упередженим — з Claude працює той самий принцип, адже «автор» коду прагне схвалення, а «перевіряючий» — навпаки, шукає помилки.

Цифри проєкту

  • 535 496 рядків коду перенесено з Zig на Rust;
  • 11 днів безперервної роботи через Claude Code;
  • $165 тисяч витрачено на API за стандартними тарифами;
  • 6502 коміти з супровідним «змагальним» рев’ю;
  • 5,9 мільярда некешованих вхідних токенів;
  • 690 мільйонів вихідних токенів.

За оцінкою Самнера, без залучення ШІ-агента команді з трьох інженерів довелося б переписувати той самий обсяг коду близько року.

Читайте также: Claude Reflect: тепер ви можете подивитись статистику своїх діалогів зі штучним інтелектом

Результат: менше памʼяті, менший бінарник, вища швидкість

Механічне перенесення дало вимірювані покращення: розмір бінарного файлу зменшився приблизно на 20% завдяки прапорцям дедублікації лінкера, а продуктивність зросла на 2–5% завдяки оптимізаціям LTO. За списком відстежуваних багів кількість витоків пам’яті звелася до нуля, а повний набір тестів проходить на всіх шести цільових платформах. Rust також дав змогу підтримувати міжмовну оптимізацію коду на C, C++ і Rust одночасно. Починаючи з версії 2.1.181, Claude Code вже постачається саме з Rust-версією Bun.

Не всі в захваті

Реакція спільноти виявилася далеко не одностайною. Частина коментаторів на Hacker News засумнівалася, що код такого обсягу взагалі можливо якісно перевірити за настільки стислий термін — на 100 рядків коду за хвилину при восьмигодинному робочому дні повноцінне рев’ю фізично неможливе. Інші, навпаки, вказували, що Bun уже працює в продакшені й користувачі позитивно відгукуються про його стабільність.

Окремо критики звернули увагу на суперечність у заявах самого Самнера: лише за дев’ять днів до злиття гілки з основною він публічно припускав, що весь цей код може бути повністю відкинутий. Дехто з розробників також розкритикував те, що на момент злиття з основною гілкою в коді налічувалося 13 тисяч «небезпечних» блоків unsafe, а перевірки Miri на неозначену поведінку взагалі не проводилися.

Що це означає для індустрії

Аналітики видання Developers Digest виділяють три висновки з кейсу Bun. По-перше, механічний, «рядок за рядком» переклад коду між схожими мовами вже готовий до промислового використання, хоча це принципово інша задача, ніж проєктування системи з нуля. По-друге, «змагальне» рев’ю, коли одна LLM-модель перевіряє роботу іншої, стає стандартним підходом для генерації коду у високоризикових проєктах. По-третє, саме масштабне тестове покриття — а не рев’ю коду людиною — стає реальним запобіжником якості, коли сам процес генерації повністю автоматизований.

Нагадаємо, що хакери навчилися використовувати Claude Code для запуску malware через GitHub.

Читайте также: Майже 6 тисяч років. В Великій Британії виявили рештки будови часів неоліту

Підписуйтесь на нас у соцмережах: Telegram | Facebook | LinkedIn

Автор admin

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *