🏠 ホーム ← さっとわかる版 環境構築 →

title: "00_AIの基礎" icon: "🧠"

AIの基礎知識

Claude Codeを使いこなす前に、AIがどのように動くのかを理解しておきましょう。原理を知っていれば、「なぜ思った通りに動かないのか」が見えやすくなります。


LLMとは?

LLM(Large Language Model / 大規模言語モデル) とは、膨大なテキストデータから言語のパターンを学習した「とても巨大な頭脳」です。

┌─────────────────────────────────────────────┐
│  学習データ: ウェブサイト、書籍、会話記録...  │
│       ↓ 数十億パラメータで学習 ↓             │
│  ┌─────────────────────────────────┐        │
│  │  LLM (巨大ニューラルネットワーク)  │        │
│  └─────────────────────────────────┘        │
│       ↓ 入力に対して応答生成 ↓               │
│           「こんにちは」と入力               │
│           「はい、何かお手伝いしますか?」   │
└─────────────────────────────────────────────┘

簡単なたとえ

LLMは「何百万冊もの本を読み込んで言語のルールを体得した天才読書家」に似ています。ただし、一度も読んだことのない内容は知らないという弱点があります。

LLMができること・できないこと

✅ 得意なこと                     ❌ 苦手なこと
────────────────────────────  ──────────────────────────
・文章の要約・翻訳               ・最新ニュースの確認
・コードの生成・解説              ・実際の計算(不正確な場合あり)
・アイデアの壁打ち                ・学習データ以降の出来事
・質問への回答(一般的な知識)    ・個人的な記憶・感情

パラメータ(Parameter): ニューラルネットワーク内部の「数値の塊」。学習データから自動的に調整され、GPT-4やClaude 3は数千億個のパラメータを持つ。


メモリ≠記憶:会話ごとのリセット

重要な性質: LLMは会話の中で「覚えた」ように見えますが,实际上は各セッションは独立したゼロ地点から始まります。

❌ よくある誤解:
「前の会話で説明を作ったから、次も分かるはず」

✅ 実際の動き:
各セッション = 白紙状態。前の会話の記憶は引き継がない。

なぜ「学習」ように見えるのか?

セッションA:              セッションB:
┌────────────────┐    ┌────────────────┐
│ こんにちは!   │    │ こんにちは!   │
│ ○○の作り方を   │    │               │
│ 教えて         │    │ ← 何も覚えてない│
└────────────────┘    └────────────────┘

これが重要になる場面

例: コードを書きながら質問する場合

❌ 悪い例:
「さっき言ったあのバグを直して」
→ 「さっき」が何のことか分からない

✅ 良い例:
「src/utils.js の calculateTotal 関数のバグを直してください」
→ 何をするべきか明確

ハルシネーション:自信犯の誤り

ハルシネーション(Hallucination) とは、AIが「確信を持って」事実と異なる内容を生成することです。

実際の例

AI: 「このコードは 安全です。検証済み。」
実際: コードには重大なセキュリティ脆弱性がある

なぜ起こるのか?

LLMは「次に最もらしい言葉を生成する」仕組みです。**「正解ではなく、最もらしい答え」**を選ぶことがあります。

学習データの中で:
「Pythonでは import os が標準的」→ 頻出
「import system-os は標準的」→ ほぼ出現なし

→ AIは「import os」を選ぶ(よく見るから)
→ でも、それが本当に正しいかは別問題

対策:自分で確認する

  1. 重要な情報は複数ソースで確認 — 1つのAI応答を鵜呑みにしない
  2. コードは実際に動かして検証 — 「動く」はず、ではなく「動くか?」を確認
  3. 疑いの目で見る — 「本当に?確信ある?」と確認する
  4. ドキュメントに当たる — AIが言ったことを公式ドキュメントで確認
┌─────────────────────────────────────────────┐
│  🔍 ハルシネーション チェックフロー          │
├─────────────────────────────────────────────┤
│  AIの回答 → 公式サイトで確認 → 合っている? │
│       ↓ いいえ                               │
│  AIの回答を修正 or 別の情報源を探す          │
└─────────────────────────────────────────────┘

graph LR subgraph "200K トークン コンテキストウィンドウ" A["システムプロンプト
~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 を自分のパソコンに導入する方法を説明します。