Історія про те, як гамнякати за допомогою ШІ і гордо розповісти як то виправити з… ШІ😃
Як Anthropic прискорила Claude.ai у 3 рази за два тижніAnthropic розповіла, як за два тижні зробила
Claude.ai та desktop app приблизно
у 3 рази швидшими. І так, значну частину роботи з оптимізації Claude робив за допомогою Claude. Бо навіщо руками шукати bottleneck-и, якщо можна дати AI доступ до telemetry, benchmarks і production metrics та попросити його розібратись у тому, що 14 абстракцій React приховали від людського ока.
Команда сфокусувалась на чотирьох сценаріях, які покривають близько 95% активності користувачів: запуск Claude, створення нового чату, відкриття існуючої розмови та відправлення повідомлення.
Claude.ai до моменту, коли вже можна вводити текст, прискорився з
3,1 с до 0,55 с, запуск нової Claude Code session з
0,8 с до 0,3 с, а завантаження Claude Cowork session з
2,6 с до 0,73 с.
Найцікавіше починається з того, що
Claude підключили до Datadog і telemetry через MCP. Він міг знаходити повільні ділянки, створювати benchmarks, аналізувати профілі, пропонувати зміни, відкривати PR, дивитись на результат після deploy і шукати наступний bottleneck. Фактично агент отримав цикл:
метрика → benchmark → fix → test → deploy → telemetry → наступний fix. І ось це вже набагато цікавіше за чергове «AI може написати CRUD».
Спочатку команда вимірювала просто час виконання, але різницю в декілька мілісекунд у CI стабільно виміряти важко. Тому почали рахувати кількість JS instructions, React commits, V8 function calls, style recalculations та DOM mutations. На двох hot path Claude зменшив кількість JS instructions на
48% і 31%, а execution time впав на
78% і 44%. Після цього benchmarks перетворили на performance ratchet: якщо новий PR робив код повільнішим, CI падав, а якщо швидшим, нове значення ставало наступною планкою.
А що Claude взагалі знаходив? Наприклад,
6900 React hooks і близько 900 store subscriptions у path, пов’язаному з введенням тексту. Тут десь тихенько плаче людина, яка колись сказала: «ще один hook нічого не змінить». CSS selector :root:has() додавав близько
24 мс на кожну DOM mutation, зайвий location.reload() створював приблизно
пів мільйона прихованих reload-ів на день, а застосунок постійно копіював однакові cache snapshots в IndexedDB прямо на main thread.
Мій улюблений кейс пов’язаний із syntax highlighting. Якщо Markdown містив символ поза Latin-1, V8 міг представити рядок як UTF-16. Через це regex-и syntax highlighter переходили на повільніший шлях, і великий code block іноді міг
заморозити сторінку приблизно на секунду. Виправлення зайняло близько
20 рядків коду. Класичний software engineering: проблема на секунду, debug на години, fix на 20 рядків.
Окремо Anthropic оптимізувала streaming відповідей на
120 Hz дисплеях. При 120 FPS браузер має лише
8,33 мс на кадр. Claude навчили знаходити frames, які не вкладались у цей бюджет, і аналізувати причину. У результаті довгі відповіді стали приблизно
у 4 рази плавнішими, main-thread blocking впав приблизно з
750 мс до 200 мс, а CPU usage скоротився приблизно до третини попереднього рівня.
За два тижні команда змержила
понад 3000 змін і, за словами Anthropic, обійшлась без production інцидентів або ролбеків. Але це не історія про те, що «AI сам написав продукт, розробники більше не потрібні». Люди все ще визначали напрямок, review-или зміни, approve-или PR і контролювали rollout. Claude просто отримав те, чого coding agents часто не мають:
доступ до реального feedback loop.
І ось тут головний висновок. Ми часто оцінюємо AI-агентів за принципом:
«Наскільки добре він може написати код?» Але цікавіше питання:
«Наскільки добре він може виміряти результат власної роботи?» Якщо агент бачить тільки repository, він просто генерує код. Якщо бачить
repository + benchmarks + CI + telemetry + production metrics, він уже може займатись інжеерією
І, схоже, саме тут одна з найважливіших змін у розробці найближчих років: не AI, який пише більше коду, а AI, який сам знаходить проблему, вимірює її, виправляє і перевіряє, чи стало справді краще.