Инструменты 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). Процесс работает следующим образом:
- Вы передаёте запрос в 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 можно условно разделить на следующие категории:
- Инструменты файловой системы: Для взаимодействия с файлами и каталогами (чтение, запись, перечисление, поиск и т. д.).
- Инструмент оболочки (
run_shell_command): Для выполнения команд оболочки. - Инструмент получения веб-контента (
web_fetch): Для извлечения содержимого по URL-адресам. - Инструмент веб-поиска (
web_search): Для поиска в интернете. - Инструмент чтения нескольких файлов (
read_many_files): Специализированный инструмент для чтения содержимого из нескольких файлов или каталогов, часто используемый командой@. - Инструмент памяти (
save_memory): Для сохранения и восстановления информации между сессиями. - Инструмент создания задач (
todo_write): Для создания и управления структурированными списками задач в ходе сеансов программирования. - Инструмент задач (
task): Для делегирования сложных задач специализированным подагентам. - Инструмент выхода из режима планирования (
exit_plan_mode): Для выхода из режима планирования и перехода к реализации.
Кроме того, эти инструменты включают:
- Серверы MCP: Серверы MCP выступают в роли моста между моделью и вашей локальной средой или другими сервисами, такими как API.
- Краткое руководство по MCP: Начните работу с MCP за 5 минут с практическими примерами.
- Примеры конфигураций MCP: Готовые к использованию конфигурации для типовых сценариев.
- Тестирование и проверка MCP: Тестируйте и проверяйте корректность настроек ваших серверов MCP.
- Песочница: Песочница изолирует модель и её изменения от вашей среды, снижая потенциальные риски.