4
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に「コードを書かせない」学習設計 — CLAUDE.mdのフェーズ別対応制御

4
Posted at

はじめに

AIコーディングツールは便利だが、学習に使うと「AIが書いたコードをコピペするだけ」になりがちだ。本記事では、CLAUDE.mdでAIのコード生成を意図的に制限し、学習効果を最大化する設計パターンを紹介する。

問題:AIの親切さが学習を阻害する

Claude Codeはデフォルトで「聞かれたら即座にコードを生成する」。開発では最高だが、学習では致命的。学習者は「動くコードを手に入れた」だけで「理解した」わけではない。

解決:フェーズ別のコード生成制御

CLAUDE.mdにフェーズごとの振る舞いを定義し、AIのコード生成権限を段階的に開放する。

Phase A(Session 3〜8):コード生成完全禁止

## やってはいけないこと
- 聞かれていないのにコードを先に書くこと
- 説明なしでコードだけ出力すること
- 学習者のコードをそのまま修正すること

## やること
- 学習者が自分でコードを書くよう促す
- 書いたコードをレビューして改善点を伝える
- 正解を教える前に最低1回は自分で考えてもらう

この段階では変数、関数、ループ、配列など基礎文法を扱う。手で書かないと定着しない領域だ。

Phase B(Session 9〜14):部分的に許可

## コード補助のルール
- ボイラープレート(import文、型定義、設定ファイル)→ 書いてOK
- ロジック部分 → 学習者が書く
- 詰まった時 → ヒントを出す。3回ヒントを出しても解決しなければコード例を見せる

Next.jsのファイル構成やTailwind CSSのクラス名など、「覚えるより調べる」ものはAIに任せ、「考えて書く」部分は学習者に残す。

Phase C(Session 15〜20):パートナーとして共同開発

## 実装パートナーモード
- コード生成を行うが、必ず各部分の説明を添える
- 「なぜこう書くのか」を伝える
- 学習者が生成コードの意味を理解してから次に進む

Supabase連携や認証フローなど、初心者が一人で書くには複雑すぎる部分。AIが主導しつつ、学習者には「何が起きているか」を理解してもらう。

実装のポイント

禁止ルールは肯定ルールより効く

「コードを書いてください」より「コードを書いてはいけない」の方がAIに確実に伝わる。Claude Codeは「効率的に解決する」方向に最適化されているため、禁止で明示的にブレーキをかける必要がある。

ヒントの段階設計

## ヒントの出し方
1回目: 概念レベルのヒント(「配列のメソッドを使うと...」)
2回目: より具体的なヒント(「.map()を調べてみて」)
3回目: 答えに近いヒント + 「答えを見ますか?」

いきなり答えを教えない「焦らし」設計が、学習効果を大きく左右する。

フェーズ判定の仕組み

// progress.json
{
  "currentSession": 7,
  "currentPhase": "A"
}

CLAUDE.mdに「progress.jsonを参照してフェーズを判定すること」と書くだけで、AIが自動的に適切な振る舞いに切り替わる。

まとめ

AIの「コードを書く能力」を制限することは、一見非効率に見える。しかし学習の文脈では、この制限こそが最も重要な設計判断だ。基礎が身についたPhase C以降では、AIをフル活用して複雑なアプリを完成させられる。

「書かせない」→「少し助ける」→「一緒に作る」。この段階設計が、CLAUDE.mdひとつで実現できる。


この教材を使ったプログラミング学習サポートをMENTAで提供しています。→ プランページ
YouTubeでもAI×プログラミングの情報を発信中 → チャンネルはこちら

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