Что утечка исходного кода Claude Code показала о будущем AI-агентов

Что утечка исходного кода Claude Code показала о будущем AI-агентов

31 марта 2026 года вошло в историю как день, когда одна из самых закрытых ИИ-компаний мира случайно раскрыла все свои секреты. Anthropic, оценённая в 380 миллиардов долларов, публично выложила полный исходный код своего флагманского ИИ-агента — Claude Code.

Как всё произошло

Не потребовалось ни хакерских атак, ни инсайдерского сливa. Всё началось с простой ошибки конфигурации: в файле .npmignore отсутствовала строка *.map. В результате публичный npm-пакет @anthropic-ai/claude-code версии 2.1.88 содержал файл cli.js.map размером 59,8 МБ, в котором оказался весь исходный TypeScript-код — вместе с комментариями разработчиков и метками TODO.

Утечку обнаружил исследователь безопасности Chaofan Shou. Его твит мгновенно набрал 21 миллион просмотров. Через несколько часов Anthropic удалила пакет, назвав инцидент «ошибкой упаковки релиза из-за человеческого фактора». Но было уже поздно — зеркала репозитория распространились по GitHub.

Разработчики со всего мира принялись изучать 512 000 строк кода. И то, что они нашли, оказалось куда интереснее сухих алгоритмов.

KAIROS и AutoDream: агенты, которые видят сны

Самой интригующей находкой стали 44 feature-флага, скрывающих более 20 невыпущенных функций. Главная из них — KAIROS, автономный демон-режим, упоминаемый в коде более 150 раз.

В отличие от текущего Claude Code, который работает только по запросу, KAIROS задуман как постоянно активный фоновый агент. Он получает периодические tick-промпты, чтобы решить, нужно ли действовать проактивно. Агент подписывается на GitHub webhooks и ведёт собственные логи.

Но самое неожиданное — подсистема AutoDream. Когда пользователь неактивен, KAIROS запускает процесс «сна» — фоновую консолидацию памяти. Агент анализирует транскрипты за день, устраняет противоречия, превращает размытые догадки в чёткие факты и формирует долгосрочную память.

"Синтезируй то, что ты узнал недавно, в надежные, хорошо организованные воспоминания, чтобы будущие сессии могли быстро ориентироваться", — гласит системный промпт AutoDream.

Для сложных задач предусмотрен UltraPlan — функция, которая делегирует планирование удалённой сессии с моделью Opus 4.6, выделяя ей до 30 минут на размышления.

Скандальный Undercover Mode

Если KAIROS вызвал восхищение, то файл undercover.ts (около 90 строк) спровоцировал этический скандал. Этот режим внедряет системный промпт, который строго запрещает Claude упоминать, что он — искусственный интеллект.

Более того, при коммитах во внешние open-source-репозитории агент должен удалять любые атрибуции Co-Authored-By. Режим активируется автоматически для сотрудников Anthropic и не имеет кнопки отключения.

Защитники компании утверждают, что это сделано для защиты внутренних кодовых имён — например, Capybara для Claude 4.6 и Fennec для Opus 4.6 — от попадания в публичный доступ. Однако критики на Hacker News задались резонным вопросом: если инструмент запрограммирован скрывать свою личность в коммитах, что ещё он может скрывать?

Защита от конкурентов (Anti-Distillation)

В коде обнаружились механизмы защиты от попыток конкурентов обучать свои модели на логах Claude — так называемая distillation.

Флаг ANTI_DISTILLATION_CC включает инъекцию фейковых определений инструментов в API-запросы. Цель — «отравить» обучающие данные тех, кто тайно записывает трафик API.

Второй механизм криптографически хеширует цепочку рассуждений (chain-of-thought) агента между вызовами инструментов. Перехватчики получают только краткое саммари, а не полный процесс мышления. Однако разработчики быстро отметили, что оба механизма легко обходятся с помощью прокси-серверов.

Тамагочи в терминале и суровая реальность enterprise-кода

Помимо серьёзных архитектурных решений, код раскрыл человеческую сторону разработки в Anthropic. Внутри терминального агента оказался скрытый полноценный тамагочи — проект Buddy.

Это 18 видов ASCII-питомцев — капибары, аксолотли, призраки и даже нечто под названием "chonk". Они живут рядом с полем ввода и реагируют на ваш код. В системе реализована гача-механика с редкостью от common до legendary (1% шанс выпадения), шляпами и характеристиками вроде CHAOS, WISDOM и SNARK. Судя по соли friend-2026-401, это была первоапрельская шутка, релиз которой планировался на май.

Сама кодовая база вызвала у сообщества приступ солидарности. Оказалось, что код 380-миллиардной корпорации выглядит так же, как пет-проекты обычных разработчиков в три часа ночи:

  • Файл-гигант: main.tsx весит почти 1 МБ и содержит 4 683 строки кода.
  • Игнорирование линтера: найдено 460 комментариев eslint-disable.
  • Вечный Deprecated: более 50 функций с суффиксом DEPRECATED активно используются в продакшене (например, writeFileSyncAndFlushDEPRECATED).
  • Пустые catch-блоки: в файле config.ts, отвечающем за аутентификацию, найдено 9 пустых блоков catch.
  • Странные комментарии: // TODO: figure out why — в обработчике ошибок, который не понимает собственные ошибки.

Архитектура, вызывающая уважение

Несмотря на курьёзы, архитектура Claude Code получила высокие оценки от senior-разработчиков. Anthropic реализовала модульный системный промпт с cache-aware границами, плагинную архитектуру на 40 инструментов и 46 000-строчный движок запросов.

Для рендеринга в терминале используется связка React + Ink с применением техник из разработки игровых движков. А главное — оркестрация мультиагентных систем реализована элегантно и умещается в промпте, без использования тяжёлых фреймворков вроде LangChain.

Заключение

Утечка исходного кода Claude Code — это не просто сбой в процессах релиза. Это уникальное окно в будущее ИИ-разработки. Мы увидели переход от простых CLI-утилит к автономным фоновым агентам с долгосрочной памятью, которые «видят сны» и планируют задачи на полчаса вперёд.

А ещё эта утечка показала: даже в самых передовых ИИ-лабораториях работают обычные люди. Они пишут костыли, игнорируют линтеры, оставляют забавные комментарии и прячут ASCII-капибар в enterprise-софт. И это, пожалуй, самое обнадёживающее открытие из всех.

Читать оригинал