Подробности API инструментов Claude Code раскрыты

Структура Tool API Claude Code
Пользователь Reddit задокументировал свой разговор с Claude Code о его внутреннем Tool API. ИИ-ассистент раскрыл конкретные детали о том, как он взаимодействует со средой.
Категории и функции инструментов
Инструменты файловой системы:
Read— читает файлы по абсолютному пути, возвращает содержимое с номерами строк (в стиле cat -n). Поддерживает изображения, PDF, Jupyter notebooks.Write— перезаписывает или создает файлы. Перед записью в существующий файл необходимо сначала выполнить Read.Edit— выполняет точечную замену строк. Требует, чтобы old_string был уникальным в файле, иначе операция завершится ошибкой. Перед редактированием необходимо выполнить Read.Glob— находит файлы по шаблону (например, *.py), отсортированные по времени изменения.Grep— поиск содержимого на основе ripgrep. Поддерживает регулярные выражения, фильтры по типам файлов и контекстные строки.
Инструменты выполнения:
Bash— выполняет shell-команды со стандартным таймаутом 2 минуты (до 10 минут). Рабочий каталог сохраняется между вызовами, но состояние оболочки не переносится (нет переменных окружения, алиасов и т.д.). Имеет опцию run_in_background.
Веб-инструменты:
WebFetch— получает содержимое по URL.WebSearch— выполняет поиск в интернете.
AI-агенты:
Agent— создает подчиненных агентов (универсальных, Explore, Plan и др.) с собственным доступом к инструментам и контекстом. Может работать в фоновом режиме. Возвращает одно сообщение по завершении.
Специальные инструменты:
Skill— вызывает именованные «навыки» (слэш-команды, такие как /commit), которые разворачиваются в полные промпты.ToolSearch— получает схемы для «отложенных инструментов» (инструментов, известных по имени, но которые нельзя вызвать до получения их схемы).
Ключевые детали реализации
Структура вызова инструментов: Claude Code не использует специальные токены для активации инструментов — это стандартный API вызова функций. Ответ включает структурированные блоки вызовов инструментов, а результаты возвращаются в виде сообщений с результатами инструментов.
Формат вызова инструментов: Блоки используют XML-подобный синтаксис с оберткой antml:function_calls, содержащей один или несколько элементов antml:invoke с именем инструмента в качестве атрибута. Каждый параметр представляет собой элемент antml:parameter с атрибутом name и значением в виде текстового содержимого.
Пример структуры для вызова Bash:
- Внешний тег:
antml:function_calls - Внутренний тег:
antml:invokeс атрибутомname="Bash" - Тег параметра:
antml:parameterсname="command", содержащим текст команды
Операционное поведение
- Взаимодействие с линтерами: При редактировании файлов git hooks или настроенные «хуки» могут запускаться автоматически после вызовов инструментов и дополнительно изменять файлы. Результат инструмента указывает, что «файл был изменен другим процессом», что требует повторного чтения перед следующим редактированием.
- Видимость вызовов инструментов: Каждый вызов инструмента отображается в терминале для одобрения пользователем (в зависимости от режима разрешений). Пользователи могут отклонять любой вызов инструмента.
- Параллельное выполнение: Несколько вызовов инструментов могут быть отправлены в одном ответе и выполняться параллельно, что полезно для одновременного чтения нескольких файлов.
- Управление контекстом: Длинные диалоги автоматически сжимаются — более ранние сообщения суммируются для освобождения контекста. Сохранение памяти происходит через структуру каталогов:
/home/tpreal/.claude/projects/...
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Open-Source Benchmark Runner для тестирования агентов OpenClaw на реальных рабочих процессах
Новый проект с открытым исходным кодом позволяет оценивать агентов OpenClaw на ваших собственных частных, реальных задачах, определенных в YAML, с поддержкой импорта фактических рабочих пространств агентов.

Итан AI: Европейский хаб API для моделей ИИ — переориентируется как альтернатива OpenRouter
Eden AI предлагает единый унифицированный API для доступа к более чем 500 моделям ИИ (LLM, компьютерное зрение, OCR, речь) с умной маршрутизацией, механизмами отказоустойчивости и контролем региона. Позиционируется как европейская альтернатива OpenRouter.

Протокол AVP позволяет агентам LLM обмениваться кэшем ключей и значений вместо текста для повышения эффективности использования токенов.
AVP (Agent Vector Protocol) позволяет агентам LLM передавать KV-кэш напрямую между собой вместо текста, сокращая обработку токенов на 73-78% и обеспечивая ускорение в 2-4 раза для моделей Qwen, Llama и DeepSeek. Протокол работает с коннекторами HuggingFace и vLLM и доступен в виде пакета Python.

Формат WCY сокращает нагрузку на токены LLM на 50–71% и добавляет структурные маркеры «Я не знаю».
WCY (Watch-Compute-Yield) — это построчный формат, который сокращает накладные расходы на токены JSON на 50-71% и вводит структурные маркеры '?' для обозначения неопределённости в рассуждениях ИИ. Формат не требует тонкой настройки — достаточно всего трёх примеров.