Skip to Content
Руководство для разработчиковИнструментыВведение

Инструменты Qwen Code

Qwen Code включает встроенные инструменты, которые модель использует для взаимодействия с вашим локальным окружением, получения информации и выполнения действий. Эти инструменты расширяют возможности CLI, позволяя выйти за рамки генерации текста и помогать с широким кругом задач.

Обзор инструментов Qwen Code

В контексте Qwen Code инструменты — это конкретные функции или модули, выполнение которых модель может запросить. Например, если вы попросите модель «Суммируй содержимое my_document.txt», она, скорее всего, определит необходимость прочитать этот файл и запросит выполнение инструмента read_file.

Основной компонент (packages/core) управляет этими инструментами, предоставляет их определения (схемы) модели, выполняет их по запросу и возвращает результаты модели для дальнейшей обработки в ответ пользователю.

Эти инструменты предоставляют следующие возможности:

  • Доступ к локальной информации: Инструменты позволяют модели обращаться к вашей локальной файловой системе, читать содержимое файлов, выводить списки каталогов и т.д.
  • Выполнение команд: С помощью инструментов, таких как run_shell_command, модель может запускать команды оболочки (с соответствующими мерами безопасности и подтверждением пользователя).
  • Взаимодействие с вебом: Инструменты могут получать содержимое по URL-адресам.
  • Выполнение действий: Инструменты могут изменять файлы, создавать новые файлы или выполнять другие действия в вашей системе (опять же, обычно с защитными механизмами).
  • Обоснование ответов: Используя инструменты для получения актуальных или специфических локальных данных, ответы могут быть более точными, релевантными и обоснованными в вашем контексте.

Как использовать инструменты Qwen Code

Чтобы использовать инструменты Qwen Code, отправьте запрос в CLI. Процесс работает следующим образом:

  1. Вы отправляете запрос в CLI.
  2. CLI отправляет запрос в ядро.
  3. Ядро вместе с вашим запросом и историей диалога отправляет список доступных инструментов и их описания/схемы в настроенное API модели.
  4. Модель анализирует ваш запрос. Если она определяет, что нужен инструмент, её ответ будет включать запрос на выполнение конкретного инструмента с определёнными параметрами.
  5. Ядро получает этот запрос инструмента, проверяет его и (часто после подтверждения пользователем для чувствительных операций) выполняет инструмент.
  6. Результат выполнения инструмента отправляется обратно модели.
  7. Модель использует результат инструмента для формулировки окончательного ответа, который затем через ядро отправляется в CLI и отображается вам.

Обычно в CLI отображаются сообщения, указывающие, когда вызывается инструмент и успешно ли он выполнен или нет.

Безопасность и подтверждение

Многие инструменты, особенно те, которые могут изменять вашу файловую систему или выполнять команды (write_file, edit, run_shell_command), разработаны с учётом безопасности. Qwen Code обычно:

  • Требовать подтверждение: Запрашивать ваше подтверждение перед выполнением потенциально опасных операций, показывая, какое действие будет выполнено.
  • Использовать песочницу: Все инструменты подчиняются ограничениям, налагаемым песочницей (см. Песочница в Qwen Code). Это означает, что при работе в песочнице любые инструменты (включая MCP-серверы), которые вы хотите использовать, должны быть доступны внутри среды песочницы. Например, чтобы запустить MCP-сервер через npx, исполняемый файл npx должен быть установлен в Docker-образе песочницы или быть доступным в среде sandbox-exec.

Важно всегда внимательно проверять запросы на подтверждение, прежде чем разрешить инструменту продолжить.

Узнайте больше об инструментах Qwen Code

Встроенные инструменты Qwen Code можно разделить на следующие категории:

Кроме того, эти инструменты включают:

  • MCP-серверы: MCP-серверы действуют как мост между моделью и вашим локальным окружением или другими сервисами, такими как API.
  • Песочница: Песочница изолирует модель и её изменения от вашего окружения для снижения потенциального риска.
Last updated on