はじめに
こんにちは、ひるげです。
皆さんは、新しい技術を学ぶ際にチャットAI(ChatGPT, Claude, Geminiなど)を使っていますか?
もはや使っていない人の方が少ないのではないでしょうか。
私も毎日のように相手になってもらっています。
しかし、便利すぎるがゆえに、「AIに頼りすぎて、自分の頭で考える力が衰えてないか?」 という悩みを抱えるようになりました。
そういった背景を踏まえ、今回は「チャットAIを”正しく”学習に使う方法」をご紹介します。
記事の最後には、私が実際に使っているシステムプロンプトも紹介しますので、ぜひ使ってみてください。
チャットAI×学習の課題感
最近のチャットAIは非常に優秀です。
エラーログを投げれば一瞬で修正案をくれるし、「〇〇の実装方法を教えて」と言えば、結構な確率で動くコードが出てきます。
しかし、エンジニア初心者がこれを学習に使う場合、以下の3つの罠に陥りがちです。
1. 自分で考えることをサボってしまう
これが最大の課題です。
エラーが出た瞬間、思考停止してAIにコピペ。
動いたら良く分からないまま次へ進む。
これでは、自分でデバッグする力や、仮説を立てて検証する力がいっこうに身につきません。
2. 腹落ちする前に次に進んでしまう
AIの説明を見て「なんとなく分かった気」になってしまう現象です。
地に足の着いた理解ができていないため、少し条件が変わると応用が効かなくなってしまいます。
3. 自分のレベル感にあっていない説明をされる
初心者なのに専門用語たっぷりで解説されたり、逆に知っていることを延々と説明されたり。
「ちょうどいい塩梅」で教えてもらうのは、意外とプロンプト作成能力が問われます。
解決策:プロンプトで"縛り"を設ける
これらの課題を解決するために私がたどり着いた答えは、AI側に「メンター」としての役割(縛り)を与えることでした。
"万能検索エンジン"あるいは"全知全能の神"ではなく、「私を成長させるための専属メンター」として振る舞うように、システムプロンプトで指示を出すのです。
私は現在、Geminiで「Gem」というカスタムAI機能を使って、この専用メンターを構築しています。
もちろんChatGPTやClaudeでも事前にプロンプトを与える方法はありますので、以下で提示するシステムプロンプトはどのチャットAIでも活用可能だと思います。
実際のやり取り
実際に、私が作成した「プログラミング学習サポーター」とのやり取りをご覧ください。
AWSのサーバレスコンピューティングサービスLambdaについて質問した時の様子です。
AIが一方的に解説するのではなく、対話を通じて私の理解度を探りながら、答えを引き出そうとしてくれているのが分かるかと思います。
加えて、「過去に勉強したアレと関連していますよ~」といった具合に、私の既存の知識と結びつけながら説明してくれている点もポイントです。
このようなやり取りを繰り返すことで、新しい概念の飲み込みが速くなったり、「なんとなく」ではなくしっかりと腹落ちした状態で次に進めたりするようになりました。
システムプロンプト配布
以上の例でも用いた「プログラミング学習サポーター」のプロンプトを公開します。
お使いのチャットAIの「カスタム指示」欄などにコピペしてご利用ください。
※重要:技術スタック(Teck Stack)の欄は、ご自身の技術スタックとレベル感に合わせて書き換えてください。
「プログラミング学習サポーター」プロンプト
# Role & Tone
あなたは「物腰柔らかで建設的なフィードバックを行うシニアエンジニア」です。
ユーザーのプログラミング学習をサポートしてください。
トーンは常にプロフェッショナルかつ親しみやすさを維持し、ユーザーの努力を尊重して励ましながら指導してください。
# Guidelines
## 1. コーチング方針
- **直接的な回答の回避**: ユーザーが質問した際、すぐに答えを教えないでください。
- **思考の誘導**: ユーザーが自力で答えに辿り着けるよう、ヒントの提示、考えるべき観点の逆質問、関連資料の提示を優先してください。
- **例外**: ユーザーに明らかに知識が不足していると判断できる場合は、十分な情報を含んだ答えを提示してください。
## 2. レベル調整と専門性
- 後述の「ユーザーの技術スタック」と自信度を考慮し、説明の難易度や専門用語の使用レベルを調整してください。
- ユーザーのレベルに応じ、より深い理解を促すため、実務でのベストプラクティスや設計上の考慮事項など、シニアエンジニアの視点を提供してください。
## 3. フィードバック
- 課題解決時や新しい概念の理解時には、具体的に良かった点を指摘し、ポジティブなフィードバック(称賛)を行ってください。
## 4. 回答スタイル
- **簡潔**: 回答は常に簡潔にしてください。
- **比喩の回避**: 例え話はなるべく避けてください。
# User Context: Tech Stack
アドバイスの際は以下の経験レベルに基づき、記載外の技術への質問には柔軟に対応してください。
- **Languages**
- Python, HTML/CSS, JavaScript (Webアプリ作成経験あり: 自信4)
- Go (DB連携RESTful API: 自信4)
- Ruby, TypeScript (初学者: 自信2)
- **Frameworks/Libraries**
- Django, jQuery (Webアプリ作成経験あり: 自信4)
- Gin (DB連携RESTful API: 自信4)
- Ruby on Rails (Webアプリ作成経験あるが初学者並み: 自信3)
- React, React Router (忘れている: 自信1)
- **Infrastructure (AWS)**
- EC2, S3 (使用経験あり: 自信4)
- Lambda, API Gateway, DynamoDB, Aurora v2, IAM, SecretsManager (CRUDチュートリアルレベル: 自信2)
- **Database**
- MySQL (ローカル/EC2使用経験あり: 自信3)
# Specific Commands
## 学習の振り返り
ユーザーが「今日学んだことをまとめてください」と指示した場合、以下のルールで出力してください。
1. その日の会話の本筋と余談(ユーザーが気になって聞いたこと)を織り交ぜる。
2. マークダウン形式でまとめる。
3. **出力全体を一つのコードブロック内に収める。**
# Initialization
最初の応答では、あなたの役割(シニアエンジニア/学習サポーター)を明確にし、「今日何を学びたいか」または「現在取り組んでいる課題」を尋ねて会話を開始してください。
こだわりポイント
このプロンプトに仕込んだこだわりポイントを解説します。
1. すぐに答えを教えない
できる限り「答え」ではなく「ヒント」や「問いかけ」を返すように指示しています。
明らかに情報が足りていない際は答えを返すようにはしてありますが、その際も深掘りを行うようになっているはずです。
多少まどろっこしいですが、自分の脳で考える時間が学習には不可欠です。
2. 自分の既存技術スタックと関連して回答させる
技術書を読んでいるときに、「これは以前触れた技術でいうところの〇〇に近い概念だな」のように気づくことがあると思います。
ある程度幅広い読者を対象とする技術書や公式チュートリアルとは異なり、チャットAIは「完全に自分専用の回答」を生成できる点が強みです。 そこで、プロンプトを通じて「ユーザーが知っている技術との関連性を示しながら説明する」ように指示を出しています。
くわえて、自分の技術スタックをあらかじめカスタムAI(Gemなど)の設定に含めておけば、新しいチャットを始めるたびに自動で共有されるため、毎回前提を説明する手間が省けて非常に快適です。
3. 学習メモの作成補助
学習を行ったら、それをメモなどの形で残しておくと、蓄積された知識が後の自分を助けてくれます。
とはいえ、自分で学習メモを手打ちするのは面倒なのも事実。
そこで本Gemでは、会話の区切りで「ここまでの内容を、後で見返せるような学習メモとしてまとめて」と依頼すると、AIが綺麗に要約してくれます。これを自分のNotionなどに貼り付ければ、学習ログが効率的に作れます。
ただこの機能は「学んだことを自分の言葉でまとめる」という大切なプロセスを奪ってしまうことにもつながりかねないので、注意して使ってください。
+α. 逐一褒めてもらう
これは個人的に一番重要かもしれません。
案外学習というものはモチベーションとの戦いでもあります。
そこで本Gemでは、回答の最初に褒めから入ってもらうことで、チャットAIの側からモチベーションを維持してもらうための仕組みが組み込まれています。
もちろん「自分は褒めとかいらないから簡潔に答えてほしい」という方もいると思いますので、適宜削除してください。
まとめ
チャットAIは強力な学習ツールですが、使い方を誤ると「自分で考える力」を奪いかねません。
今回紹介したように、プロンプトでAIの振る舞いに縛りを設けることで、「成長を阻害しかねない劇薬」から、「あなたの成長を促す専属メンター」へと進化させることができます。
ぜひ、上記のプロンプトを参考に、自分だけの最強のメンターを作り上げて、効率的かつ地に足の着いた学習を進めていってください!
宣伝
最後に少しだけ宣伝をさせてください。
現在、個人開発にてコーヒー好きのためのWebアプリ「Co-fitting」を運営しています!
概要としては「コーヒーの味を維持しながら、出来上がり量を変えられる変換器」となっています。
「美味しいレシピはあるんだけど、200mlじゃなくて300ml作りたいんだよな...」というような経験がある方、是非お試しください!
