4 Mermaid-диаграммы: обзор экосистемы, возможности и инструменты, инфраструктура и MCP, жизненный цикл запроса. Апрель 2026, v1
Все точки входа (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
Что умеет модель, 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
Управление контекстом, 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
Полный путь сообщения: от отправки через кэш, инференс, 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