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, передайте prompt в CLI. Процесс работает следующим образом:

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

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

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

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

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

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

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

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

  • Инструменты файловой системы: Для работы с файлами и директориями (чтение, запись, список, поиск и т. д.).
  • Shell Tool (run_shell_command): Для выполнения shell-команд.
  • Web Fetch Tool (web_fetch): Для получения контента по URL.
  • Web Search Tool (web_search): Для поиска в интернете.
  • Multi-File Read Tool (read_many_files): Специализированный инструмент для чтения контента из нескольких файлов или директорий, часто используется командой @.
  • Memory Tool (save_memory): Для сохранения и воспроизведения информации между сессиями.
  • Todo Write Tool (todo_write): Для создания и управления структурированными списками задач во время сессий программирования.

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

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