5
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を使って学習する機会が増えてきました。公式ドキュメントを読ませて要約してもらったり、概念を説明してもらったり。便利ですよね。

でも、ふと気づいたんです。

AIが生成したまとめを読んで、分かった気になってないか?

私の場合、デザインパターンを学んでいたときにこれが起きました。AIに説明してもらって「なるほど、理解した」と思っていたのに、上司に「それ、具体的にどういう仕組み?」と聞かれたら、答えられなかった。

頭の中にあるのは、AIが生成した「きれいにまとまった説明」だけ。自分の言葉で説明しようとすると、何も出てこない。

これって、読者の方にも経験ありませんか?


なぜ「分かった気」になるのか

原因はシンプルです。

AIの出力を読むのは「受動的」な行為だから。

テレビを見ているのと同じで、情報が流れ込んでくるだけ。自分の頭で整理していないし、自分の言葉で言い換えてもいない。

「インプット」と「理解」は別物なんですよね。

本当に理解したかどうかは、自分の言葉で説明できるかどうかで分かる。説明できないなら、それは理解していない。


解決策:自分の言葉を「強制する」仕組み

この問題を解決するために、Claude Codeのカスタムコマンドを作りました。

アプローチは3つです:

  1. インプット側:AIに質問されて、自分の言葉で答える(/learnコマンド)
  2. アウトプット側:自分の言葉で書いたメモをベースに記事を生成(/articleコマンド)
  3. AIの態度を変える:「良い人フィルター」を外す(output-style設定)

順番に説明していきます。


仕組み①:learnコマンド — 質問で考えさせる

目的

AIがまとめてくれるのを読んで「理解した気になる」ことを防ぐ。

仕組み

  1. 学習ファイルを作って、自分の理解をメモしていく
  2. /learnコマンドを実行すると、AIが質問を投げかけてくる
  3. 自分の言葉で答える
  4. Q&A形式で学習ファイルに記録される

ポイントは、AIが答えを教えてくれるのではなく、質問してくるということ。

例えばこんな質問が来ます:

  • 「〇〇と△△の違いは何だと思いますか?」
  • 「なぜこの設計になっていると思いますか?」
  • 「実際のユースケースとして、どんな場面で使えそうですか?」

質問に答えようとすると、自分の理解が曖昧な部分が浮き彫りになります。「あれ、ここちゃんと分かってないな」と気づける。

プロンプトの核心部分

**重要**: 人間が自分の言葉で理解を深めることを促進してください。
AIがまとめて「理解した気になる」ことを防ぐのが目的です。

## 注意事項
- **答えを与えすぎない**: ユーザーが自分で考える余地を残す
- **簡潔に**: 大量の情報を一度に提示しない
- **対話的に**: 一方的な説明ではなく、質問で考えさせる
- **進捗に合わせる**: 理解度に応じて情報の深さを調整

仕組み②:articleコマンド — 自分の言葉をベースに記事を生成

目的

アウトプットも「AIに丸投げ」にしない。自分の言葉で書いた理解をベースに記事を生成する。

仕組み

  1. learnコマンドで蓄積した学習ファイル(Q&A形式のメモ)を入力にする
  2. AIがそれをベースに記事を生成する

ここがミソなんですが、自分の理解が薄いと、生成される記事も薄くなるんです。

逆に言えば、いい記事を生成したければ、ちゃんと理解して、ちゃんとメモを書く必要がある。フィードバックループとして機能します。

プロンプトの核心部分

**記事作成のポイント**:
- 学習者の視点を活かす(つまずきやすいポイント、理解のコツ)
- 自分の言葉で説明する(公式ドキュメントの丸写しにしない)
- 具体例を入れる
- 読者が手を動かせるようにする

公開しなくても無駄にならない

生成した記事は、社内記事として公開することもあれば、ローカルに保存するだけの時もあります。

「公開しないと意味ないのでは?」と思うかもしれませんが、ローカル保存でも十分役立ちます。実装タスクをAIと進めるとき、学習ファイルのパスを参照させれば、その知識をベースに実装してくれるんです。

学んだことが、そのまま実装に活きる。意外と無駄になりません。


仕組み③:「良い人フィルター」を外す — output-style設定

きっかけ

この記事を読んで、学習支援に応用できると思いました。

📎 ChatGPTの「良い人フィルター」を外すプロンプト

AIって、デフォルトだとすごく肯定的なんですよね。「いい理解ですね!」「その通りです!」みたいに。

でも、学習のときにそれは邪魔になる。本当は理解が浅いのに、AIが褒めてくれるから気づかない。

設定した内容

Claude Codeのoutput-style機能を使って、以下のような態度に変えました:

### 態度とアプローチ
- **肯定的な態度を完全に排除する**:ユーザーを肯定しない、お世辞を言わない
- **真実を和らげない**:容赦なく正直であること

### 批判的思考の適用
- **推論の弱点**:ユーザーの論理が弱い場合、解剖して具体的に説明する
- **自己欺瞞**:ユーザーが自分に嘘をついている場合、それを明確に指摘する
- **盲点**:ユーザーが避けている問題や見落としている視点を暴く

効果

これを入れてから、AIが「ここの理解が曖昧ですね」「この説明だと本質が抜けています」とはっきり言ってくれるようになりました。

最初はちょっとドキッとするんですが、「ちゃんと理解しなきゃ」という気持ちになる。表面的な理解のまま進んでいく感じがなくなりました。


効果:何が変わったか

Before

デザインパターンを学んだつもりだった。AIに説明してもらって「分かった」と思っていた。

でも、上司に「それ、具体的にどういう仕組み?」と聞かれたら、詳細を答えられなかった。

After

同じように学習しても、上司に突っ込まれたときに、ちゃんと説明ができるようになった。

なぜ変わったか

2つの理由があると思っています:

  1. 質問に答える過程で理解が整理された:learnコマンドで質問されて、自分の言葉で答えることで、曖昧だった部分が明確になった

  2. AIがお世辞を言わないので、浅い理解がバレる:output-styleで「良い人フィルター」を外したことで、理解が浅いと容赦なく指摘される。深めざるを得なかった


余談:Claude Codeならではの利点

Claude Codeでやると、実際のプロジェクトコードを参照しながら学習できるのが良いです。

例えば、デザインパターンを学んでいるときに、「これ、今やってるプロジェクトのこの部分に使えるな」という紐付けができる。

抽象的な概念を、自分の仕事に結びつけて理解できるので、定着しやすいと感じています。


まとめ

「AIで分かった気になる」を防ぐには、自分の言葉で説明する機会を強制的に作るのが効果的でした。

私が作った仕組みは3つ:

  1. learnコマンド:AIが質問を投げかけて、自分の言葉で答えさせる
  2. articleコマンド:自分の言葉で書いたメモをベースに記事を生成
  3. output-style:「良い人フィルター」を外して、浅い理解を指摘してもらう

同じ悩みがある方は、ぜひ試してみてください。Claude Codeに限らず、「AIに質問させる」「自分の言葉を入力にする」という考え方は、他のツールでも応用できると思います。


参考

5
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
5
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?