Як відбулося переписування коду

Anthropic придбала Bun у грудні 2025 року та вирішила замінити свою кодову базу на Zig на Rust. Компанія запустила передрелізну версію Claude Fable 5 — LLM, яка на той момент була недоступна нікому іншому. Шістдесят чотири копії моделі працювали паралельно, видаючи загалом приблизно 1300 рядків коду за хвилину.

Провідний інженер Jarred Sumner не просто віддав проблему агентам і пішов геть. Спочатку він витратив години на складання посібника, який зіставляв ідіоми Zig з еквівалентами в Rust. Пробний запуск із трьома файлами дозволив йому відкалібрувати результати роботи агентів перед тим, як взятися за весь репозиторій. Для кожної зміни, запропонованої агентами, два «агенти-опоненти» проводили перевірку, а Sumner спостерігав за всім процесом наживо протягом усіх 11 днів.

Внутрішня бухгалтерія Anthropic зафіксувала витрати на токени у розмірі $165 000. Ця цифра відображає лише прямі виклики API, здійснені до того, як код був злитий з основною гілкою (main branch).

Приховані витрати

Сума у $165 тис. не враховує обчислювальні потужності, необхідні для стабілізації нового коду на Rust. Згідно з внутрішнім аналізом, виправлення після злиття, запуски безперервної інтеграції та додаткове тестування можуть збільшити загальні витрати. Оцінка базується на публічних цінах API; оскільки Claude Fable 5 була доступна лише у форматі приватного попереднього перегляду, фактична сплачена ціна може відрізнятися.

Швидкість проти безпеки

Переписування створило середовище виконання (runtime) на Rust, яке працює швидше за оригінальну версію на Zig, але водночас залишило значний накопичений обсяг робіт з аудиту. Близько 4% новостворених файлів Rust містять блоки «unsafe» — код, який обходить суворі гарантії безпеки Rust. У проєктах на Rust, написаних вручну, цей показник зазвичай набагато нижчий, а це означає, що тепер рецензенти мають перевіряти, чи не створюють ці блоки вразливості до помилок пошкодження пам'яті.

Результати роботи агентів були б безглуздими без досвіду Sumner. Навіть при швидкості 1300 рядків за хвилину коду потрібен обізнаний наглядач, щоб виявляти логічні помилки, забезпечувати архітектурну цілісність і підтверджувати, що тестовий набір дійсно охоплює нову реалізацію.

Коли ШІ демонструє переваги, а коли — ні

Портування Bun було еталонним перекладом: з однієї мови на іншу, за наявності вже готового комплексного набору тестів. Ця чітка межа дала LLM зрозумілу ціль і обмежила потребу в креативному вирішенні проблем. Однак більша частина розробки програмного забезпечення передбачає зміну бізнес-правил, роботу з неоднозначними вимогами або створення нових функцій з нуля. У таких складніших сценаріях такий самий рівень допомоги ШІ навряд чи принесе порівнянну швидкість або економію коштів.

Прихильники розробки з використанням ШІ вказують на показники чистої продуктивності — тисячі рядків, згенерованих за хвилини — як на доказ того, що великі мовні моделі можуть замінити великі команди. Випадок Anthropic пом'якшує цей погляд: основна вартість токенів не враховує значні обчислювальні витрати, необхідні для валідації після злиття, а борг у сфері безпеки, створений кодом «unsafe», потребуватиме людських зусиль для усунення.

На що варто звернути увагу далі

Anthropic не розкрила, чи планує компанія застосовувати такий самий робочий процес на базі Claude до інших кодових баз. Якщо це станеться, компанії доведеться враховувати повну вартість життєвого циклу, а не лише рахунок за токени. Спостерігачам варто звернути увагу на:

  • Як швидко скорочується черга на аудит і чи зменшується частка «unsafe» коду в міру того, як рецензенти проводять рефакторинг.
  • Чи використовуватимуть майбутні запуски більш зрілу модель, доступну для публічної покупки, що може зробити оцінку витрат прозорішою.
  • Вплив на впровадження Bun: швидші середовища виконання можуть залучити користувачів, але будь-які занепокоєння щодо безпеки можуть нівелювати цю вигоду.

Підсумок

ШІ може значно прискорити прямий переклад коду, але витрати на подальші обчислення та людську перевірку можуть з'їсти всю економію на токенах. Переписування Bun показує, що хоча великі мовні моделі можуть швидко видавати величезні обсяги коду, людський досвід залишається незамінним для забезпечення безпеки, правильності та виконання тоншої роботи, яка є основою більшості програмних проєктів.