Claude Architecture — Diagrams

4 Mermaid-диаграммы: обзор экосистемы, возможности и инструменты, инфраструктура и MCP, жизненный цикл запроса. Апрель 2026, v1

1. Обзор экосистемы — от интерфейсов до моделей

Все точки входа (UI, SDK, сторонние платформы), API-эндпоинты, и три линейки моделей.

flowchart TB
    subgraph UI["Интерфейсы пользователя — как ты общаешься с Claude"]
        CL["claude.ai\nВеб-чат, артефакты,\nпроекты, memory"]
        CC["Claude Code\nТерминальный AI-агент\nдля кодинга"]
        CD["Claude Desktop\nДесктоп-приложение\nс локальными MCP"]
        CW["Cowork\nАвтоматизация файлов\nи задач на десктопе"]
        MA["Mobile\niOS и Android\nприложения"]
        CiC["Chrome agent\nБраузерный агент\nуправляет вкладками"]
    end

    subgraph SDK["Для разработчиков — программный доступ"]
        PY["Python SDK\nfrom anthropic import Anthropic\nтипизация, retry, streaming"]
        TS["TypeScript SDK\nimport Anthropic\nasync/await, типы"]
        REST["REST API\ncURL, любой язык\nHTTP POST напрямую"]
        ASDK["Agent SDK\nТот же движок что в Claude Code\nагентский цикл, subagents"]
    end

    subgraph THIRD["Сторонние платформы — Claude через других"]
        BED["Amazon Bedrock\nAWS инфраструктура\nсвои ключи AWS"]
        VTX["Google Vertex AI\nGCP инфраструктура\nсвои ключи GCP"]
        MSFT["Microsoft Foundry\nAzure интеграция"]
    end

    subgraph API["Claude API — единая точка входа"]
        MSG["Messages API\nОсновной эндпоинт\nPOST /v1/messages\nпринимает system, messages, tools"]
        BATCH["Batches API\nМассовая обработка\nасинхронно, -50% стоимость\nдо 100к запросов"]
        TOKENS["Token Counting\nСчитает токены ДО отправки\nконтроль затрат"]
        MAPI["Models API\nСписок моделей\nmax_tokens, capabilities"]
        FAPI["Files API\nЗагрузка файлов\nдля повторного использования"]
        SKAPI["Skills API\nКастомные навыки агентов\nпереиспользуемое поведение"]
    end

    subgraph MODL["Модели — мозг системы"]
        OP["Opus 4.6\nСамая умная\nкодинг, агенты, сложные задачи\n200K вход / 32K выход"]
        SON["Sonnet 4.6\nБаланс ум и скорость\nкодинг, агенты, масштаб\n200K вход / 64K выход"]
        HAI["Haiku 4.5\nБыстрая и дешёвая\nклассификация, роутинг\n200K вход / 8K выход"]
    end

    UI --> API
    SDK --> API
    THIRD --> MODL
    API --> MODL

2. Возможности моделей и инструменты

Что умеет модель, server vs client tools, и как работает агентный цикл tool_use.

