Фьючерсы
Доступ к сотням фьючерсов
TradFi
Золото
Одна платформа мировых активов
Опционы
Hot
Торги опционами Vanilla в европейском стиле
Единый счет
Увеличьте эффективность вашего капитала
Демо-торговля
Введение в торговлю фьючерсами
Подготовьтесь к торговле фьючерсами
Фьючерсные события
Получайте награды в событиях
Демо-торговля
Используйте виртуальные средства для торговли без риска
Запуск
CandyDrop
Собирайте конфеты, чтобы заработать аирдропы
Launchpool
Быстрый стейкинг, заработайте потенциальные новые токены
HODLer Airdrop
Удерживайте GT и получайте огромные аирдропы бесплатно
Launchpad
Будьте готовы к следующему крупному токен-проекту
Alpha Points
Торгуйте и получайте аирдропы
Фьючерсные баллы
Зарабатывайте баллы и получайте награды аирдропа
Инвестиции
Simple Earn
Зарабатывайте проценты с помощью неиспользуемых токенов
Автоинвест.
Автоинвестиции на регулярной основе.
Бивалютные инвестиции
Доход от волатильности рынка
Мягкий стейкинг
Получайте вознаграждения с помощью гибкого стейкинга
Криптозаймы
0 Fees
Заложите одну криптовалюту, чтобы занять другую
Центр кредитования
Единый центр кредитования
Что именно делает AI Agent? Полный разбор утечки 500 000 строк кода Claude Code
51,2 万 строк кода, 1906 файлов, 59,8 МБ source map. В ночь на 31 марта Чауфань Шоу из Solayer Labs обнаружил, что флагманский продукт Anthropic Claude Code раскрывает полный исходный код в общедоступном репозитории npm. В течение нескольких часов код был замиррорен на GitHub, а число форков превысило 41 000.
Это не первый раз, когда Anthropic допускает такую ошибку. Когда Claude Code впервые вышел в феврале 2025 года, утечка того же source map уже происходила однажды. На этот раз номер версии — v2.1.88, причина утечки та же: инструмент сборки Bun по умолчанию генерирует source map, а в .npmignore отсутствовал этот файл.
Большинство публикаций разбирают пасхальные яйца в утечке, например систему виртуальных питомцев и «режим инкогнито», который позволяет Claude анонимно отправлять код в open source-проекты. Но по-настоящему стоящий разбора вопрос — почему один и тот же Claude-модель показывает настолько разный результат в веб-версии и в Claude Code? 51,2 万 строк кода — что именно они делают?
Модель — лишь верхушка айсберга
Ответ спрятан в структуре кода. Согласно обратному анализу утекшего исходника в GitHub-сообществе, из 51,2 万 строк TypeScript код, который напрямую отвечает за вызовы AI-модели, составляет лишь около 8000 строк — 1,6% от общего объёма.
Чем занимается оставшиеся 98,4%? Два крупнейших модуля — поисковый движок (46 000 строк) и система инструментов (29 000 строк). Поисковый движок обрабатывает вызовы LLM API, потоковый вывод, оркестрацию кэша и управление многошаговыми диалогами. Система инструментов определяет около 40 встроенных инструментов и 50 слэш-команд, формируя набор, похожий на плагин-архитектуру: у каждого инструмента есть отдельный контроль прав.
Кроме того, есть 25 000 строк кода для отрисовки терминального UI (один файл — print.ts — достигает 5594 строк, а одна функция занимает более 3167 строк), 20 000 строк кода для безопасности и контроля прав (включая 23 пункта нумерованных Bash-проверок безопасности и 18 заблокированных встроенных команд Zsh) и 18 000 строк системы оркестрации мультиагентности.
Исследователь машинного обучения Себастьян Рашка после анализа утекшего кода указал, что Claude Code становится сильнее, чем веб-версия с той же моделью, не из‑за самой модели, а из‑за программного «лесов/подмостей», построенных вокруг модели: загрузки контекста репозитория, диспетчеризации специализированных инструментов, стратегии кэширования и взаимодействия субагентов. Он даже считает, что если применить ту же инженерную архитектуру к другим моделям, например DeepSeek или Kimi, можно получить почти такое же улучшение в «программирующей» производительности.
Наглядного сравнения достаточно, чтобы понять разницу. Ты задаёшь вопрос в ChatGPT или веб-версии Claude — модель обрабатывает его и возвращает ответ, а на этом диалог заканчивается: ничего не остаётся. Но подход Claude Code полностью иной. При запуске он сначала читает файлы твоего проекта, понимает структуру кодовой базы, запоминает твои предпочтения — например, «не mock-ить базу данных в тестах». Он может напрямую выполнять команды в твоём терминале, редактировать файлы и запускать тесты. Когда задача сложная, он разбивает её на несколько подзадач и параллельно распределяет разным субагентам. Иными словами: веб‑AI — это окно «вопрос—ответ», а Claude Code — это соавтор, живущий на твоём компьютере.
Кто-то сравнил эту архитектуру с операционной системой: 42 встроенных инструмента — как системные вызовы, система прав — как управление пользователями, протокол MCP — как драйверы устройств, оркестрация субагентов — как диспетчеризация процессов. Каждый инструмент «с завода» помечается как «небезопасный, допускающий запись», если только разработчик явно не заявит обратное. Инструмент для редактирования файлов принудительно проверяет, прочитал ли ты этот файл: если нет — изменить нельзя. Это не «внешний плагин к чат-боту с несколькими инструментами», а полноценная среда выполнения с LLM в ядре и встроенными механизмами безопасности.
Это означает одну вещь: конкурентная «стена» AI‑продуктов, вероятно, не на уровне модели, а на уровне инженерии.
Каждый пробой кэша — стоимость растёт в 10 раз
В утекшем коде есть файл promptCacheBreakDetection.ts — он отслеживает 14 векторов, которые могут привести к недействительности prompt cache. Почему инженерам Anthropic приходится тратить столько усилий, чтобы предотвратить «пробой кэша»?
Ответ становится понятным, если посмотреть официальные тарифы Anthropic. Возьмём Claude Opus 4.6: стандартная цена для входа — 5 долларов за миллион токенов, но при попадании в кэш цена чтения — всего 0,5 доллара, то есть на 90% дешевле. И наоборот: при каждом пробое кэша стоимость вывода растёт в 10 раз.
Это объясняет множество архитектурных решений, которые в утёкшем коде выглядят как «чрезмерная продуманность». При запуске Claude Code загружает текущую git-ветку, записи последних commit’ов и файл CLAUDE.md в качестве контекста. Эти статические материалы глобально кэшируются, а динамические части отделяются границами. Это гарантирует, что каждый новый диалог не будет заново обрабатывать уже имеющийся контекст. В коде есть и механизм sticky latches — он предотвращает переключение режимов, которое могло бы разрушить уже созданный кэш. Субагенты спроектированы так, чтобы повторно использовать кэш родительского процесса, а не строить свой собственный «контекстный» оконный кадр заново.
Есть один подробный момент, который стоит разобрать. Люди, которые пользовались AI-инструментами для программирования, знают: чем длиннее диалог, тем медленнее отвечает AI, потому что в каждой новой итерации нужно заново отправлять предыдущую историю в модель. Обычно старые сообщения удаляют, чтобы освободить место, но проблема в том, что удаление любой записи ломает непрерывность кэша — и тогда всю историю нужно обрабатывать заново, из‑за чего задержка и стоимость одновременно резко растут.
В утекшем коде присутствует механизм cache_edits. Его подход в том, что сообщения не удаляются «по-настоящему», а в API-слое им ставится отметка «пропустить/skip». Модель больше не видит эти сообщения, но непрерывность кэша не разрушается. Это означает: для долгого диалога, длящегося несколько часов, после очистки нескольких сотен старых сообщений скорость ответа в следующем шаге будет почти такой же, как в первой итерации. Для обычных пользователей это и есть базовый ответ на вопрос «почему Claude Code поддерживает бесконечно длинные диалоги и не замедляется».
Согласно данным внутреннего мониторинга из утечки (кодовые комментарии из autoCompact.ts, дата с отметкой 10 марта 2026 года), до введения верхнего лимита на неудачи автоматической компакции Claude Code ежедневно «сжигал» примерно 250 000 вызовов API. У 1279 пользовательских сессий было 50 или более случаев непрерывных неудач компакции, а самый тяжёлый один session подряд не справлялся 3272 раза. Исправление свелось к добавлению одной строки ограничения: MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3.
Поэтому для AI‑продуктов стоимость вычислений модели может не быть самой дорогой статьёй — проблема может быть в отказах управления кэшем.
44 переключателя, направленные в одну сторону
В утекшем коде спрятано 44 feature flags — уже скомпилированные переключатели функций, но пока без публикации для внешних пользователей. По анализу сообщества, эти флаги разбиты по функциональным областям на пять групп; самая плотная — категория «самостоятельных агентов» (12 флагов), направленная на систему под названием KAIROS.
В исходниках KAIROS упоминается более 150 раз. Это режим «постоянного фонового демона». Claude Code больше не просто инструмент, на который ты сам напрямую обращаешься, а агент, который всегда работает в фоне: он постоянно наблюдает, ведёт записи и в подходящий момент действует сам. При условии, что он не прерывает пользователя: любые действия, которые могут блокировать пользователя более чем на 15 секунд, будут отложены.
KAIROS также встроил распознавание фокуса терминала. В коде есть поле terminalFocus, которое в реальном времени определяет, смотрит ли пользователь на окно терминала. Когда ты переключаешься в браузер или другое приложение, агент считает, что ты «не на месте», и переходит в самостоятельный режим: сам выполняет задачи, сразу отправляет код, не дожидаясь твоего подтверждения. Когда ты возвращаешься в терминал, агент мгновенно переходит обратно в режим сотрудничества: сначала сообщает, что сделал, а затем запрашивает твоё мнение. Уровень самостоятельности не фиксирован — он динамически колеблется вместе с твоим вниманием. Это решает неловкую проблему AI‑инструментов: полностью автономный AI вызывает недоверие, а полностью пассивный — слишком неэффективен. Выбор KAIROS — регулировать инициативность AI динамически в соответствии с вниманием пользователя: ты смотришь — он ведёт себя спокойно, ты уходишь — он сам делает работу.
Другой подсистемой KAIROS называется autoDream: после накопления 5 сессий или при интервале в 24 часа агент запускает в фоне «процесс рефлексии» в четыре шага. Сначала он сканирует имеющуюся память, чтобы понять, что именно сейчас у него есть. Затем извлекает новые знания из логов диалога. После этого он объединяет новые и старые знания: исправляет противоречия и убирает повторы. Наконец, он сжимает индексы и удаляет устаревшие записи. Этот дизайн заимствует теорию консолидации памяти из когнитивной науки. Человек во сне упорядочивает дневные воспоминания — KAIROS делает то же самое с контекстом проекта, когда пользователь уходит. Для обычных пользователей это означает: чем дольше ты используешь Claude Code, тем точнее его понимание твоего проекта — и дело не только в том, «что ты говорил».
Вторая большая категория — «анти-дистилляция и безопасность» (8 флагов). Самый заметный из них — механизм fake_tools: когда выполняются одновременно 4 условия (флаг включён на этапе компиляции, активирована CLI-точка входа, используется first‑party API, а GrowthBook remote switch установлен в true), Claude Code внедряет в API-запросы фиктивные определения инструментов. Цель — загрязнить датасеты, которые могут быть записаны из API-трафика и использованы для обучения моделей конкурентов. Это новая форма обороны в гонке AI-разработок: не мешать тебе «копировать», а заставить тебя копировать неправильные вещи.
Кроме того, в коде также встречаются кодовые обозначения модели Capybara (разделённые на три уровня: стандартная версия, fast-версия и вариант с миллионом контекстного окна). Сообщество широко предполагает, что это внутренние кодовые обозначения серии Claude 5.
Пасхалка: в 512 000 строк кода спрятана электронная домашняя зверушка
Между всеми серьёзными инженерными архитектурами и механизмами безопасности инженеры Anthropic ещё тихо собрали целую виртуальную систему домашних питомцев — внутренний код BUDDY.
Согласно утекшему коду и анализу сообщества, BUDDY — это олицетворённый (拟物化) терминальный питомец: он появляется вблизи поля ввода в виде ASCII-пузырька. У него 18 видов (включая капибару, тритона-саламандру, грибы, призраков, драконов, а также ряд оригинальных существ вроде Pebblecrab, Dustbunny, Mossfrog). По редкости они делятся на пять уровней: обычные (60%), редкие (25%), очень редкие (10%), эпические (4%) и легендарные (1%). У каждого вида есть «блестящая вариация»; самая редкая Shiny Legendary Nebulynx появляется с вероятностью всего одна из десяти тысяч.
У каждой BUDDY есть пять характеристик: DEBUGGING (отладка), PATIENCE (терпение), CHAOS (хаос), WISDOM (мудрость) и SNARK (язвительность/сарказм). Они также могут носить шляпы: варианты включают корону, цилиндр, шляпу с пропеллером (螺旋桨帽), нимб (ring/ореол), шляпу волшебника и даже миниатюрную уточку. Хэш твоего user ID определяет, какого питомца ты выведешь (инкубируешь); Claude сгенерирует для него имя и характер.
Согласно плану релиза в утечке, BUDDY был запланирован на внутреннее тестирование с 1 по 7 апреля, а официальный выход — в мае, сначала для сотрудников Anthropic.
51,2 万 строк кода, 98,4% — это хардкорная инженерия, но в конце кто-то потратил время и сделал электронного тритона, который носит шляпу с пропеллером. Возможно, именно это и есть самая человечная строка кода во всей утечке.