0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

生成AIを勉強に使うとき、最初は何でも質問していました。

Dockerについて教えて
SQLのインデックスについて説明して
このエラーを直して

もちろん、AIはそれっぽい答えを返してくれます。

しかし、しばらく使っていると、ある問題に気づきました。

読んだ直後は分かった気がするのに、翌日にはほとんど覚えていない。

生成AIは非常に便利ですが、使い方によっては「理解した気分を高速で作る装置」になってしまいます。

そこで最近は、AIに答えを聞くのではなく、自分が考えないと先に進めない形で使うようにしています。

この記事では、実際に使いやすかった方法をいくつか紹介します。

AIに「説明して」と頼まない

例えば、SQLのインデックスを勉強するとします。

最初から次のように聞くと、AIはきれいな解説を返してくれます。

SQLのインデックスについて初心者向けに説明してください

ただし、この方法ではAIがほとんど全部考えてくれます。

そこで、質問を少し変えます。

SQLのインデックスについて勉強しています。

まず私に3問質問してください。
私が答えたあと、間違っている部分だけ指摘してください。
最初から正解は説明しないでください。

こうすると、AIは先生というよりクイズ出題者になります。

例えば、次のような質問が返ってきます。

1. インデックスがあると、なぜ検索が速くなるのでしょうか?
2. インデックスを増やしすぎると、どんな問題がありますか?
3. WHERE DATE(created_at) = '2026-07-01' は、
   インデックスを使いやすい書き方でしょうか?

ここで一度、自分の言葉で答えます。

正解を読むより、自分で一度間違えたほうが記憶に残ります。

AIに「惜しい答え」を作らせる

個人的に面白かったのが、AIにわざと間違った説明を作らせる方法です。

SQLのインデックスについて、
初心者が信じそうな「少しだけ間違った説明」を3つ作ってください。

ただし、まだどこが間違っているかは説明しないでください。

例えば、次のような文章が出てきます。

インデックスを追加すると、SELECTだけでなく
INSERTやUPDATEも必ず高速になります。

これは一見もっともらしいですが、間違っています。

インデックスが増えると、データの追加や更新時にインデックス側も更新する必要があります。

そのため、書き込み処理はむしろ遅くなることがあります。

普通の解説を読むよりも、

どこがおかしいのだろう?

と考えるほうが、頭を使います。

技術記事、論文、設計レビューなどにも使いやすい方法です。

自分の説明をAIに採点させる

勉強した内容を、自分の言葉で説明します。

インデックスは、本の索引のようなものです。
データを最初から全部確認しなくても、
目的の行がありそうな場所を探せます。

この説明をAIに見せて、単に添削してもらうのではなく、評価基準を指定します。

次の説明を100点満点で採点してください。

評価基準:
- 技術的に正しいか
- 初心者にも分かるか
- 誤解を生む表現がないか

説明文を書き直す前に、
不足している点を箇条書きで示してください。

ポイントは、いきなり完成版を書かせないことです。

AIにすぐ文章を書き直させると、完成した文章を読んで終わってしまいます。

先に問題点だけ出してもらい、自分でもう一度書き直します。

AIに次の問題を決めてもらう

勉強していると、何を次に調べればよいか分からなくなることがあります。

そんなときは、AIに学習ロードマップ全体を作らせるより、次の一歩だけ決めてもらいます。

私はPythonでpytestの基本を使えます。

現在できること:
- 単純な関数のテスト
- pytest.raises
- fixtureの基本

次に30分で試すとよいテーマを1つだけ選んでください。
説明だけでなく、小さな実験課題も付けてください。

「Pythonのテストを完全に理解するロードマップ」のような巨大な計画は、だいたい途中で読まなくなります。

一方で、30分程度の課題ならすぐ試せます。

例えば、次のような課題です。

一時ファイルを使う関数を作り、
pytestのtmp_pathを使ってテストしてください。

これなら、その日のうちに手を動かせます。

AIは壮大な計画を作るのが得意ですが、人間は壮大な計画を放置するのが得意です。

そのため、AIには「次の一歩」だけ聞くようにしています。

別のAIにプロンプトを書かせる

あるAIへの質問文を、別のAIに作らせる方法も意外と便利です。

