31 марта 2026 года Anthropic случайно опубликовали полный исходный код Claude Code. Source map файл на 59.8 мегабайт. 512 000 строк TypeScript. Около 1900 файлов.
Я разобрал архитектуру. Не сенсации и пасхалки, а то, что полезно разработчикам: как устроен агент изнутри, какие паттерны использует Anthropic и что можно забрать в свои проекты.
МАСШТАБ: 512 000 СТРОК В КОНТЕКСТЕ

Полмиллиона строк кода -- это крупный проект. Для сравнения:
- VS Code -- около 600 000 строк TypeScript
- Webpack -- примерно 200 000 строк
- Next.js -- около 300 000 строк
Claude Code стоит в одном ряду с серьёзными dev-инструментами. Это не MVP и не обёртка над API. Это полноценная платформа.
Весь код написан на TypeScript. Модульная архитектура, строгая типизация, чёткие зоны ответственности. Видно, что над проектом работает большая команда с устоявшимися инженерными практиками.
[inline-codebase-scale.jpg]
АРХИТЕКТУРА: ТРИ УРОВНЯ
Код Claude Code организован в три уровня. Каждый решает свою задачу.
Уровень 1: CLI и интерфейс
Верхний слой -- это терминальный интерфейс. Обработка ввода пользователя, рендеринг ответов, управление сессиями. Здесь живёт всё, что видит пользователь: форматирование, подсветка синтаксиса, интерактивные подтверждения.
Интересная деталь -- адаптивный рендеринг. Claude Code определяет размер терминала и подстраивает вывод. Markdown, таблицы и diff-блоки отображаются по-разному в зависимости от ширины окна.
Уровень 2: агентный движок
Ядро системы. Здесь происходит оркестрация инструментов, управление контекстом, планирование действий. Агент получает задачу, раскладывает её на шаги, вызывает инструменты и собирает результат.
Это самый объёмный слой -- больше 200 000 строк. Управление памятью, retry-логика, обработка ошибок, fallback-стратегии.
Уровень 3: инструменты и интеграции
Нижний слой -- конкретные инструменты: чтение файлов, поиск по коду, выполнение команд, работа с Git. Каждый инструмент -- отдельный модуль с чётким интерфейсом.
Модульность здесь неслучайна. Новые инструменты добавляются без изменения ядра. Это паттерн, который стоит перенять.
[inline-architecture.jpg]
АГЕНТНАЯ СИСТЕМА: КАК CLAUDE CODE ДУМАЕТ
Самая ценная часть утечки для разработчиков -- агентная система.
Цикл принятия решений
Claude Code работает в цикле: получить задачу -> спланировать -> выполнить шаг -> оценить результат -> повторить или завершить. Внутри этого цикла есть несколько интересных механизмов:
Контекстное окно. Claude Code активно управляет контекстом. Не просто складывает всё в один промпт. Система решает, какую информацию сохранить, какую сжать, какую удалить. Для этого используется scoring -- каждый фрагмент контекста получает оценку релевантности.
Каскад инструментов. Вызовы инструментов не линейные. Один инструмент может вызвать другой. Чтение файла может привести к поиску по коду, который приведёт к чтению другого файла. Система отслеживает глубину вложенности и ставит ограничения.
Retry с деградацией. Если инструмент не сработал -- система не просто повторяет. Она пробует альтернативный путь. Не удалось прочитать файл напрямую -- попробует через grep. Не нашла grep -- поищет через glob. Три уровня fallback для критических операций.
Управление памятью
Память в Claude Code -- это не просто файл CLAUDE.md. Внутри есть трёхуровневая система:
- Сессионная память -- контекст текущего разговора. Живёт до закрытия терминала.
- Проектная память -- файлы CLAUDE.md, правила, скиллы. Загружается при старте.
- Персональная память -- настройки пользователя, предпочтения, история.
Код показывает: проектная память имеет приоритет над персональной. А инструкции в промпте -- над обеими. Это объясняет, почему иногда Claude Code игнорирует ваши настройки в пользу инструкций из промпта.
СИСТЕМА ПРОМПТОВ: ИЕРАРХИЯ ИНСТРУКЦИЙ
Внутри кода видна полная иерархия системных промптов.
На верхнем уровне -- базовый системный промпт. Он определяет поведение Claude Code как агента: безопасность, границы, стиль общения.
Ниже -- слой инструментов. Каждый инструмент имеет свой мини-промпт, который объясняет модели, как и когда его использовать.
Ещё ниже -- пользовательские инструкции. CLAUDE.md, memory-файлы, rules.
Внутри промптов есть "якоря безопасности". Фразы, которые повторяются в разных местах и усиливают друг друга. Anthropic не полагаются на одно упоминание правила -- они повторяют критические инструкции 3-5 раз в разных контекстах.
TOOL USE: 25+ ИНСТРУМЕНТОВ ПОД КАПОТОМ
В коде определены больше 25 встроенных инструментов. Основные группы:
Файловая система: Read, Write, Edit, Glob -- работа с файлами. Edit интересен: он не перезаписывает файл целиком. Делает точечные замены строк и проверяет уникальность заменяемого фрагмента.
Поиск: Grep, Glob -- два типа поиска. Grep ищет по содержимому (через ripgrep), Glob -- по именам файлов. Внутри есть оптимизация: результаты кэшируются между вызовами.
Выполнение: Bash -- запуск произвольных команд. Здесь больше всего кода безопасности. Песочницы, фильтры опасных команд, таймауты. Каждая команда проходит через несколько слоёв проверки.
Агенты: Agent/Task -- субагенты для сложных задач. Claude Code может породить вложенного агента с ограниченным набором инструментов. Это используется для изоляции: субагент не может делать всё, что может основной.
[inline-tools-map.jpg]
ЧТО РАЗРАБОТЧИКИ МОГУТ ЗАБРАТЬ В СВОИ ПРОЕКТЫ
Код Claude Code -- это учебник по построению агентных систем. Несколько паттернов, которые стоит использовать.
1. Deferred tool loading. Инструменты не загружаются все сразу. Claude Code подгружает определение инструмента только когда он нужен. Это экономит контекстное окно.
2. Скоринг контекста. Каждый фрагмент информации получает оценку. Недавние действия весят больше. Результаты поиска -- больше, чем содержимое файла. Ошибки -- больше, чем успешные операции.
3. Multi-layer retry. Не просто "попробовать ещё раз". А попробовать другим способом. Если API вернул ошибку -- уменьшить запрос. Если файл слишком большой -- прочитать частично.

