【ITニュース解説】The Art of Asking Questions in the Age of AI
2025年09月23日に「Dev.to」が公開したITニュース「The Art of Asking Questions in the Age of AI」について初心者にもわかりやすく解説しています。
ITニュース概要
AI時代において、AIから効率的に回答を得るには「質問力」が重要だ。AIは素早い処理と無限の忍耐力を持つが、不正確な文脈では誤情報も出す。良い回答を引き出すには、まず事前調査し、詳細な文脈と具体的な出力形式を明確に伝えよう。質問は段階的に行い、AIの回答は必ず検証することが成功の鍵となる。
ITニュース解説
システムエンジニアとして仕事を進める上で、情報収集や問題解決は日常茶飯事である。以前は、疑問に思ったことを先輩や同僚、あるいはオンラインコミュニティの人々に尋ねる際、「適切な質問をする」ことが非常に重要だった。質問の仕方が悪ければ、相手にされなかったり、「自分で調べろ」と突き放されたりすることも少なくなかった。しかし、今日では状況が大きく変わっている。人間ではなく、常に熱心で、時には少し混乱することもある人工知能(AI)が私たちの質問相手になっている。ChatGPTのような大規模言語モデル(LLM)の登場は、私たち開発者の情報収集や問題解決のルールを根本的に書き換えたと言えるだろう。
AIには、人間にはない強力な特性と、注意すべき弱点がある。まず、その最大の強みは、生の入力情報を瞬時に消化する能力だ。コードの一部、エラーログ、実行結果などをAIに与えると、人間がそれらを解析し、思考し、シミュレーションするのに時間がかかるのに対し、AIはあっという間に処理してしまう。また、AIは無限の忍耐力を持っている。人間であれば疲れたり、うんざりしたりすることもあるが、AIはどれほど長いプロンプト(指示文)を与えても、決して不平を言うことはない。コーヒーブレイクを求めることもないだろう。 しかし、同時にAIには決定的な弱点が存在する。それは、「間違った文脈(コンテキスト)を与えると、もっともらしいデタラメを生成してしまう」という危険性だ。AIは、与えられた情報に基づいて最も妥当な答えを生成しようとするが、その背景情報や前提が間違っていたり不完全だったりすると、一見正しそうに見えるが、実際には全く役に立たない答えを返してくることがある。そして、そのデタラメに気づかずに時間を無駄にしてしまう可能性もある。このことから、AIに質問する際には、文脈(コンテキスト)を正しく伝えることが何よりも重要だとわかる。
では、AI時代において、効果的な質問をするための具体的な原則は何だろうか。まず第一に、「まず自分で調べる」という心構えは今でも変わらない。AIに質問する前に、公式ドキュメント、開発者フォーラム、GitHubのissueなどを検索し、自分で情報を見つけ出す努力をするべきだ。自分で見つけた情報をAIに与え、それを簡略化させたり、さらに詳しく説明させたり、あるいは自分の理解が正しいか検証させたりする使い方こそが、AIの真価を引き出す方法だ。 次に、AIに質問する際には「最大限の文脈を提供する」ことを強く意識しよう。プログラミング言語の種類、そのバージョン、使用しているフレームワーク、発生している正確なエラーメッセージ、該当するコードスニペット、そして「本来どうなってほしいのか」という期待される出力など、あらゆる詳細情報を提供することが重要である。これらの情報がなければ、AIはあなたの意図を正確に推測することができない。 そして、「明確に、出力フォーマットを定義する」ことも大切だ。「これを説明してください」という漠然とした質問では、AIは自由に答えるため、必ずしも求めている形式で返してこない場合がある。より強力な質問は、「これを3つの箇条書きで説明し、それぞれの項目にコードブロックとインラインコメントを加えてください」といったように、回答の形式を具体的に指定することである。あなたの要求が明確であればあるほど、得られる回答は有用になる。
さらに、効果的な質問のための具体的なテクニックがある。それは、「質問を段階的に行う」という方法だ。「ログインシステムを構築してください」といった巨大な要求を一気にするのではなく、「まずログインの基本的な流れをドラフトしてください」「次に、ユーザー認証の具体的な詳細を追加してください」「このシステムに対するテストケースを提案してください」「最後に、提案されたコードを洗練させてください」といった具合に、小さなステップに分けて質問することで、AIは的を射た、関連性の高い情報を提供しやすくなる。一気に大量の無関係な情報が返ってくるのを防ぐことができる。 また、「バージョン情報とソース情報を要求する」ことも忘れてはならない。「このPHPのコードはどのバージョンで動作しますか?」「この情報は何のドキュメントに基づいていますか?」といった質問を直接AIに投げかけることで、古い情報や現在の環境に合わないアドバイスを適用してしまうリスクを減らせる。AIは常に最新の情報を知っているわけではないし、古い情報も学習しているため、確認は必須だ。 最後に、最も重要なことの一つとして「セーフティネットを加える」姿勢を持とう。AIは完璧ではない。特に、本番環境で使うコードに関しては、AIの回答を盲目的に信用してはならない。必ず「このコードのテストシナリオを提案してください」と要求し、提供された解決策は必ずステージング環境(本番環境と似たテスト環境)で実行し、徹底的に検証してからデプロイ(実際にシステムに組み込むこと)することが不可欠だ。
具体的なプロンプトのテンプレートを知っておくと、より効率的にAIを活用できる。例えば、デバッグしたい時は、自分の目標、環境、問題のコード、エラーメッセージや期待される動作を伝え、「根本原因を説明し、3ステップの修正案を提案し、各ステップのテスト手順を加えてください」と指示する。設計やアーキテクチャについて相談したい場合は、文脈、制約、問題を説明し、「3つの代替案とそれぞれの長所短所、最良の選択肢と6ステップの計画、そしてリスクと軽減策を教えてください」といった具体的な出力を求める。何か新しい概念を学びたい時は、トピックとレベルを伝え、「3文で要約し、主要な概念をリストアップし、簡単な例を示し、信頼できるリソースを2〜3つ教えてください」と依頼すると良いだろう。 以前、人間相手に「Xデータが投稿されず、Y関数が動かない。どうすればいい?」という漠然とした質問をしていた場面を想像してほしい。これをAI向けに最適化すると、「目標:フォームデータをPOSTでhttps://api.example.com/forwardに送信する。コード:[該当コード]。問題:リクエストは送信されるが、サービスが500エラーを返し、ログには'Undefined index: body'と表示される。期待:データが送信され、サービスが200を返す。出力形式:1)考えられる5つの原因をリストアップ、2)各原因をチェックする手順、3)コードでの修正例」といった形になる。このように具体的に伝えることで、AIは推測することなく、求めている情報をピンポイントで提供できるようになる。
システムエンジニアを目指す初心者が陥りやすい共通の間違いとその修正方法をいくつか挙げておく。「動かない」という一言で済ませるのではなく、エラーログ、環境情報、関連するコードを必ず含めること。巨大で漠然とした質問をするのではなく、問題を小さな部分に分解すること。回答の形式を指定しないのではなく、「ステップバイステップでコードブロックを含めてください」のように具体的なフォーマットを指示すること。そして、最も重要なのは、AIの回答を盲目的に信用せず、デプロイする前には必ずテストを行うことである。
かつては、人間相手に上手に質問することで、コミュニティで尊敬を得られた。今、その対象はAIに変わったが、良質な質問をすることは、AIからより良い回答を引き出す上で依然として極めて重要だ。良いプロンプトは良い結果をもたらす。AIは「知っている」のではなく、あなたの入力の質を反映する鏡だと考えよう。だから、AIをあなたの信頼できる兵士のように扱い、文脈、精度、明確な目標という武器をしっかりと与えてあげよう。テクノロジーは進化し続けるが、「質問する技術」はいつの時代も変わらない本質的なスキルなのである。質問することの重要性は変わらない。ただ、その質問の届け先が変わっただけなのだ。