承認モード
Qwen Code は5つの異なる権限モードを提供し、タスクの複雑さとリスクレベルに基づいて、AI がコードやシステムとどのように対話するかを柔軟に制御できます。
権限モードの比較
| モード | ファイル編集 | シェルコマンド | 最適なユースケース | リスクレベル |
|---|---|---|---|---|
| Plan (計画) | ❌ 読み取り専用の分析のみ | ❌ 実行不可 | • コードの探索 • 複雑な変更の計画 • 安全なコードレビュー | 最低 |
| Ask Permissions (許可を求める) | ✅ 手動承認が必要 | ✅ 手動承認が必要 | • 新しい/馴染みのないコードベース • 重要なシステム • チームコラボレーション • 学習と教育 | 低 |
| Auto-Edit (自動編集) | ✅ 自動承認 | ❌ 手動承認が必要 | • 日常の開発タスク • リファクタリングとコード改善 • 安全な自動化 | 中 |
| Auto (自動) | ✅ 分類器が評価 | ✅ 分類器が評価 | • 長時間の自律セッション • Auto-Edit では慎重すぎるが、YOLO はリスクが高い場合 | 中 |
| YOLO | ✅ 自動承認 | ✅ 自動承認 | • 信頼できる個人プロジェクト • 自動化スクリプト/CI/CD • バッチ処理タスク | 最高 |
以前 Default という名前だったモードは、その動作をより適切に説明するために Ask Permissions に名称変更されました。基盤となる設定値 (tools.approvalMode: "default") と /approval-mode default コマンドは、後方互換性のために変更されていません。
クイックリファレンスガイド
- Plan モードで開始: 変更を加える前に理解するのに最適
- Ask Permissions モードで作業: ほとんどの開発作業におけるバランスの取れた選択
- Auto-Edit に切り替え: 安全なコード変更を大量に行う場合
- Auto モードを試す: 割り込みを減らしたいが、シェルコマンドやネットワーク呼び出しには安全性を確保したい場合 — LLM 分類器が各呼び出しを評価
- YOLO は控えめに使用: 管理された環境での信頼できる自動化のみ
セッション中に Shift+Tab (Windows の場合は Tab) を使用して、モードをすばやく切り替えることができます。ターミナルのステータスバーに現在のモードが表示されるので、Qwen Code がどの権限を持っているかを常に把握できます。
切り替え順序は次のとおりです: plan → default → auto-edit → auto → yolo → plan → …
1. 安全なコード分析には Plan モードを使用する
Plan モードは、Qwen Code に 読み取り専用 の操作でコードベースを分析させて計画を立てるように指示します。コードベースの探索、複雑な変更の計画、または安全なコードレビューに最適です。
Plan モードを使用するタイミング
- 複数ステップの実装: 多くのファイルを編集する必要がある機能の場合
- コード探索: 何かを変更する前にコードベースを徹底的に調査したい場合
- インタラクティブな開発: Qwen Code と方向性について反復しながら進めたい場合
Plan モードの使用方法
セッション中に Plan モードをオンにする
セッション中に Shift+Tab (Windows の場合は Tab) を使用して権限モードを切り替えることで、Plan モードに切り替えられます。
通常モードの場合、Shift+Tab (または Windows の場合は Tab) を最初に押すと auto-edits モードに切り替わり、ターミナル下部に ⏵⏵ accept edits on と表示されます。さらにもう一度 Shift+Tab (または Windows の場合は Tab) を押すと Plan モードに切り替わり、⏸ plan mode と表示されます。
/plan コマンドを使用する
/plan コマンドは、Plan モードへの出入りをすばやく行うためのショートカットを提供します。
通常の計画リクエストは、それ自体ではモードを切り替えません。読み取り専用の Plan モードワークフローを使用したい場合は、/plan、キーボードショートカット、または承認モードを明示的に plan に設定します。
/plan # Plan モードに入る
/plan refactor the auth module # Plan モードに入り、計画を開始する
/plan exit # Plan モードを終了し、前のモードに戻す/plan exit で Plan モードを終了すると、以前の承認モードが自動的に復元されます (例: Plan モードに入る前に Auto-Edit だった場合、Auto-Edit に戻ります)。
新しいセッションを Plan モードで開始する
新しいセッションを Plan モードで開始するには、/approval-mode を使用してから plan を選択します。
/approval-modePlan モードで「ヘッドレス」クエリを実行する
-p または prompt を使用して、Plan モードで直接クエリを実行することもできます。
qwen --prompt "What is machine learning?"例: 複雑なリファクタリングの計画
/plan 認証システムを OAuth2 にリファクタリングする必要があります。詳細な移行計画を作成してください。Qwen Code は Plan モードに入り、現在の実装を分析して包括的な計画を作成します。フォローアップで改善できます。
後方互換性についてはどうですか?
データベースの移行はどのように処理すべきですか?Plan モードをデフォルトとして設定する
// .qwen/settings.json
{
"tools": {
"approvalMode": "plan"
}
}2. 制御された操作には Ask Permissions モードを使用する
Ask Permissions モードは Qwen Code を使用する標準的な方法です。このモードでは、潜在的にリスクのあるすべての操作に対する完全な制御を維持できます。Qwen Code はファイル変更やシェルコマンドの実行前に承認を求めます。
Ask Permissions モードを使用するタイミング
- コードベースに不慣れな場合: 馴染みのないプロジェクトを探索する際に、特に注意したい場合
- 重要なシステム: プロダクションコード、インフラストラクチャ、機密データを扱う場合
- 学習と教育: Qwen Code が実行する各ステップを理解したい場合
- チームコラボレーション: 複数の人が同じコードベースで作業している場合
- 複雑な操作: 複数のファイルや複雑なロジックを含む変更の場合
Ask Permissions モードの使用方法
セッション中に Ask Permissions モードをオンにする
セッション中に Shift+Tab (Windows の場合は Tab) を使用して権限モードを切り替えることで、Ask Permissions モードに切り替えられます。他のモードにいる場合、Shift+Tab (または Windows の場合は Tab) を押し続けると、最終的に Ask Permissions モードに戻ります。ターミナル下部にモードインジケーターが表示されない状態が Ask Permissions モードです。
新しいセッションを Ask Permissions モードで開始する
Ask Permissions モードは Qwen Code を起動したときの初期モードです。モードを変更して Ask Permissions モードに戻りたい場合は、以下を使用します。
/approval-mode defaultAsk Permissions モードで「ヘッドレス」クエリを実行する
ヘッドレスコマンドを実行する場合、Ask Permissions モードがデフォルトの動作です。明示的に指定することもできます。
qwen --prompt "このコードの潜在的なバグを分析してください"例: 機能の安全な実装
/approval-mode defaultアプリケーションにユーザーのプロフィール画像を追加する必要があります。画像は S3 バケットに保存し、URL はデータベースに保存する必要があります。Qwen Code はコードベースを分析し、計画を提案します。その後、以下の操作について承認を求めます。
- 新しいファイルの作成 (コントローラ、モデル、マイグレーション)
- 既存ファイルの変更 (新しいカラムの追加、API の更新)
- シェルコマンドの実行 (データベースマイグレーション、依存関係のインストール)
提案された各変更を確認し、個別に承認または拒否できます。
Ask Permissions モードをデフォルトとして設定する
// .qwen/settings.json
{
"tools": {
"approvalMode": "default"
}
}3. Auto Edits モード
Auto-Edit モードは、Qwen Code がファイル編集を自動承認する一方、シェルコマンドには手動承認を要求するように指示します。開発ワークフローを加速しながらシステムの安全性を維持するのに最適です。
自動承認される編集ツールには edit、write_file、notebook_edit が含まれます。
Auto-Accept Edits モードを使用するタイミング
- 日常の開発: ほとんどのコーディングタスクに最適
- 安全な自動化: AI がコードを変更できるようにしつつ、危険なコマンドの誤実行を防止
- チームコラボレーション: 共有プロジェクトで使用し、他者への意図しない影響を回避
このモードに切り替える方法
# コマンドで切り替え
/approval-mode auto-edit
# またはキーボードショートカットを使用
Shift+Tab (Windows の場合は Tab) # 他のモードから切り替えワークフローの例
- Qwen Code に関数のリファクタリングを依頼
- AI がコードを分析し、変更を提案
- 自動的に すべてのファイル変更を確認なしで適用
- テストを実行する必要がある場合、
npm testの実行について 承認を要求
4. Auto モード - 分類器による承認
Auto モードは Auto-Edit と YOLO の中間に位置します。LLM 分類器が各シェルコマンド、ネットワーク呼び出し、ワークスペース外の編集を評価し、安全と判断したものは自動承認し、リスクのあるものはブロックします。ほとんどの読み取り専用操作とワークスペース内の編集は、速度を優先して分類器をスキップします。
完全なリファレンス (ヒント設定、トラブルシューティング、FAQ) については auto-mode.md を参照してください。
Auto モードを使用するタイミング
- 長時間の自律セッション: Ask Permissions モードでは割り込みが多すぎるが、YOLO はリスクが高すぎる場合。
- 信頼できるプロジェクト: エージェントに作業を続行させたいが、破壊的なシェルコマンドや外部ネットワーク呼び出しに対するガードレールは維持したい内部コードベース。
- ヘッドレス / スケジュール実行: Auto-Edit では不十分 (エージェントがシェルコマンドも実行する必要がある) だが、
rm -rf /、curl ... | sh、資格情報の流出などに対する安全性を確保したい場合。
Auto モードの使用方法
セッション中に Auto モードをオンにする
Shift+Tab (Windows の場合は Tab) を押して Auto モードに切り替えます。ステータスバーにアクティブなモードが表示されます。
/approval-mode コマンドを使用する
/approval-mode autoAuto モードに初めて入ると、その仕組みを説明する情報メッセージが表示されます。このメッセージは2回目以降は表示されません。
新しいセッションを Auto モードで開始する
// .qwen/settings.json
{
"tools": {
"approvalMode": "auto",
},
}Auto モードが自動承認するものとブロックするもの
分類器は、不確かな場合にはブロック側に偏ります。デフォルトは次のとおりです。
- 自動承認: 読み取り専用コマンド (ls, cat, git status, grep, find)、カレントディレクトリへのパッケージインストール、ビルド/テストコマンド、ワークスペース内のファイル編集、ローカルのみの操作。
- ブロック: 取り消し不可能な破壊 (rm -rf /, fdisk, mkfs)、外部からのコード実行 (curl | sh、リモートコンテンツの eval)、資格情報の流出、不正な永続化 (.bashrc の編集、crontab)、セキュリティの弱体化、main/master への force-push。
分類器の判断は、settings.json の自然言語ヒントによってカスタマイズできます。詳細は auto-mode.md を参照してください。
セーフティガードレール
- ハードルールは引き続き有効:
permissions.denyルールは、分類器が実行される前にアクションをブロックします。 - Auto モード中は過度に広範な許可ルールが無効化される: 例:
permissions.allow: ["Bash"](すべてのシェルコマンドを許可) は分類器の機能を無効にします。Auto モードに入ると、分類器が機能できるように、そのようなルールは一時的に無効化されます。Auto モードを終了するとルールは復元されます。ディスク上の設定は変更されません。 - フェイルクローズ: 分類器 API に到達できない場合、アクションは許可されずブロックされます。2回連続で API 呼び出しが利用不可の場合、次のツール呼び出しは手動承認にフォールバックします。
- ループガード: ポリシーによるブロックが3回連続すると、次の呼び出しも手動承認にフォールバックし、エージェントが行き詰まったアプローチで循環しないようにします。
例
/approval-mode auto
認証モジュールを OAuth2 を使用するようにリファクタリングしてください。その後、テストスイートをすべて実行してください。Qwen Code はファイル編集 (ワークスペース内の編集は分類器をスキップ) を行い、npm test を実行し (分類器が安全と判断)、rm -rf /Users/me/.aws のようなリスクのある操作を試みた場合にはブロックを表示します。その理由をインラインで確認し、そのステップについて Ask Permissions モードに切り替えるかどうかを決定できます。
Auto モードをデフォルトとして設定する
// .qwen/settings.json
{
"tools": {
"approvalMode": "auto",
},
"permissions": {
"autoMode": {
"hints": {
"allow": ["この Python リポジトリで pytest、mypy、ruff を実行する"],
"deny": ["intranet.example.com へのネットワーク呼び出し"],
},
"environment": ["オープンソースのモノレポ。コミットは署名済み"],
},
},
}5. YOLO モード - 完全自動化
YOLO モードは Qwen Code に最高の権限を付与し、ファイル編集やシェルコマンドを含むすべてのツール呼び出しを自動承認します。
YOLO モードを使用するタイミング
- 自動化スクリプト: 定義済みの自動タスクを実行する場合
- CI/CD パイプライン: 管理された環境での自動実行
- 個人プロジェクト: 完全に信頼できる環境での迅速なイテレーション
- バッチ処理: 複数ステップのコマンドチェーンを必要とするタスク
YOLO モードは注意して使用してください: AI はターミナルの権限で任意のコマンドを実行できます。以下を確認してください。
- 現在のコードベースを信頼していること
- AI が実行するすべてのアクションを理解していること
- 重要なファイルがバックアップされているか、バージョン管理にコミットされていること
YOLO モードを有効にする方法
# 一時的に有効にする (現在のセッションのみ)
/approval-mode yolo
# プロジェクトのデフォルトとして設定
/approval-mode yolo --project
# ユーザーのグローバルデフォルトとして設定
/approval-mode yolo --user設定例
// .qwen/settings.json
{
"tools": {
"approvalMode": "yolo"
}
}自動化ワークフローの例
# 完全自動化されたリファクタリングタスク
qwen --prompt "テストスイートを実行し、失敗したテストをすべて修正して、変更をコミットしてください"
# 人間の介入なしに、AI は以下を実行します:
# 1. テストコマンドを実行 (自動承認)
# 2. 失敗したテストケースを修正 (ファイルを自動編集)
# 3. git commit を実行 (自動承認)モードの切り替えと設定
キーボードショートカットによる切り替え
Qwen Code セッション中は、Shift+Tab (Windows の場合は Tab) を使用して5つのモードをすばやく切り替えられます。
Plan モード → Ask Permissions モード → Auto-Edit モード → Auto モード → YOLO モード → Plan モード永続的な設定
// プロジェクトレベル: ./.qwen/settings.json
// ユーザーレベル: ~/.qwen/settings.json
{
"tools": {
"approvalMode": "auto-edit" // または "plan", "default", "auto", "yolo"
}
}モード使用の推奨事項
- コードベースに不慣れな場合: 安全な探索のために Plan モード から始める
- 日常の開発タスク: Auto-Accept Edits (デフォルトモード) を使用。効率的で安全
- 自動化スクリプト: 管理された環境で YOLO モード を使用し、完全自動化を実現
- 複雑なリファクタリング: 最初に Plan モード で詳細な計画を立て、その後適切なモードに切り替えて実行