flowchart TB
    subgraph CAP["Возможности моделей — что умеет Claude"]
        ET["Extended thinking\nДлинная цепочка рассуждений\nвнутренние thinking-токены\nдля сложных задач"]
        AT["Adaptive thinking\nАвто-подбор глубины\nрассуждений под задачу\nбез ручной настройки"]
        EFF["Effort control\nРучная настройка\nнасколько глубоко думать\nlow, medium, high"]
        SO["Structured outputs\nГарантированный JSON\nпо твоей JSON-схеме\nstrict mode"]
        CIT["Citations\nСсылки на источники\nиз search results\nс индексами предложений"]
        STR["Streaming\nSSE поток токенов\nв реальном времени\nкаждый токен по мере генерации"]
        VIS["Vision\nАнализ изображений\nскриншоты, фото, графики\nдо 20 картинок за запрос"]
        PDFS["PDF support\nЧтение PDF файлов\nтаблицы, графики, текст\nконвертация в изображения"]
    end

    subgraph TOOLS["Инструменты — Claude действует в реальном мире"]
        subgraph SRV["Server tools — исполняет Anthropic"]
            WS["web_search\nПоиск в интернете\n10 результатов\nавтоцитирование"]
            WF["web_fetch\nЗагрузка веб-страницы\nполный контент по URL\nmarkdown извлечение"]
            CE["code_execution\nИсполнение Python\nв песочнице Anthropic\nвозврат stdout/stderr"]
            TSRCH["tool_search\nПоиск среди 100+ тулов\nBM25 или regex\nгрузит только нужные"]
        end
        subgraph CLT["Client tools — исполняешь ты"]
            BASH["bash\nShell-команды\nна твоём сервере\nты запускаешь и шлёшь результат"]
            TEDIT["text_editor\nРедактирование файлов\nstr_replace, insert\nтвой код исполняет"]
            COMPU["computer_use\nУправление компьютером\nмышь, клавиатура, скриншоты\nчерез твой драйвер"]
            CUST["Твои кастомные тулы\nЛюбой JSON-schema\nClaude вызывает\nты исполняешь"]
        end
    end

    CAP --> TOOLS

    SRV -->|"Результат сразу\nв потоке ответа"| RES["Обратно в модель"]
    CLT -->|"Ты шлёшь tool_result\nв следующем запросе"| RES
    RES -->|"Цикл продолжается\nпока не end_turn"| CAP

3. Инфраструктура, MCP и администрирование

Управление контекстом, MCP-транспорты и серверы, агентный слой, администрирование.

flowchart TB
    subgraph INFRA["Инфраструктура контекста — управление памятью и кэшем"]
        PC["Prompt caching\nКэширует system prompt\nи tool definitions\nэкономия до 90% на повторных запросах"]
        CW2["Context windows\nОкно контекста 200K-1M токенов\nвсё что видит модель\nsystem + history + tools + files"]
        COMP["Compaction\nАвтосжатие контекста\nкогда окно переполняется\nсохраняет суть, убирает детали"]
        CEDIT["Context editing\nРучное редактирование\nконтекстного окна\nудаление ненужных сообщений"]
        TCOUNT["Token counting\nПодсчёт токенов до отправки\nPOST /v1/messages/count_tokens\nконтроль затрат заранее"]
    end

    subgraph MCPFULL["MCP — Model Context Protocol — подключение к внешним сервисам"]
        CONN["MCP connector в API\nmcp_servers параметр в запросе\nAnthropic подключается к серверу\nтолько HTTP, не STDIO"]

        subgraph TRANSPORT["Транспорты — как подключаться"]
            STDIO["STDIO\nЛокальный процесс\nтолько Claude Code и Desktop\nкоманда запускается на твоей машине"]
            HTTP["Streamable HTTP\nУдалённый сервер\nпубличный URL\nподдержка auth headers"]
            SSE["SSE legacy\nСтарый протокол\nстриминг событий\nзамещается HTTP"]
        end

        subgraph SERVERS["Примеры MCP-серверов"]
            GIT["GitHub\nрепозитории, issues, PR"]
            SLACK["Slack\nканалы, сообщения"]
            GMAIL["Gmail\nписьма, черновики"]
            NOT["Notion\nстраницы, базы данных"]
            FIG["Figma\nдизайны, компоненты"]
            CAN["Canva\nсоздание дизайнов"]
            SUP["Supabase\nбазы данных, функции"]
            VER["Vercel\nдеплой, логи"]
            ANY["Любой кастомный\nтвой собственный MCP-сервер"]
        end

        CONN --> TRANSPORT
        TRANSPORT --> SERVERS
    end

    subgraph TSEARCH["Tool search — умная загрузка тулов"]
        IDX["Индекс тулов\nхранит имена и описания\nвсех доступных тулов\nлёгкий, не жрёт контекст"]
        DEFER["Deferred loading\nтулы НЕ грузятся сразу\nтолько по запросу модели\nэкономия 85%+ контекста"]
        DISC["Обнаружение\nClaude ищет по ключевым словам\nгрузит 3-5 релевантных\nостальные не трогает"]
    end

    subgraph AGENT["Agent layer — для Claude Code и Agent SDK"]
        ALOOP["Agent loop\nЦикл: думай-действуй-наблюдай\nпока задача не решена\nавтоматические повторы"]
        SUBAG["Subagents\nПараллельные агенты\nкаждый на свою подзадачу\nглавный координирует"]
        HOOKS["Hooks\nShell-команды до и после\nдействий Claude Code\nнапример lint после edit"]
        CLAUDEMD["CLAUDE.md\nКонфиг в корне проекта\nстандарты кода, архитектура\nчитается каждую сессию"]
        ASKILL["Agent Skills\nПереиспользуемые навыки\nзагружаются через Skills API\nшаблоны поведения"]
    end

    subgraph ADMIN["Администрирование"]
        DR["Data residency\ninference_geo параметр\nгде запускается инференс\nUS, EU"]
        WK["Workspaces\nСегментация API-ключей\nконтроль расходов\nпо проектам и командам"]
        USAGE["Usage API\nРасход токенов и денег\nпо моделям и ключам\nмониторинг в реальном времени"]
        RETAIN["Data retention\nЧто хранится и сколько\nZDR — zero data retention\nдля enterprise"]
    end

    INFRA --> MCPFULL
    TSEARCH --> MCPFULL
    AGENT --> INFRA
    ADMIN --> INFRA

