Анализ архитектуры Claude Code на основе утекших исходных карт

Технический стек и архитектура
Пакет Claude Code, опубликованный в npm 31 марта 2026 года, включал .map файлы, которые раскрыли полный исходный код на TypeScript. Кодовая база состоит примерно из 1900 файлов с более чем 512 000 строк кода на TypeScript.
Основные технологии
- Среда выполнения: Bun
- Язык: TypeScript (строгий режим)
- Терминальный интерфейс: React + Ink (React для CLI)
- Парсинг CLI: Commander.js с дополнительными типами
- Валидация схем: Zod v4
- Поиск кода: ripgrep через GrepTool
- Протоколы: MCP SDK, LSP (vscode-jsonrpc)
- API: Anthropic SDK
- Телеметрия: OpenTelemetry + gRPC (ленивая загрузка, ~400КБ + 700КБ)
- Флаги функций: GrowthBook
- Аутентификация: OAuth 2.0, JWT, macOS Keychain
- Управление состоянием: Zustand (хранилище на основе React)
Основные моменты структуры каталогов
Каталог src/ содержит:
main.tsx- Точка входа с CLI Commander.js + рендеринг React/Inkcommands.ts- Реестр команд с более чем 100 командамиtools.ts- Реестр инструментов с более чем 38 инструментамиTool.ts- Определения типов инструментовQueryEngine.ts- Механизм запросов LLM (~46К строк)query.ts- Основной цикл запросов (~1729 строк)context.ts- Сбор системного/пользовательского контекстаcost-tracker.ts- Отслеживание стоимости токеновcommands/- Реализации слэш-команд (100+)tools/- Реализации инструментов (38+)components/- Компоненты Ink UI (~140)hooks/- React Hooks + хуки разрешенийservices/- Интеграции внешних сервисов, включая API, MCP, LSP, сжатие контекста, извлечение памяти и аналитикуconstants/- Системные промпты + константыbridge/- Мост интеграции IDEcoordinator/- Координатор нескольких агентовplugins/- Система плагиновskills/- Система навыковmemdir/- Система постоянной памятиtasks/- Система управления задачамиstate/- Управление состояниемremote/- Удаленные сессииserver/- Серверный режимvim/- Режим Vim с полным конечным автоматомvoice/- Голосовой вводkeybindings/- Система горячих клавишscreens/- Полноэкранный интерфейс (Doctor, REPL, Resume)schemas/- Схемы конфигурации Zodmigrations/- Миграции конфигурацииquery/- Подмодули конвейера запросовoutputStyles/- Стили выводаbuddy/- Компаньон-спрайт (пасхальное яйцо)
Основной поток данных
Система следует следующей схеме потока данных:
- Пользовательский ввод (терминал / IDE / удаленно)
main.tsx→ парсинг Commander.jsREPL.tsx(основной цикл взаимодействия)QueryEngine.submitMessage()← жизненный цикл сессии- Этап подготовки сообщения включает:
applyToolResultBudget()- ограничение размера результатаsnipCompact()- компактирование сниппетовmicroCompact()- микро-компактированиеcontextCollapse()- схлопывание контекстаautoCompact()- автоматическое компактирование
Этот анализ основан на утекшем исходном коде, который дает представление о том, как производственный AI-агент для программирования управляет контекстом, инструментами и координацией нескольких агентов.
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Бернштейн: Оркестратор, подобный Kubernetes, для ИИ-агентов программирования с верификацией и политиками моделей
Bernstein — это оркестратор для ИИ-агентов программирования, который включает независимую проверку выходных данных агентов, управление политиками моделей, 13 адаптеров для агентов и детерминированное планирование на основе Python. Проект содержит более 5000 тестов и такие функции, как автоматические выключатели, обнаружение аномалий затрат и сканирование на наличие персональных данных.

Примечание: Markdown-инструмент для аннотирования в рабочих процессах работы с кодом Claude
Remark — это нативное приложение для macOS, которое позволяет разработчикам добавлять аннотации в файлы Markdown прямо в тексте для рабочих процессов проверки кода в Claude Code. Оно экспортирует аннотации в формате JSON для агента и интегрируется через навык, установленный в директории .claude/skills/.

Tether: MCP-сервер для обмена контекстом между ИИ-моделями через SQLite
Tether — это инструмент с открытым исходным кодом, который сворачивает JSON-данные в 28-байтовые контентно-адресуемые дескрипторы, позволяя нескольким ИИ-моделям обмениваться контекстом через общую базу данных SQLite. Он функционирует как сервер MCP, обеспечивая прямую коммуникацию между моделями, такими как Claude и MiniMax, без необходимости копирования и вставки.

singularity-claude: Саморазвивающийся движок навыков для Claude Code
singularity-claude — это плагин с открытым исходным кодом для Claude Code, который добавляет рекурсивный цикл эволюции для предотвращения деградации навыков. Он оценивает выполнение навыков, автоматически исправляет низкооценённые навыки, фиксирует высокопроизводительные версии и выявляет пробелы в возможностях.