cursor-docs.ruПопробовать Курсор бесплатно

AI Foundations

Tool calling

Неофициальный перевод раздела Cursor Learn. Мы переводим английский оригинал и чуть расширяем объяснения — это не материал от Cursor Inc.

Context ты уже понимаешь. Теперь — как модели делают больше, чем «просто писать текст». Через tool calling они могут совершать действия и подтягивать свежую информацию.

Мы сравнивали модели с API endpoints. Tool calling — это когда самой модели дают право вызывать другие API. По сути, она получает новые skills.

Аналогия. Помогаешь другу готовить по телефону. Ты даёшь советы, но не видишь холодильник и не пробуешь еду. Если друг присылает фото полки или говорит точную температуру духовки — советы резко становятся лучше. Tool calling делает для модели то же самое: даёт live-данные вместо догадок.

Как это работает

Когда разработчики собирают AI-приложение, они описывают набор tools — специальных способностей сверх генерации текста.

Ты уже пользовался tool calling, даже если не замечал: генерация картинки в ChatGPT, web search, запуск кода — всё это tools под капотом.

Типичный цикл:

  1. Модель получает запрос и понимает, что ей не хватает capabilities
  2. Отвечает специальным JSON: какой tool вызвать и с какими parameters
  3. Приложение выполняет tool и возвращает результат
  4. Модель кладёт результат в context и продолжает

Зачем tools в coding

Для разработки tools — это game changer. Модель может:

  • Читать и писать файлы в codebase
  • Искать функции и паттерны по коду
  • Гонять shell-команды: тесты, install пакетов
  • Тянуть docs или искать актуальное в вебе
  • Ловить ошибки через linter / test runner

Без tools модель ограничена тем, что ты явно положил в context. С tools она сама исследует проект.

Что внутри tool call

У каждого tool обычно три части:

  1. name — например read_file или search_web
  2. description — когда и как модель должна tool использовать
  3. parameters — входные данные

Пример definition:

{
  "name": "read_file",
  "description": "Read the contents of a file from the codebase",
  "parameters": {
    "filepath": "The path to the file to read"
  }
}

Когда модель хочет tool вызвать, она генерирует что-то вроде:

{
  "tool": "read_file",
  "parameters": {
    "filepath": "src/components/Button.tsx"
  }
}

Приложение читает файл и добавляет содержимое в conversation context — дальше модель уже понимает твой Button и предлагает релевантные правки.

Цена tools

Помнишь tokens и pricing? Tool calls едят tokens дважды:

  1. Definitions tools лежат в input context (часто сотни tokens на tool)
  2. Results tools попадают обратно в контекст (размер зависит от ответа)

Много tool calls → context window забивается быстрее и чек растёт. Обычно trade-off того стоит: live-информация резко повышает полезность. В Cursor при повторной отправке одного и того же контекста после tool call часто растёт cached input — тул умеет кешировать.

За пределы встроенных tools

Появился стандарт MCP (Model Context Protocol) — универсальный способ подключать tools к разным AI-приложениям. Как USB для периферии, только для AI-tools.

Через MCP можно подключить Figma, Linear, свою БД, внутренние API. Один раз написал MCP server — пользуешься в разных клиентах.

Когда модель умеет вызывать несколько tools подряд, принимать решения и учиться на результатах — это уже территория agents.