例えば、コードレビューを頼みたい場合です。

まず、AI Aに相談します。

次のPythonコードをAIにレビューしてもらいたいです。

レビューで確認したい点:
- 例外処理
- テストしやすさ
- ファイル操作の安全性
- 過剰な抽象化がないか

レビュー用のプロンプトを作ってください。

そのプロンプトをAI Bに渡します。

この方法の利点は、回答の精度が魔法のように上がることではありません。

自分が何を確認したいのか整理されることです。

「コードを見て」だけでは曖昧だった依頼が、次のように具体化されます。

以下のPythonコードをレビューしてください。

特に次の観点を確認してください。

1. 例外発生時に一時ファイルが残らないか
2. 入力パスを誤って削除する可能性がないか
3. 外部依存をモックしやすい構造になっているか
4. 単体テストで確認すべき境界条件は何か

問題点ごとに、
重要度・理由・修正例を示してください。

プロンプトを書かせる過程そのものが、問題整理の練習になります。

AIの回答を信じず、小さく実験する

AIを使った勉強で最も重要だったのは、AIの説明をそのまま信じないことでした。

例えば、次のような回答が来たとします。

このSQLではインデックスが使用されます。

この説明を読んで終わるのではなく、実際に確認します。

EXPLAIN ANALYZE
SELECT *
FROM logs
WHERE DATE(created_at) = '2026-07-01';

書き方を変えて比較します。

EXPLAIN ANALYZE
SELECT *
FROM logs
WHERE created_at >= '2026-07-01 00:00:00'
  AND created_at <  '2026-07-02 00:00:00';

実際の実行計画を見ると、AIの説明が正しいか確認できます。

Pythonでも同じです。

def divide(a: float, b: float) -> float:
    return a / b

AIに「この関数は問題ありません」と言われても、テストを書きます。

import pytest

def test_divide() -> None:
    assert divide(6, 3) == 2

def test_divide_by_zero() -> None:
    with pytest.raises(ZeroDivisionError):
        divide(1, 0)

AIの説明より、実際に動いた結果のほうが強いです。

最近は、AIから知識を受け取るというより、

  1. AIに仮説を出させる
  2. 自分で小さな実験を作る
  3. 結果をAIと一緒に確認する

という流れで使っています。

便利だったプロンプト集

最後に、そのまま使いやすい形でまとめます。

クイズ形式で学ぶ

〇〇について勉強しています。

初心者向けの問題を1問ずつ出してください。
私が回答するまで正解は説明しないでください。
回答後は、間違っている部分だけ指摘してください。

自分の理解を確認する

これから私が〇〇について説明します。

次の観点で採点してください。
- 技術的な正確さ
- 説明の分かりやすさ
- 抜けている重要事項
- 誤解を生みそうな表現

すぐに模範解答を出さず、
最初は改善点だけ教えてください。

間違い探しをする

〇〇について、
初心者が信じそうな少し間違った説明を3つ作ってください。

どこが間違っているかは、まだ説明しないでください。

小さな実験を作る

〇〇という説明が本当に正しいか確認したいです。

10〜30分程度で実行できる、
最小構成の検証方法を考えてください。

必要なコード、観測する値、
正しい場合と間違っている場合の結果を示してください。

次の勉強内容を決める

現在の理解状況は次の通りです。

できること:
- 〇〇
- 〇〇

分からないこと:
- 〇〇

次に30分で試すべきテーマを1つだけ選んでください。
小さな実装課題も付けてください。

まとめ

生成AIを使うと、分からないことの答えをすぐに得られます。

ただし、答えを読むだけでは、理解した気分で終わることがあります。

そこで私は、AIを次のように使うようになりました。

  • 答えではなく、問題を作らせる
  • 自分の説明を採点させる
  • わざと間違った説明を作らせる
  • 次の小さな課題だけ決めてもらう
  • AIの回答をコードや実験で確認する

AIに全部教えてもらうのではなく、自分が考えるための面倒な部分をAIに用意してもらうイメージです。

AI時代の勉強法というと、特別なプロンプトや高度なツールが必要に見えます。

しかし、実際に効果を感じたのは、

すぐに答えを教えないでください

という、かなり単純な一言でした。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?