PR※本記事にはプロモーション(アフィリエイト広告)が含まれています。

生成AIにプログラミングの質問をするコツ

プログラミングを学んでいると、教材に答えが載っていない疑問にぶつかります。そんなとき、生成AIに質問する方法が身近になりました。ただ、質問の仕方しだいで、返ってくる答えの役立ち方は大きく変わります。

この記事では、プログラミング学習者が生成AIに質問するときのコツを、伝え方、依頼文の型、答えの確かめ方、頼りすぎないための工夫に分けて整理します。仕事の場面でのAIの活用は生成AIを仕事で実際に活用できるスキルにする方法で扱っているので、ここでは学習中の質問に絞ります。

質問が曖昧だと、答えも曖昧になる

生成AIは、与えられた文章から答えを組み立てます。質問に情報が足りないと、AIは推測で補い、的外れな答えを返すことがあります。「動きません。どうすればいいですか」だけでは、何が動かないのか、どう動くはずだったのかが伝わりません。

分かりやすい質問には、次の情報が含まれています。

この五つは、人に質問するときも共通する基本です。書き出す作業そのものが、自分の状況を整理することにつながり、質問を書いている途中で原因に気づくこともあります。

また、自分の理解の度合いを伝えると、説明の難しさが合います。「プログラミングを学び始めたばかりです」と一言添えるだけで、専門用語を減らした説明が返ってきやすくなります。逆に、すでに基本を知っているなら、その旨を伝えれば、遠回りな説明を避けられます。

質問の質を上げることは、学習の力にもなります。自分が何を分かっていて、何を分かっていないのかを言葉にする練習になるからです。学習の進め方全体を整えたいときは、学習が続かないのは意志が弱いからじゃない|続く仕組みの作り方も参考になります。

依頼文の型を持っておく

毎回ゼロから質問を考えると、手間がかかります。状況に合わせて使える依頼文の型を持っておくと、迷わず質問できます。ここでは、学習でよく使う三つの場面の型を紹介します。

一つ目は、エラーの原因を知りたいときです。

プログラミング学習中の初心者です。
次のコードを実行したところ、下のエラーが出ました。
原因を、初心者にも分かる言葉で説明してください。
答えを直接書く前に、確認すべき点をヒントとして出してください。

【やりたいこと】
(例: リストの合計を求める)

【コード】
(ここに貼る)

【エラーメッセージ】
(ここに貼る)

二つ目は、コードの意味を理解したいときです。

次のコードが何をしているのか、一行ずつ説明してください。
初心者なので、専門用語が出たら短い補足をつけてください。

(ここにコードを貼る)

三つ目は、自分の書いたコードを見直してもらうときです。

次のコードを読んで、読みにくい点や改善できる点を教えてください。
直したコードをすぐ出すのではなく、まず理由を説明してください。

型を使うときに大切なのは、「答えを直接出さず、ヒントから」と頼むことです。答えを先に見てしまうと、自分で考える機会がなくなります。ヒントを段階的に求めると、考える力が育ちます。

型は、そのまま使うものではなく、自分の状況に合わせて書き換える前提のものです。たとえば、使っている言語の名前や、教材の名前を加えると、AIが前提をつかみやすくなります。また、「説明は短く」「例を一つ添えて」のように、返してほしい形を指定するのも有効です。使い続けるうちに、自分に合った形に整っていきます。質問の履歴を見返して、うまくいった依頼文を保存しておくと、次回から使い回せます。

学習の段階に合わせて頼み方を変える

生成AIへの頼み方は、学習の段階によって変えるとよいでしょう。同じ「質問する」でも、初心者が必要とするものと、慣れてきた人が必要とするものは異なります。

段階向いている頼み方避けたい頼み方
基本を学ぶ時期用語の説明、例え話、ヒントの提示課題の答えをそのまま出させる
小さな制作をする時期エラーの原因の絞り込み、設計の相談全体のコードを丸ごと生成させる
自分で作れるようになった時期コードの見直し、別の書き方の比較理解せずに採用する

基本を学ぶ時期は、概念を理解することが目的です。答えを出してもらうと、問題は解けても理解が追いつかない状態になりがちです。この時期は、言い換えや例えを求めて、自分の言葉で説明し直す使い方が向いています。

小さな制作をする時期は、行き詰まりを解消する相談役として使えます。このとき、全体を生成させるのではなく、詰まった箇所だけを質問すると、理解が残ります。設計に迷うときは、「こういう機能を作りたいが、どの部品に分けるとよいか」と相談する使い方もあります。

