Инструменты кода Qwen
Qwen Code включает встроенные инструменты, которые модель использует для взаимодействия с вашей локальной средой, доступа к информации и выполнения действий. Эти инструменты расширяют возможности CLI, позволяя ему выходить за рамки генерации текста и помогать в широком спектре задач.
Обзор инструментов Qwen Code
В контексте Qwen Code инструменты — это специфичные функции или модули, которые модель может запрашивать для выполнения. Например, если вы попросите модель «Суммируй содержимое my_document.txt», она, вероятно, определит необходимость прочитать этот файл и запросит выполнение инструмента read_file.
Основной компонент (packages/core) управляет этими инструментами, предоставляет их определения (схемы) модели, выполняет их по запросу и возвращает результаты модели для дальнейшей обработки в ответ, предназначенный пользователю.
Эти инструменты предоставляют следующие возможности:
- Доступ к локальной информации: Инструменты позволяют модели получать доступ к вашей локальной файловой системе, читать содержимое файлов, просматривать списки каталогов и т. д.
- Выполнение команд: С помощью таких инструментов, как
run_shell_command, модель может выполнять команды оболочки (с соответствующими мерами безопасности и подтверждением пользователя). - Взаимодействие с вебом: Инструменты могут извлекать содержимое по URL-адресам.
- Выполнение действий: Инструменты могут изменять файлы, создавать новые файлы или выполнять другие действия в вашей системе (опять же, обычно с защитными механизмами).
- Обоснованные ответы: Используя инструменты для получения актуальных или специфичных локальных данных, ответы могут быть более точными, релевантными и основанными на вашем реальном контексте.
Как использовать инструменты кода Qwen
Чтобы использовать инструменты кода Qwen, предоставьте подсказку в CLI. Процесс работает следующим образом:
- Вы предоставляете подсказку в CLI.
- CLI отправляет подсказку в ядро.
- Ядро вместе с вашей подсказкой и историей разговора отправляет список доступных инструментов и их описания/схемы в настроенный API модели.
- Модель анализирует ваш запрос. Если она определяет, что необходим инструмент, её ответ будет включать запрос на выполнение конкретного инструмента с определёнными параметрами.
- Ядро получает этот запрос инструмента, проверяет его и (часто после подтверждения пользователем для чувствительных операций) выполняет инструмент.
- Вывод из инструмента отправляется обратно в модель.
- Модель использует вывод инструмента для формулировки своего окончательного ответа, который затем отправляется обратно через ядро в CLI и отображается вам.
Обычно вы будете видеть сообщения в CLI, указывающие на вызов инструмента и успешность или неудачу его выполнения.
Безопасность и подтверждение
Многие инструменты, особенно те, которые могут изменять вашу файловую систему или выполнять команды (write_file, edit, run_shell_command), разработаны с учетом безопасности. Qwen Code обычно:
- Требует подтверждения: Запрашивает у вас подтверждение перед выполнением потенциально чувствительных операций, показывая, какое действие будет выполнено.
- Использует песочницу: Все инструменты подчиняются ограничениям, установленным механизмом песочницы (см. Песочница в Qwen Code). Это означает, что при работе в песочнице любые инструменты (включая серверы MCP), которые вы хотите использовать, должны быть доступны внутри среды песочницы. Например, чтобы запустить сервер MCP через
npx, исполняемый файлnpxдолжен быть установлен внутри образа Docker песочницы или быть доступным в средеsandbox-exec.
Важно всегда внимательно изучать запросы на подтверждение перед тем, как разрешить инструменту продолжить работу.
Узнайте больше об инструментах Qwen Code
Встроенные инструменты Qwen Code можно разделить на следующие категории:
- Инструменты файловой системы: Для взаимодействия с файлами и каталогами (чтение, запись, перечисление, поиск и т. д.).
- Shell-инструмент (
run_shell_command): Для выполнения команд оболочки. - Инструмент веб-запросов (
web_fetch): Для получения содержимого по URL-адресам. - Инструмент веб-поиска (
web_search): Для поиска информации в интернете. - Инструмент чтения нескольких файлов (
read_many_files): Специализированный инструмент для чтения содержимого из множества файлов или каталогов, часто используется командой@. - Инструмент памяти (
save_memory): Для сохранения и воспроизведения информации между сессиями. - Инструмент Todo Write (
todo_write): Для создания и управления структурированными списками задач во время сессий программирования. - Инструмент Task (
task): Для делегирования сложных задач специализированным подагентам. - Инструмент выхода из режима планирования (
exit_plan_mode): Для выхода из режима планирования и перехода к реализации.
Кроме того, эти инструменты включают:
- Серверы MCP: Серверы MCP выступают в роли моста между моделью и вашей локальной средой или другими сервисами, такими как API.
- Краткое руководство по MCP: Начните работу с MCP за 5 минут с помощью практических примеров
- Примеры конфигураций MCP: Готовые к использованию конфигурации для типовых сценариев
- Тестирование и проверка MCP: Тестирование и проверка ваших настроек сервера MCP
- Песочница: Песочница изолирует модель и её изменения от вашей среды, снижая потенциальные риски.