4. Жизненный цикл запроса

Полный путь сообщения: от отправки через кэш, инференс, thinking до tool loop и финального ответа.

flowchart TD
    U["Пользователь отправляет сообщение\nтекст, изображения, PDF, файлы"] --> AUTH["Аутентификация\nAPI-ключ в заголовке x-api-key\nпроверка прав и лимитов"]
    AUTH --> RL["Rate limits\nограничения по токенам в минуту\nи запросам в минуту\nзависит от тарифа"]
    RL --> CTX["Сборка контекста"]

    CTX --> SP["System prompt\nинструкции для модели\nроль, формат, ограничения"]
    CTX --> HIST["История диалога\nвсе messages user+assistant\nмультитёрн контекст"]
    CTX --> TDEFS["Tool definitions\nJSON-схемы всех тулов\nимена, описания, параметры"]
    CTX --> FDATA["Файлы\nPDF как изображения\nкартинки base64\nзагруженные через Files API"]

    SP --> CACHE{"Prompt cache?"}
    HIST --> CACHE
    TDEFS --> CACHE
    FDATA --> CACHE

    CACHE -->|"Cache hit\nпрефикс уже в памяти\nплатишь только за новое"| INF["Инференс модели\nвыбранная модель генерирует\nтокен за токеном"]
    CACHE -->|"Cache miss\nвесь контекст обрабатывается\nполная стоимость"| INF

    INF --> THINK{"Extended thinking\nвключен?"}
    THINK -->|"Да"| ET["Thinking блок\nвнутренние рассуждения\nне видны пользователю\nулучшают качество ответа"]
    THINK -->|"Нет"| GEN["Генерация ответа\nтокен за токеном\nстриминг через SSE"]
    ET --> GEN

    GEN --> STOP{"stop_reason"}

    STOP -->|"end_turn\nмодель закончила"| RESP["Текстовый ответ\nстримится пользователю\nс citations если был search"]
    STOP -->|"tool_use\nмодель хочет вызвать тул"| TBLOCK["tool_use блок\nимя тула + JSON аргументы\nмодель решила что нужны данные"]
    STOP -->|"max_tokens\nупёрлись в лимит"| TRUNC["Обрезанный ответ\nнужно продолжить\nили увеличить max_tokens"]

    TBLOCK --> EXEC{"Тип тула?"}

    EXEC -->|"Server tool\nweb_search, code_exec"| SEXEC["Anthropic исполняет\nрезультат сразу в потоке\nбез участия клиента"]
    EXEC -->|"Client tool\nbash, custom"| CEXEC["Твой код исполняет\nполучает tool_use блок\nзапускает и шлёт tool_result"]
    EXEC -->|"MCP tool"| MEXEC["MCP сервер исполняет\nчерез HTTP или STDIO\nрезультат как tool_result"]

    SEXEC --> LOOP["Результат добавляется\nв контекст"]
    CEXEC --> LOOP
    MEXEC --> LOOP

    LOOP --> INF

    RESP --> FINAL["Финальный ответ пользователю\nтекст + цитаты + артефакты"]
    TRUNC --> FINAL