4. Иерархия промптов. Разделение инструкций на уровни: системные, инструментальные, пользовательские. Каждый уровень может переопределить предыдущий, но не может нарушить ограничения более высокого уровня.
5. Изоляция через субагентов. Для опасных операций -- отдельный агент с ограниченными правами. Он не видит весь контекст. Не может вызывать все инструменты.
ЧЕГО НЕТ В КОДЕ
Несколько ожидаемых вещей, которых в коде не нашлось:
- Телеметрия пользователей. Код отправляет анонимные метрики использования, но не содержимое файлов или промптов.
- Скрытые ограничения на контент. Все ограничения -- в открытых системных промптах. Нет тайных блэклистов.
- Привязка к конкретным моделям. Архитектура абстрагирована от модели. Теоретически Claude Code может работать с любой моделью, поддерживающей tool use.
РЕАКЦИЯ И ПОСЛЕДСТВИЯ
Anthropic убрали source map в течение нескольких часов. Публичного комментария о содержании не было.
Для пользователей ничего не изменилось. Пользовательские данные не затронуты. Утечка касалась только кода самого продукта.
Для разработчиков -- это возможность учиться. 512 000 строк production-кода от одной из ведущих ИИ-компаний. Такое не каждый день попадает в открытый доступ.
Я использую Claude Code ежедневно. После разбора кода стал лучше понимать, почему агент принимает определённые решения. Это помогает писать более точные инструкции и получать лучшие результаты.
ИТОГ
512 000 строк TypeScript. Трёхуровневая архитектура. Агентный движок с scoring контекста и multi-layer retry. 25+ инструментов с deferred loading. Иерархия промптов с якорями безопасности.
Не сенсация. Но ценный практический материал для тех, кто строит свои агентные системы.
Код показывает: хороший ИИ-продукт -- это 10% модели и 90% инженерии вокруг неё.

Источники: npm-пакет @anthropic-ai/claude-code v2.1.88, анализ Чаофан Шоу 31.03.2026, VentureBeat, TheCode.media, tproger.ru