自分で作れるようになった時期は、見直しや比較に使えます。ただし、提案されたコードを理解せずに取り入れると、後で自分で直せなくなります。採用する前に、なぜその書き方がよいのかを説明してもらい、納得できたものだけを取り入れましょう。

対話形式で質問できる生成AIサービスの例として、ChatGPTがあります。ほかにも、ClaudeやGitHub Copilotのように、質問やコード補助に使えるサービスがあります。提供されている機能や利用条件は更新されるため、各公式サイトでご確認ください。

答えをそのまま信じず、確かめる

生成AIの答えは、もっともらしく見えても誤りを含むことがあります。存在しない機能を紹介したり、古い書き方を勧めたりする場合もあります。そのため、答えを受け取ったら、確かめる習慣が欠かせません。

確かめる方法は、いくつかあります。

  1. 実際にコードを動かして、結果を見る
  2. 公式の説明や教材で、同じ内容が書かれているか確認する
  3. 分からない用語や関数は、別に調べて意味を確かめる
  4. 違う聞き方でもう一度質問し、答えが一致するか見る

まず試したいのは、実際に動かすことです。説明が正しそうでも、動かして初めて分かることがあります。動かした結果が説明と違うなら、その食い違いが学習の材料になります。

公式の説明と照らし合わせるのも有効です。言語や道具の公式の説明は、更新されていく一次の情報です。AIの回答と食い違う場合は、公式の説明を優先して考えましょう。

また、AIの回答に、自分の質問には関係のない提案が混ざることもあります。全部を取り入れようとせず、質問に関係するところだけを選んで使います。分からない部分は、そのまま信じず、「この部分はなぜ必要ですか」と重ねて質問できます。

回答を確かめる作業は面倒に感じるかもしれません。ただ、確かめる過程で理解が深まるため、学習の時間として無駄にはなりません。確かめずに進めたコードは、後で原因の分からない不具合を生みやすくなります。

頼りすぎないための線引きと、安全面の注意

生成AIは便利ですが、使い方によっては、学習の妨げになります。頼りすぎないために、自分なりの線引きを決めておきましょう。

線引きの目安は、「まず自分で考えてから聞く」です。次の手順を習慣にすると、考える時間を確保できます。

質問するときは、自分の仮説も一緒に伝えます。「ここが原因だと考えたが、合っているか」と聞くと、答えの確認になり、考えた内容が無駄になりません。

もう一つの線引きは、「説明できるかどうか」です。AIの助けで解決したあとに、その解決策を自分の言葉で説明できるか試します。説明できないなら、まだ理解が追いついていません。その場合は、もう一度ヒントを求めたり、教材に戻ったりしましょう。

学習サービスによっては、質問や相談の機会が用意されているものもあります。AIと人への質問を使い分けると、より納得できる理解につながります。人に質問すると、AIでは得にくい、経験に基づく助言が得られる場合があります。学習形態の違いは、独学とスクールどっちが向いてる?正直な比較で整理しています。

最後に、安全面の注意も押さえておきましょう。生成AIに質問する際、入力した内容は、サービスの仕組みによって扱いが異なります。

質問に貼るコードや文章には、他人に見せてはいけない情報を含めないようにします。具体的には、次のようなものです。

学習用のコードでも、うっかり認証情報が入っていることがあります。貼る前に、一度全体を見直す習慣をつけましょう。入力した内容の扱い(保存されるか、学習に使われるかなど)は、サービスごとに設定や規約が異なり、変更されることもあります。利用前に公式の説明を確認してください。

仕事や学校の課題で使う場合は、所属先のルールにも従います。生成AIの利用が制限されている場面もあります。迷ったときは、所属先の担当者に確認しましょう。

また、課題の提出物に生成AIの出力を使う場合は、利用が認められているかを確認し、必要なら使ったことを明記します。自分の力で作ったものとして提出する課題で無断で使うと、問題になることがあります。

まとめ

生成AIにプログラミングの質問をするときの要点を、あらためて整理します。

AIは考える代わりではなく、考えを助ける相手として使うのが、学習に役立つ付き合い方です。うまく使えない日があっても、質問を書き直す練習として受け止めれば、無駄にはなりません。

サービスの機能や使える範囲は更新されていきますが、状況を具体的に伝える、答えを確かめる、自分で考えてから聞くという基本は変わりません。新しいサービスを試すときも、同じ型で質問して答えの質を比べると、自分に合った使い方が見つかります。

迷ったときは、質問の前に「自分は何が分からないのか」を一文で書いてみてください。それだけで、質問の質も、得られる答えの質も変わります。

参考リンク

  • https://chatgpt.com/
  • https://claude.ai/
  • https://github.com/features/copilot