Инструменты Qwen Code
Qwen Code включает встроенные инструменты, которые модель использует для взаимодействия с вашей локальной средой, получения информации и выполнения действий. Эти инструменты расширяют возможности CLI, позволяя ему выходить за рамки генерации текста и помогать в решении широкого круга задач.
Обзор инструментов Qwen Code
В контексте Qwen Code инструменты — это конкретные функции или модули, выполнение которых может запросить модель. Например, если вы попросите модель «Кратко перескажи содержимое my_document.txt», она, скорее всего, определит необходимость прочитать этот файл и запросит выполнение инструмента read_file.
Базовый компонент (packages/core) управляет этими инструментами, предоставляет их определения (схемы) модели, выполняет их по запросу и возвращает результаты модели для дальнейшей обработки в ответ, предназначенный для пользователя.
Эти инструменты предоставляют следующие возможности:
- Доступ к локальной информации: Инструменты позволяют модели получать доступ к вашей локальной файловой системе, читать содержимое файлов, просматривать списки директорий и т. д.
- Выполнение команд: С помощью таких инструментов, как
run_shell_command, модель может запускать shell-команды (с соблюдением соответствующих мер безопасности и подтверждением пользователя). - Взаимодействие с веб-ресурсами: Инструменты могут получать содержимое по URL.
- Выполнение действий: Инструменты могут изменять файлы, создавать новые или выполнять другие действия в вашей системе (как правило, также с использованием механизмов защиты).
- Привязка ответов к контексту: Используя инструменты для получения актуальных или специфических локальных данных, модель формирует более точные и релевантные ответы, основанные на вашем реальном контексте.
Как использовать инструменты Qwen Code
Чтобы использовать инструменты Qwen Code, отправьте запрос в CLI. Процесс работает следующим образом:
- Вы отправляете запрос в CLI.
- CLI передает запрос в ядро.
- Ядро вместе с вашим запросом и историей диалога отправляет список доступных инструментов и их описания/схемы в настроенный API модели.
- Модель анализирует ваш запрос. Если она определяет, что требуется инструмент, её ответ будет содержать запрос на выполнение конкретного инструмента с определёнными параметрами.
- Ядро получает этот запрос, проверяет его и (часто после подтверждения пользователя для чувствительных операций) выполняет инструмент.
- Результат работы инструмента отправляется обратно модели.
- Модель использует результат работы инструмента для формирования итогового ответа, который затем через ядро возвращается в 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 (
run_shell_command): Для выполнения shell-команд. - Инструмент Web Fetch (
web_fetch): Для получения содержимого по URL. - Инструмент Web Search (
web_search): Для поиска в интернете. - Инструмент Multi-File Read (
read_many_files): Специализированный инструмент для чтения содержимого нескольких файлов или директорий, часто используется командой@. - Инструмент Memory (
save_memory): Для сохранения и извлечения информации между сессиями. - Инструмент Todo Write (
todo_write): Для создания и управления структурированными списками задач во время сессий программирования. - Инструмент Task (
task): Для делегирования сложных задач специализированным субагентам. - Инструмент Exit Plan Mode (
exit_plan_mode): Для выхода из режима планирования и перехода к реализации.
Кроме того, эти инструменты включают:
- MCP-серверы: MCP-серверы выступают в роли моста между моделью и вашей локальной средой или другими сервисами, такими как API.
- Краткое руководство по MCP: Начните работу с MCP за 5 минут на практических примерах
- Примеры конфигураций MCP: Готовые конфигурации для типовых сценариев
- Тестирование и валидация MCP: Тестирование и проверка конфигураций ваших MCP-серверов
- Изоляция (Sandboxing): Песочница изолирует модель и её изменения от вашей среды, чтобы снизить потенциальные риски.