title: "00_AIの基礎" icon: "🧠"
AIの基礎知識
Claude Codeを使いこなす前に、AIがどのように動くのかを理解しておきましょう。原理を知っていれば、「なぜ思った通りに動かないのか」が見えやすくなります。
LLMとは?
LLM(Large Language Model / 大規模言語モデル) とは、膨大なテキストデータから言語のパターンを学習した「とても巨大な頭脳」です。
┌─────────────────────────────────────────────┐
│ 学習データ: ウェブサイト、書籍、会話記録... │
│ ↓ 数十億パラメータで学習 ↓ │
│ ┌─────────────────────────────────┐ │
│ │ LLM (巨大ニューラルネットワーク) │ │
│ └─────────────────────────────────┘ │
│ ↓ 入力に対して応答生成 ↓ │
│ 「こんにちは」と入力 │
│ 「はい、何かお手伝いしますか?」 │
└─────────────────────────────────────────────┘
簡単なたとえ
LLMは「何百万冊もの本を読み込んで言語のルールを体得した天才読書家」に似ています。ただし、一度も読んだことのない内容は知らないという弱点があります。
LLMができること・できないこと
✅ 得意なこと ❌ 苦手なこと
──────────────────────────── ──────────────────────────
・文章の要約・翻訳 ・最新ニュースの確認
・コードの生成・解説 ・実際の計算(不正確な場合あり)
・アイデアの壁打ち ・学習データ以降の出来事
・質問への回答(一般的な知識) ・個人的な記憶・感情
パラメータ(Parameter): ニューラルネットワーク内部の「数値の塊」。学習データから自動的に調整され、GPT-4やClaude 3は数千億個のパラメータを持つ。
メモリ≠記憶:会話ごとのリセット
重要な性質: LLMは会話の中で「覚えた」ように見えますが,实际上は各セッションは独立したゼロ地点から始まります。
❌ よくある誤解:
「前の会話で説明を作ったから、次も分かるはず」
✅ 実際の動き:
各セッション = 白紙状態。前の会話の記憶は引き継がない。
なぜ「学習」ように見えるのか?
- 会話中は文脈(context)を保持しており、直前の入力を覚えている
- しかし、セッションが終わるとその記憶は完全に消える
- 新しいセッションでは、ゼロから始める
セッションA: セッションB:
┌────────────────┐ ┌────────────────┐
│ こんにちは! │ │ こんにちは! │
│ ○○の作り方を │ │ │
│ 教えて │ │ ← 何も覚えてない│
└────────────────┘ └────────────────┘
これが重要になる場面
例: コードを書きながら質問する場合
❌ 悪い例:
「さっき言ったあのバグを直して」
→ 「さっき」が何のことか分からない
✅ 良い例:
「src/utils.js の calculateTotal 関数のバグを直してください」
→ 何をするべきか明確
ハルシネーション:自信犯の誤り
ハルシネーション(Hallucination) とは、AIが「確信を持って」事実と異なる内容を生成することです。
実際の例
AI: 「このコードは 安全です。検証済み。」
実際: コードには重大なセキュリティ脆弱性がある
なぜ起こるのか?
LLMは「次に最もらしい言葉を生成する」仕組みです。**「正解ではなく、最もらしい答え」**を選ぶことがあります。
学習データの中で:
「Pythonでは import os が標準的」→ 頻出
「import system-os は標準的」→ ほぼ出現なし
→ AIは「import os」を選ぶ(よく見るから)
→ でも、それが本当に正しいかは別問題
対策:自分で確認する
- 重要な情報は複数ソースで確認 — 1つのAI応答を鵜呑みにしない
- コードは実際に動かして検証 — 「動く」はず、ではなく「動くか?」を確認
- 疑いの目で見る — 「本当に?確信ある?」と確認する
- ドキュメントに当たる — AIが言ったことを公式ドキュメントで確認
┌─────────────────────────────────────────────┐
│ 🔍 ハルシネーション チェックフロー │
├─────────────────────────────────────────────┤
│ AIの回答 → 公式サイトで確認 → 合っている? │
│ ↓ いいえ │
│ AIの回答を修正 or 別の情報源を探す │
└─────────────────────────────────────────────┘
~3%"] B["ツール定義
~20%"] C["メモリ・スキル
~4%"] D["会話履歴
~3%"] E["空き容量
~70%"] end
コンテキストウィンドウ:有限の作業台
コンテキストウィンドウ(Context Window) とは、AIが一時的に保持できる情報の「作業台」のことです。
たとえ
🎓 教室想象:
先生(AI)は黑板(コンテキストウィンドウ)に
限られた量しか書けない。
古い内容を消さないと新しい内容を書けない。
消えた内容は振り返れない。
量の目安
| モデル | 大致的容量 |
|---|---|
| 小さいモデル | ~4,000〜8,000 トークン |
| 大きなモデル | ~128,000〜200,000 トークン |
トークン(Token): テキストの最小単位。英語では約4文字=1トークン、日本語は1文字≈1〜2トークン。Claude Codeではこの作業台を効率的に使うことが重要。
コンテキストが足りないとき
症状: AIが「さっき言った」と言ってくるが、何も言っていない
原因: 会話が長い→古い内容が切り詰められた
対策:
1. 重要な情報は最初っからまとめて送る
2. 定期的に「今我知道的主要内容を確認」と頼む
3. 新しいセッションで最初から説明し直す
プロンプト基礎:AIとの上手な会話術
プロンプト(Prompt) とは、AIへの「指示・質問」のことです。上手く書けると、返答の質が大きく上がります。
基本原則 3つ
1. 具体的に書く
❌ 曖昧:
「コードを直して」
✅ 具体的:
「ファイル src/utils.js の calculateTotal 関数で、
税抜きの計算が間違っているのを修正して」
2. 例を与える
✅ 例あり:
「日本のアーティストの曲を作ってください。
例: YOASOBI - 『夜に駆ける』」
→ ニュアンスが伝わりやすい
❌ 例なし:
「日本の曲作って」
→ 「曲」の意味が曖昧(童謡?J-POP?演歌?)
3. 複雑な任务是分割する
❌ 1度に頼む:
「全新的Webアプリ作って。Reactで、認証付きで、DBはPostgreSQL」
✅ 分割して頼む:
Step 1: 「Reactプロジェクトの骨組みを作ってください」
Step 2: 「認証機能を追加してください」
Step 3: 「データベース接続を設定してください」
プロンプトの構造テンプレート
[立場]: あなたは○○の専門家です
[目標]: ○○を作成してください
[制約]: ○○という条件を満たすこと
[出力]: ○○の形式で結果を出力
[例]: こんな雰囲気で: ○○
具体的なプロンプト例
【悪い例】
コード直して
【良い例】
TypeScriptで ユーティリティ関数を作成してください。
条件:
- 引数は2つ(文字列と数値)
- 戻り値は文字列
- エラーハンドリングを含める
例: capitalize("hello", 3) → "HEL"
コスト意識:トークンを無駄にしない
LLMのAPI利用はトークン数に応じて料金が発生します。
┌────────────────────────────────────────────┐
│ 💰 コスト 最適化チェックリスト │
├────────────────────────────────────────────┤
│ □ 同じ説明を何度も繰り返していない? │
│ □ 長いコード全文を何度も送っていない? │
│ □ 曖昧な要求で何度もやり取りしていない? │
│ □ 必要最小限の情報だけを送っている? │
└────────────────────────────────────────────┘
具体的な節約術
| 節約方法 | 具体的な行動 |
|---|---|
| 情報を整理して送る | 複数のファイルを1度に説明せず、要点をまとめ |
| 確認しながら進める | 一気に頼まず、1ステップずつ確認 |
| 文脈を長く使わない | 古い会話内容を「要約」して保持 |
| 出力形式を指定 | 「JSONで」「1行で答えて」と指定 |
料金節約の実例
❌ 非効率:
「以下の10個のファイルを全部解释して」
(各ファイルの説明が長く続く)
✅ 効率的:
「10個のファイルがありますが、先に全体の構成を教えて。
必要なら詳しく説明します」
まとめ:AIを使いこなすポイント
┌─────────────────────────────────────────────┐
│ AI基礎 まとめ │
├─────────────────────────────────────────────┤
│ 🧠 LLM = 学習済み巨大頭脳 │
│ 💾 セッション開始時はメモリクリア │
│ ⚠️ ハルシネーションに注意(検証が大事) │
│ 📝 コンテキストウィンドウは有限(作業台) │
│ 📌 プロンプトは具体的に・分割して・例示して │
│ 💰 トークン節約はコスト削減に直結 │
└─────────────────────────────────────────────┘
次の章では、いよいよ Claude Code を自分のパソコンに導入する方法を説明します。