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