Инструменты 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, передайте prompt в CLI. Процесс работает следующим образом:
- Вы передаете prompt в CLI.
- CLI отправляет prompt в ядро (core).
- Ядро вместе с вашим prompt и историей диалога отправляет список доступных инструментов и их описания/схемы в настроенный model 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): Для создания и управления структурированными списками задач во время сессий программирования.
Кроме того, эти инструменты включают:
- MCP-серверы: MCP-серверы выступают в роли моста между моделью и вашей локальной средой или другими сервисами, такими как API.