第8回:Claude Codeに「伝わる質問」とは?良い質問・悪い質問を実例で解説

社員ブログ

※Claude Codeを使用して記事を作成しています。

前回の記事では、Claude Codeで具体的に何ができるのかを、実例ベースで紹介しました。

とはいえ、

「うまく答えてもらえない」
「期待した回答が返ってこない」

という経験をした方もいるのではないでしょうか。

実は、Claude Codeの回答の質は、質問の仕方で大きく変わります。

今回は、良い質問・悪い質問を実例で比較しながら、AIに伝わりやすい質問の作り方を解説します。

なぜ質問の仕方が重要なのか

Claude Codeは、あなたの状況を自動で把握することができません。

どんなアプリを作っているのか、
どのライブラリを使っているのか、
何に困っているのか。

これらは、すべてあなたが伝える必要があります。

情報が少なければ、Claude Codeは一般的な回答しか返せません。
逆に、情報を整理して伝えると、的確な回答が返ってきます。

悪い質問の特徴

まず、回答の質が下がりやすい質問のパターンを紹介します。

パターン1:目的が曖昧

# 悪い例
ログイン画面を作って

この質問には、情報が足りません。

  • どんな技術を使っているのか(Jetpack Compose?XML?)
  • 認証はどうするのか(Firebase?自前API?)
  • 画面のデザイン要件は?

Claude Codeは不足した情報を補って回答しますが、あなたの想定とズレる可能性が高くなります。

パターン2:丸投げ

# 悪い例
アプリ全体の設計をして

範囲が広すぎる質問は、ほぼ失敗します。

Claude Codeは、要件が明確でないと「一般的なアーキテクチャ」を提案するしかありません。

あなたのアプリに本当に合った答えは、返ってきません。

パターン3:コードだけ貼る

# 悪い例
これ何が問題ですか?

fun fetchUser(id: String) {
    viewModelScope.launch {
        val result = repository.getUser(id)
        _uiState.value = result
    }
}

コードを見せることは正しいのですが、「何が問題なのか」「どう動いているか」の説明がないと、Claude Codeは問題を特定しにくくなります。

良い質問の作り方

良い質問には、共通した構造があります。

  1. 環境・前提を伝える
  2. やりたいことを伝える
  3. 問題・困っていることを伝える
  4. 関連するコードを見せる

この4つを意識するだけで、回答の質が大きく変わります。

改善例1:目的を明確にする

# 良い例
Jetpack ComposeとFirebase Authenticationを使って、
メールアドレスとパスワードでログインできる画面を作成してください。
バリデーション(空文字チェック)も含めてください。

これだけで、

  • 使用技術:Jetpack Compose、Firebase Authentication
  • 機能:メール+パスワードのログイン
  • 追加要件:バリデーション

が Claude Codeに伝わります。

改善例2:範囲を絞る

# 良い例
Kotlin + Clean Architectureで開発しています。
ViewModelの責務が大きくなってきたので、UseCaseを導入すべきか相談したいです。
現在のViewModelのコードを添付します。

「アプリ全体」ではなく「ViewModelのUseCaseへの分割」に絞ることで、具体的な提案が返ってきます。

改善例3:状況を整理してコードを渡す

# 良い例
以下のコードで、ユーザー情報を取得しています。
正常時はUIに反映されますが、エラー時に画面が更新されません。
エラーハンドリングの実装方法を教えてください。

fun fetchUser(id: String) {
    viewModelScope.launch {
        val result = repository.getUser(id)
        _uiState.value = result
    }
}

「何をしているコードか」「どこで困っているか」を添えるだけで、Claude Codeの回答精度が大きく上がります。

質問を深める「追加の一言」

最初の回答が期待通りでなかった場合、追加の質問で精度を上げられます。

説明の深さを変える

もう少し初心者向けに説明してください
実務で使えるレベルで詳しく説明してください

別の選択肢を聞く

他の実装方法があれば教えてください
このアプローチのデメリットも教えてください

確認する

このコードは、Android 12以降でも問題なく動作しますか?
Hiltを使っている場合、この実装は変わりますか?

一問一答で終わらせず、会話を続けることが重要です。

テンプレートを使ってみる

迷ったときは、以下のテンプレートをベースに質問を作ってみてください。

【環境】
- 言語:Kotlin
- UI:Jetpack Compose
- アーキテクチャ:Clean Architecture
- 使用ライブラリ:(例:Hilt、Room、Retrofit2)

【やりたいこと】
(例:ログイン後にホーム画面へ遷移したい)

【困っていること】
(例:遷移のタイミングでクラッシュが発生する)

【関連コード】
(コードを貼り付ける)

このテンプレートをそのまま使わなくても構いません。
「整理する習慣」を持つことが大切です。

まとめ

Claude Codeへの質問は、

「伝える情報が多いほど、回答の質が上がる」

という原則があります。

良い質問の3つのポイントをおさらいします。

  • 環境・前提を明確にする(使用技術・アーキテクチャ)
  • 目的を具体的に伝える(何を実現したいか)
  • 問題を絞り込む(どこで困っているか)

最初から完璧な質問をする必要はありません。
回答を見ながら、対話を重ねていくことで、求めている答えに近づいていきます。

タイトルとURLをコピーしました