Skip to Content
デベロッパーガイドツールはじめに

Qwen Code ツール

Qwen Code には、モデルがローカル環境と対話したり、情報にアクセスしたり、アクションを実行したりするための組み込みツールが含まれています。これらのツールはCLIの機能を拡張し、テキスト生成を超えて幅広いタスクを支援できるようにします。

Qwen Code ツールの概要

Qwen Code において、ツールとはモデルが実行をリクエストできる特定の関数またはモジュールです。たとえば、「my_document.txt の内容を要約して」とモデルに依頼すると、モデルはそのファイルを読む必要があると判断し、read_file ツールの実行をリクエストするでしょう。

コアコンポーネント(packages/core)はこれらのツールを管理し、その定義(スキーマ)をモデルに提示し、リクエストがあれば実行し、結果をモデルに返してユーザー向けの応答に加工するよう処理します。

これらのツールは次の機能を提供します。

  • ローカル情報へのアクセス: ツールを使用すると、モデルはローカルファイルシステムにアクセスし、ファイルの内容を読み取り、ディレクトリを一覧表示などできます。
  • コマンドの実行: run_shell_command のようなツールを使って、モデルはシェルコマンドを実行できます(適切な安全対策とユーザーの確認付き)。
  • Webとの対話: ツールは URL からコンテンツを取得できます。
  • アクションの実行: ツールはファイルを変更したり、新しいファイルを書き込んだり、システム上で他のアクションを実行できます(通常は保護機能付き)。
  • 応答の根拠付け: ツールを使ってリアルタイムデータや特定のローカルデータを取得することで、応答をより正確で関連性の高いものにし、実際のコンテキストに基づいたものにできます。

Qwen Code ツールの使用方法

Qwen Code ツールを使用するには、CLI にプロンプトを入力します。処理の流れは次のとおりです。

  1. ユーザーが CLI にプロンプトを入力します。
  2. CLI がプロンプトをコアに送信します。
  3. コアは、プロンプトと会話履歴に加えて、利用可能なツールの一覧とその説明/スキーマを設定されたモデル API に送信します。
  4. モデルがリクエストを分析します。ツールが必要と判断した場合、その応答には特定のパラメータを持つ特定のツールの実行リクエストが含まれます。
  5. コアはこのツールリクエストを受け取り、検証し、(多くの場合、機密操作ではユーザーの確認後に)ツールを実行します。
  6. ツールの出力がモデルに送り返されます。
  7. モデルはツールの出力を使用して最終的な回答を生成し、それがコアを通じて CLI に送り返され、ユーザーに表示されます。

通常、CLI にツールが呼び出されていることや、成功したか失敗したかを示すメッセージが表示されます。

セキュリティと確認

特にファイルシステムを変更したりコマンドを実行したりするツール(write_fileeditrun_shell_command)の多くは、安全性を考慮して設計されています。Qwen Code は通常、次のことを行います。

  • 確認を要求する: 機密性の高い操作を実行する前に、実行されようとしているアクションを表示して確認を促します。
  • サンドボックスを利用する: すべてのツールはサンドボックスによって適用される制限の対象となります(Qwen Code のサンドボックスを参照)。つまり、サンドボックス内で動作する場合、使用したいツール(MCP サーバーを含む)はサンドボックス環境 で利用可能でなければなりません。たとえば、npx 経由で MCP サーバーを実行するには、npx 実行可能ファイルがサンドボックスの Docker イメージ内にインストールされているか、sandbox-exec 環境で利用可能である必要があります。

ツールの実行を許可する前に、確認プロンプトを常に注意深く確認することが重要です。

Qwen Code のツールの詳細

Qwen Code の組み込みツールは、大まかに以下のように分類できます。

さらに、これらのツールは以下を含みます。

  • MCP サーバー: MCP サーバーは、モデルとローカル環境や API などの他のサービスとの間のブリッジとして機能します。
  • サンドボックス: サンドボックスはモデルとその変更を環境から隔離し、潜在的なリスクを低減します。
Last updated on