一般的ワークフロー
Qwen Code を用いた一般的なワークフローについて学びましょう。
このドキュメント内の各タスクには、明確な手順、実行例のコマンド、およびベストプラクティスが記載されており、Qwen Code の活用を最大限に支援します。
新しいコードベースを理解する
コードベースの概要を素早く把握する
新しいプロジェクトに参加し、その構造を素早く理解する必要があると仮定します。
1. プロジェクトのルートディレクトリに移動する
cd /path/to/project2. Qwen Code を起動する
qwen3. 高レベルな概要を尋ねる
このコードベースの概要を教えてください4. 特定のコンポーネントについてさらに深く掘り下げる
ここで使われている主要なアーキテクチャパターンを説明してください主要なデータモデルは何ですか?認証はどのように処理されていますか?- 広範囲な質問から始め、徐々に特定の領域に絞っていきましょう
- プロジェクトで採用されているコーディング規約や設計パターンについても質問しましょう
- プロジェクト固有の用語集(ギロサリー)の提供も依頼しましょう
関連するコードを検索する
特定の機能や動作に関連するコードを特定する必要があるとします。
1. Qwen Code に、関連するファイルを検索してもらいます
ユーザー認証を処理するファイルを検索してください2. コンポーネント間の相互作用についてコンテキストを取得します
これらの認証関連ファイルはどのように連携して動作していますか?3. 実行フローを理解します
ログイン処理をフロントエンドからデータベースまで追跡してください- 検索対象を具体的に指定しましょう
- プロジェクト固有のドメイン用語を使用してください
バグを効率的に修正する
エラーメッセージが表示され、その原因を特定して修正する必要があるとします。
1. エラーを Qwen Code と共有する
npm test を実行したときにエラーが発生しています2. 修正方法の提案を依頼する
user.ts 内の @ts-ignore を修正するためのいくつかの方法を提案してください3. 修正を適用する
提案された null チェックを user.ts に追加する- 問題を再現するコマンドとスタックトレースを Qwen Code に伝える
- エラーを再現する手順を明記する
- エラーが一時的(不定期)か、常に発生するかを Qwen Code に知らせる
コードのリファクタリング
古いコードを現代的なパターンやベストプラクティスで更新する必要があるとします。
1. リファクタリング対象のレガシーコードを特定する
コードベース内で非推奨の API 使用箇所を検索する2. リファクタリングに関する提案を取得する
utils.js を現代的な JavaScript 機能を用いてリファクタリングする方法を提案する3. 安全に変更を適用する
動作を維持したまま、utils.js を ES2024 の機能を用いてリファクタリングする4. リファクタリングを検証する
リファクタリング後のコードに対してテストを実行する- Qwen Code に、現代的なアプローチの利点について説明してもらう
- 必要に応じて、変更が後方互換性を維持するよう依頼する
- テスト可能な小さな単位でリファクタリングを進める
専門化されたサブエージェントの使用
特定のタスクをより効果的に処理するために、専門化された AI サブエージェントを使用したいとします。
1. 利用可能なサブエージェントを表示
/agentsこれにより、利用可能なすべてのサブエージェントが表示され、新しいサブエージェントを作成できます。
2. サブエージェントを自動的に使用
Qwen Code は、適切なタスクを専門化されたサブエージェントに自動的に委任します。
最近のコード変更をセキュリティ上の問題についてレビューしてくださいすべてのテストを実行し、失敗したものを修正してください3. 特定のサブエージェントを明示的に要求
auth モジュールのチェックに code-reviewer サブエージェントを使用してくださいユーザーがログインできない理由を調査するために debugger サブエージェントを起動してください4. ワークフロー向けにカスタムサブエージェントを作成
/agentsその後、「作成」を選択し、以下の項目を定義するためのプロンプトに従ってください。
- サブエージェントの目的を説明する一意の識別子(例:
code-reviewer、api-designer) - Qwen Code がこのエージェントを使用すべきタイミング
- アクセス可能なツール
- エージェントの役割および振る舞いを記述するシステムプロンプト
テストの作業
テストが未カバーのコードにテストを追加する必要があるとします。
1. 未テストのコードを特定する
NotificationsService.swift 内でテストが実行されていない関数を検索する2. テスト用のスケルトンを生成する
通知サービスのテストを追加する3. 意味のあるテストケースを追加する
通知サービスにおけるエッジケースのテストケースを追加する4. テストを実行して検証する
新しく追加したテストを実行し、失敗した場合は修正するQwen Code は、プロジェクト内で既に採用されているパターンや規約に従ったテストを生成できます。テストを依頼する際は、検証したい振る舞いについて具体的に指定してください。Qwen Code は既存のテストファイルを分析し、使用されているスタイル、テストフレームワーク、アサーションパターンに合わせてテストを生成します。
包括的なカバレッジを得るために、見落としがちなエッジケースを Qwen Code に特定してもらうよう依頼できます。Qwen Code はコード内の実行パスを分析し、エラー条件、境界値、予期しない入力など、見過ごされがちなテストケースを提案します。
プルリクエストの作成
変更内容を適切に文書化したプルリクエストを作成する必要があるとします。
1. 変更内容を要約する
認証モジュールに対して私が行った変更を要約してください2. Qwen Code を使用してプルリクエストを作成する
プルリクエストを作成する3. 確認・改善する
セキュリティ向上に関する追加のコンテキストを含めて、プルリクエストの説明を強化してください4. テストに関する詳細を追加する
これらの変更がどのようにテストされたかについての情報を追加してください- Qwen Code に直接プルリクエストの作成を依頼できます
- プルリクエストを送信する前に、Qwen Code が生成した内容を確認してください
- Qwen Code に潜在的なリスクや検討事項を明示するよう依頼できます
ドキュメントの作成と管理
コードのドキュメントを追加または更新する必要があるとします。
1. ドキュメントが不足しているコードを特定する
auth モジュール内で適切な JSDoc コメントが付与されていない関数を検索する2. ドキュメントを生成する
auth.js 内のドキュメントが不足している関数に JSDoc コメントを追加する3. 確認・改善する
生成されたドキュメントを、より豊富な文脈や使用例を加えて改善する4. ドキュメントを検証する
ドキュメントがプロジェクトの標準に準拠しているか確認する- 望むドキュメント形式(JSDoc、docstring など)を明示してください。
- ドキュメント内に使用例を含めるよう依頼してください。
- 公開 API、インターフェース、および複雑なロジックについてのドキュメントを依頼してください。
参照ファイルおよびディレクトリ
Qwen Code がファイルやディレクトリを読み込むのを待たずに、@ を使用して素早くファイルやディレクトリを含めることができます。
1. 単一ファイルを参照する
@src/utils/auth.js のロジックを説明してくださいこのコマンドは、対象ファイルの全文を会話に含めます。
2. ディレクトリを参照する
@src/components の構造を教えてくださいこのコマンドは、ファイル情報付きのディレクトリ一覧を提供します。
3. MCP リソースを参照する
@github: repos/owner/repo/issues のデータを表示してくださいこのコマンドは、@サーバー: リソース の形式で接続済みの MCP サーバーからデータを取得します。詳細については、MCP を参照してください。
- ファイルパスは相対パスでも絶対パスでもかまいません
@を使ったファイル参照では、そのファイルが置かれているディレクトリおよび親ディレクトリにあるQWEN.mdファイルがコンテキストに追加されます- ディレクトリ参照では、ファイルの内容ではなく、ファイルの一覧が表示されます
- 1つのメッセージ内で複数のファイルを参照できます(例:「
@file 1.jsと@file 2.js」)
以前の会話を再開する
Qwen Code を使用してタスクを進めており、後続のセッションで中断した場所から作業を再開したい場合があります。
Qwen Code では、以前の会話を再開するための以下の 2 つのオプションが提供されています。
--continue:最新の会話を自動的に再開--resume:会話選択画面を表示
1. 最新の会話を再開
qwen --continueこれは、プロンプトを一切表示せずに直ちに最新の会話を再開します。
2. 非対話モードで再開
qwen --continue --p "私のタスクを継続してください"--continue と --print(--p)を併用すると、最新の会話を非対話モードで再開できます。スクリプトや自動化処理に最適です。
3. 会話選択画面を表示
qwen --resumeこれは、以下を含むクリーンなリスト形式のインタラクティブな会話選択画面を表示します。
- セッションの要約(または初期プロンプト)
- メタデータ:経過時間、メッセージ数、Git ブランチ
矢印キーで移動し、Enter キーで会話を選択します。Esc キーで終了します。
- 会話履歴はローカルマシン上に保存されます
- 最新の会話に素早くアクセスするには
--continueを使用してください - 特定の過去の会話を選択する必要がある場合は
--resumeを使用してください - 再開時には、継続前に会話全体の履歴が表示されます
- 再開された会話は、元の会話と同じモデルおよび設定で開始されます
動作の仕組み:
- 会話の保存: すべての会話は、完全なメッセージ履歴とともに自動的にローカルに保存されます
- メッセージのデシリアライズ: 再開時に、メッセージ履歴全体が復元され、コンテキストが維持されます
- ツール状態の保持: 前回の会話で使用したツールおよびその実行結果が保持されます
- コンテキストの復元: 以前のコンテキストが完全に保持された状態で会話が再開されます
例:
# 最新の会話を再開
qwen --continue
# 最新の会話を特定のプロンプトで再開
qwen --continue --p "現在の進捗状況を表示してください"
# 会話選択画面を表示
qwen --resume
# 非対話モードで最新の会話を再開
qwen --continue --p "テストを再度実行してください"Git worktree を使用して並列で Qwen Code セッションを実行する
複数のタスクを同時に処理する必要があり、各 Qwen Code インスタンス間で完全なコード分離を確保したいと仮定します。
1. Git worktree の概要を理解する
Git worktree を使用すると、同一リポジトリから複数のブランチを別々のディレクトリにチェックアウトできます。各 worktree は、独立したファイルを持つ独自の作業ディレクトリを持ちますが、同じ Git 履歴を共有します。詳細については、公式 Git worktree ドキュメント を参照してください。
2. 新しい worktree を作成する
# 新しいブランチとともに新しい worktree を作成
git worktree add ../project-feature-a -b feature-a
# または、既存のブランチとともに worktree を作成
git worktree add ../project-bugfix bugfix-123これにより、リポジトリの独立した作業コピーを持つ新しいディレクトリが作成されます。
3. 各 worktree で Qwen Code を実行する
# worktree に移動
cd ../project-feature-a
# この分離された環境で Qwen Code を実行する
qwen4. 別の作業ツリーで Qwen Code を実行する
cd ../project-bugfix
qwen5. 作業ツリーを管理する
# すべての作業ツリーを一覧表示
git worktree list
# 作業ツリーの完了後の削除
git worktree remove ../project-feature-a- 各作業ツリーは独自の独立したファイル状態を持ち、並列で Qwen Code セッションを実行するのに最適です。
- ある作業ツリーで行った変更は他の作業ツリーに影響を与えないため、Qwen Code のインスタンス同士が干渉することを防げます。
- すべての作業ツリーは同じ Git 履歴およびリモート接続を共有します。
- 長時間実行されるタスクでは、Qwen Code をある作業ツリーで実行しながら、別の作業ツリーで開発を継続できます。
- 各作業ツリーがどのタスク用かを容易に識別できるよう、意味のあるディレクトリ名を付けてください。
- 新しい作業ツリーごとに、プロジェクトのセットアップに従って開発環境を初期化することを忘れないでください。使用しているスタックに応じて、以下のような手順が必要になる場合があります:
- JavaScript プロジェクト:依存関係のインストール(
npm install、yarn) - Python プロジェクト:仮想環境のセットアップ、またはパッケージマネージャーによるインストール
- その他の言語:プロジェクトの標準セットアップ手順に従う
- JavaScript プロジェクト:依存関係のインストール(
Qwen Code を Unix 風ユーティリティとして使用する
検証プロセスに Qwen Code を追加する
Qwen Code をリンターまたはコードレビュー担当者として使用したいと仮定します。
ビルドスクリプトに Qwen Code を追加します:
// package.json
{
...
"scripts": {
...
"lint:Qwen Code": "qwen -p 'あなたはリンターです。main ブランチとの差分を確認し、タイプミスに関連する問題を報告してください。問題のあるファイル名と行番号を 1 行目に、問題の説明を 2 行目に記述してください。その他のテキストは一切出力しないでください。'"
}
}- CI/CD パイプライン内で、自動化されたコードレビューに Qwen Code を活用してください
- プロジェクト固有の問題を検出できるよう、プロンプトをカスタマイズしてください
- 異なる種類の検証に対応するため、複数のスクリプトを作成することを検討してください
パイプ入力、パイプ出力
Qwen Code にデータをパイプ入力し、構造化された形式で結果を取得したいとします。
Qwen Code を通じてデータをパイプ処理する:
cat build-error.txt | qwen -p 'このビルドエラーの根本原因を簡潔に説明してください' > output.txt- 既存のシェルスクリプトに Qwen Code を統合するにはパイプを使用します
- 他の Unix ツールと組み合わせることで、強力なワークフローを実現できます
- 構造化された出力を得るには
--output-formatオプションの使用を検討してください
出力形式の制御
Qwen Code の出力を特定の形式で取得する必要がある場合(特に、Qwen Code をスクリプトやその他のツールに統合する際)があります。
1. テキスト形式を使用(デフォルト)
cat data.txt | qwen -p 'このデータを要約してください' --output-format text > summary.txtこれは、Qwen Code のプレーンテキスト形式の応答のみを出力します(デフォルト動作)。
2. JSON 形式を使用
cat code.py | qwen -p 'このコードをバグについて解析してください' --output-format json > analysis.jsonこれは、コストや処理時間などのメタデータを含むメッセージの JSON 配列を出力します。
3. ストリーミング JSON 形式を使用
cat log.txt | qwen -p 'このログファイルからエラーを抽出・解析してください' --output-format stream-jsonこれは、Qwen Code がリクエストを処理する際にリアルタイムで一連の JSON オブジェクトを出力します。各メッセージは有効な JSON オブジェクトですが、出力全体を連結したものは有効な JSON にはなりません。
- Qwen Code の応答のみが必要なシンプルな統合では
--output-format textを使用してください。 - 完全な会話ログが必要な場合は
--output-format jsonを使用してください。 - 各会話ターンの出力をリアルタイムで取得したい場合は
--output-format stream-jsonを使用してください。
Qwen Code の機能について尋ねる
Qwen Code は、自身のドキュメントに組み込みでアクセスでき、その機能や制限に関する質問に答えることができます。
例となる質問
Qwen Code はプルリクエストを作成できますか?Qwen Code は権限をどのように扱いますか?利用可能なスラッシュコマンドは何ですか?Qwen Code で MCP をどう使えばよいですか?Amazon Bedrock 用に Qwen Code をどう設定すればよいですか?Qwen Code の制限事項は何ですか?Qwen Code は、これらの質問に対してドキュメントに基づいた回答を提供します。実行可能な例や実践的なデモンストレーションについては、上記の特定のワークフローのセクションを参照してください。
- Qwen Code は、使用中のバージョンに関係なく、常に最新の Qwen Code ドキュメントにアクセスできます。
- 詳細な回答を得るために、具体的な質問をしてください。
- Qwen Code は、MCP 統合、エンタープライズ向け設定、高度なワークフローなど、複雑な機能の説明も行えます。