コンテキストエンジニアリングとは？プロンプトエンジニアリングとの違いとナレッジツール活用法

コンテキストエンジニアリングは、AIに要件や仕様書などの背景情報を渡して精度を高める手法です。プロンプトエンジニアリング（指示文の最適化）と異なり、前提知識の共有に注力します。実践にはDocBaseなどのナレッジツールとAIの連携が効果的です。

## この記事のまとめ

**コンテキストエンジニアリングとプロンプトエンジニアリングの違い**

| 項目 | プロンプトエンジニアリング | コンテキストエンジニアリング |
|------|---------------------------|------------------------------|
| 焦点 | 指示文の最適化 | 背景情報の提供 |
| 実践例 | 「ステップバイステップで考えて」 | 仕様書や議事録を渡す |
| 適した場面 | 単発タスク | 継続プロジェクト |

どちらかだけを使うものではなく、併用するのが効果的です。

**コンテキストエンジニアリングが重要視されている理由**

- AIエージェントの失敗の多くは、コンテキスト不足に起因する（Anthropic調査）
- コンテキストウィンドウが100万トークン以上に拡大し、大量の情報を一度に渡せるようになった
- RAG（外部情報検索）により、検索失敗率を35-49%削減（Contextual Retrieval）できた

**実践方法**

- **静的コンテキスト**：CLAUDE.mdにプロジェクト情報を記載
- **動的コンテキスト**：DocBaseなどのナレッジツールとMCPで連携
- **活用パターン**：仕様書取得→開発→知見をDocBaseに投稿（ナレッジ循環）

**所要時間5分でセットアップ**

1. DocBaseアカウント作成（30日間無料トライアル）
2. Claude CodeにDocBaseを接続
3. 「DocBaseから最新のメモを5件取得して」で動作確認

## コンテキストエンジニアリングとは？

最近、Claude CodeなどのAIエージェントを使っていると、AIに意図通りに作業してもらうための工夫が必要だと感じます。

個人的には、コンテキスト（要件や仕様書、議論の流れなどの背景情報）がAI活用の精度に直結すると感じる機会が増えてきました。

### 定義

[コンテキストエンジニアリング](https://www.anthropic.com/news/contextual-retrieval)は、**AIがタスクを現実的に解決できるように、必要なすべてのコンテキスト（文脈）を提供する**技術です。

元Hugging Faceのテクニカルリードで、Google DeepMindのシニアAIリレーションエンジニアであるフィリップ・シュミット氏も[コンテキストエンジニアリングを支持しています](https://www.philschmid.de/context-engineering)。同氏は、従来のプロンプトエンジニアリングから、より広範で強力な概念であるコンテキストエンジニアリングへと焦点が移りつつあると論じています。

### なぜコンテキストが重要なのか？

AIが単なる質問応答ツールから、**現実世界の問題を自律的に解決する「AIエージェント」**へと進化したことで、コンテキストの重要性が増しています。

コンテキストは、AIが望ましい出力を生成するために参照する**あらゆる情報**を指します。指示文（プロンプト）だけでなく、履歴、外部データ、利用可能なツールなど、情報エコシステム全体を含みます。

**コンテキストが不可欠な理由**

**1. AIの失敗を防ぎ、信頼性を確保する**

[Anthropicの記事](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)によると、AIエージェントの失敗の多くは、AIモデルの能力不足ではなく、**コンテキストの不足に起因する**と指摘されています。

- 本番環境では、数千ものやり取りを通じて一貫したパフォーマンスを維持する必要がある
- 複雑なタスクでは、コンテキスト不足が複合エラーとして蓄積し、成功率を低下させる

**2. 応答の品質と実用性を向上させる**

適切なコンテキストがあることで、AIは機械的な応答から、**知的でパーソナライズされた応答**へと変わります。

**具体例：メール返信**

- **コンテキストなし**：「明日、打ち合わせは大丈夫ですか？」というメールに対し、機械的な返答のみ
- **コンテキストあり**：カレンダー情報、過去のメール、連絡先リストなどを参照し、「明日は終日詰まっています。木曜の午前中はいかがでしょうか？」という現実的な提案が可能

**具体例：開発案件**

- **コンテキストなし**：「ログイン機能を作って」→ AIは一般的な実装を提案
- **コンテキストあり**：「ログイン機能を作って」+ 仕様書→ AIは要件に沿った実装を提案

**3. プロンプトエンジニアリングの限界を克服する**

プロンプトエンジニアリングは、モデルが**既に持っている知識を引き出す**技術です。一方、コンテキストエンジニアリングは、**外部の最新情報をリアルタイムで補強**します。

- [RAG（外部から情報を検索してAIの回答に活用する技術）](https://www.anthropic.com/news/contextual-retrieval)により、モデルが知らない情報を動的に提供
- ユーザーのタスクに合わせて、その場でコンテキストを生成

**4. 複雑なタスクや大規模な情報処理を可能にする**

コンテキストは、AIが大規模な情報や複雑なワークフロー全体を把握するための「ワーキングメモリ」として機能します。

- 数万行のコードベース全体の構造や依存関係を把握
- 外部ツールを使用し、複数ステップで構成される複雑なプロセスを自律的に遂行

**コンテキストを構成する要素**

AIの性能を引き出す「コンテキスト」は、以下の要素で構成されます。

- 指示・システムプロンプト（AIの基本的な振る舞いを定義）
- ユーザープロンプト（具体的な質問やタスク）
- 状態・履歴（会話の流れ）
- 長期記憶（ユーザーの好みや知識）
- 検索された情報（RAG）
- 利用可能なツール（在庫確認、メール送信、外部サービスなど）
- 構造化された出力（回答形式の指定）

フィリップ・シュミット氏（元Hugging Faceテクニカルリード、Google DeepMindシニアAIリレーションエンジニア）は、「コンテキストエンジニアリング」こそが、今後のAIの成功の鍵を握るものであり、**AIを使う上で必須のスキル**であると主張しています。

## プロンプトエンジニアリング vs コンテキストエンジニアリング

AI活用の手法として、プロンプトエンジニアリングとコンテキストエンジニアリングがあります。両者の違いを理解することで、適切な使い分けができます。

### プロンプトエンジニアリングとは？

プロンプトエンジニアリングは、AIへの指示文を最適化する手法です。

**具体例**
- 「ステップバイステップで考えて」
- 「まず結論を述べてから、理由を3つ挙げて」
- 「コードにコメントを付けて説明して」

これらは、AIの思考プロセスを誘導する指示です。

### それぞれの特徴

| 項目 | プロンプトエンジニアリング | コンテキストエンジニアリング |
|------|---------------------------|------------------------------|
| 焦点 | 指示文の最適化 | 背景情報の提供 |
| 目標 | 望ましい単発の出力を得る | 何千もの対話で一貫性を保つ |
| 実践例 | 「ステップバイステップで考えて」 | 仕様書・議事録を渡す |
| 構成要素 | ユーザーの指示文のみ | 指示文+履歴+検索情報+ツール |
| 効果 | 思考プロセスの誘導 | 前提知識の共有 |
| 適した場面 | 単発タスク | 継続的なプロジェクト |
| 情報量 | 少ない（指示文のみ） | 多い（ドキュメント全体） |

### なぜプロンプトエンジニアリングよりもコンテキストエンジニアリングが注目され出したのか？

[Anthropicの「Effective Context Engineering for AI Agents」](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)によると、AI活用の焦点が、プロンプトエンジニアリングからコンテキストエンジニアリングへ移行しています。

同記事では、

>Building with language models is becoming less about finding the right words for prompts, and more about answering "what configuration of context is most likely to generate our model's desired behavior?"
>
>（言語モデルを使った開発は、プロンプトに適切な言葉を見つけることから、「どのようなコンテキスト構成がモデルの望ましい動作を生成する可能性が最も高いか」という問いに答えることへと変化しています）

と説明されています。

AIは単純な質問応答ツールから、**複雑なタスクを自律的に実行する「AIエージェント」**へと進化しました。この変化により、自律するために必要な情報がより重要になったため、コンテキストエンジニアリングの重要性が増しています。

また、コンテキストウィンドウが数千トークンから100万トークン以上に拡大したことで、AI活用の可能性が大きく変わりました。これにより、コードベース全体やビジネスプラン、数ヶ月分の顧客サポート会話などを一度にAIに渡せるようになりました。

プロンプトエンジニアリングは、モデルが既に持っている知識を引き出す技術です。一方、[Anthropicの「Contextual Retrieval」](https://www.anthropic.com/news/contextual-retrieval)によると、コンテキストエンジニアリングは、RAG（外部から情報を検索してAIの回答に活用する技術）を通じて、外部の最新情報や専門知識を動的に提供します。同記事では、Contextual Retrievalにより検索失敗率を35-49%削減できたと報告されています。
つまり、必要な情報をより適切に参照できるようになってきたため、コンテキストを活用できる環境が整ってきたという背景があります。

### どちらを使うか？ではなくどちらも使う

プロンプトエンジニアリングとコンテキストエンジニアリングは、対立するものではなく併用が効果的です。

**例**
- コンテキスト：仕様書とコーディング規約をAIに渡す
- プロンプト：「この仕様書に従って、ログイン機能を実装して。コメント付きで」

このように組み合わせることで、AIの作業精度が最大化されます。

## コンテキストエンジニアリングの実践方法

コンテキストエンジニアリングには、静的コンテキストと動的コンテキストの2つのアプローチがあります。

### 静的コンテキスト：CLAUDE.md, AGENTS.mdなど

プロジェクトに関する固定的な情報を、ファイルに記述しておく方法です。

**例：Claude Codeの場合**
- `CLAUDE.md`にプロジェクトの概要、技術スタック、コーディング規約を記載
- AIは起動時にこのファイルを読み込み、プロジェクトの前提知識を理解

**メリット**
- 毎回説明する必要がない
- チーム全体で共有できる

**デメリット**
- 動的に変化する情報（議事録、進捗状況など）には向かない

### 動的コンテキスト：外部サービス連携

必要に応じて、外部サービスから最新の情報を取得する方法です。

**例**
- [MCP（Model Context Protocol）](https://modelcontextprotocol.io/)を使って、AIが外部ツールに接続
- DocBase、Notion、GitHubなどから、必要なドキュメントを取得

**メリット**
- 常に最新の情報を活用できる
- 大量のドキュメントを管理しやすい

**デメリット**
- 連携設定が必要

### 動的コンテキストにはナレッジマネジメントツールを接続する

コンテキストエンジニアリングを実践するなら、動的コンテキストとしてナレッジマネジメントツールとの連携が効果的です。

**理由**
- 仕様書や議事録を一元管理できる
- AIが必要な情報を検索・取得できる
- 開発後、得た知見をすぐに共有できる

## ナレッジツールの選び方

コンテキストエンジニアリングを実践するには、まず自分に合ったツールを選ぶ必要があります。

### 主要ツールの比較

| ツール | MCP対応 | 公式サーバー | 連携難易度 | 料金 | おすすめ用途 |
|--------|---------|-------------|-----------|------|-------------|
| [DocBase](https://docbase.io/) | ◯ | あり | 簡単 | 月額990円〜 | 小規模チーム〜 |
| [Notion](https://www.notion.so/) | ◯ | あり | 簡単 | 無料〜 | 個人〜 |
| [Confluence](https://www.atlassian.com/ja/software/confluence) | ◯ | あり（ベータ版） | 普通 | $6.40/user/月〜 | 大規模チーム |
| [GitHub](https://github.com/) | ◯ | あり | 普通 | 無料〜 | 個人〜 |

## DocBaseでコンテキストエンジニアリングを実践する

この記事では、DocBaseを使ったコンテキストエンジニアリングの具体例を紹介します。

### セットアップ方法（5分で完了）

**必要なもの**
- DocBaseアカウント（[公式サイト](https://docbase.io/)から30日間無料トライアル可）
- Claude Code

**手順**
1. [DocBase公式サイト](https://docbase.io/)で無料トライアルを開始し、メールアドレスとパスワードで登録（2分）
2. [Claude CodeにDocBaseを接続](https://help.docbase.io/posts/3919612)（2分）
3. Claude Codeで「DocBaseから最新のメモを5件取得して」と指示し、動作確認（1分）

### DocBase公式MCPサーバーとは？

[DocBase](https://docbase.io/)は、オンライン上に仕様書、コーディング規約、議事録、障害対応ログ、ナレッジなどのドキュメントをマークダウン形式で投稿できる情報共有サービスです。

先日、DocBaseは[公式リモートMCPサーバーをリリースしました](https://help.docbase.io/posts/3902653)。
[MCP（Model Context Protocol）](https://modelcontextprotocol.io/)は、AIが外部ツールに接続するための標準規格です。
これにより、AIがDocBaseを自動操作できるようになります。

DocBase公式MCPサーバーと連携することで、AIが例えば以下の操作をできるなります。

| ツール                | 説明                          |
|--------------------|-------------------------------|
| searchPosts        | メモを検索                     |
| getPost            | メモ詳細を取得                 |
| createPost         | 新しいメモを作成               |
| updatePost         | 既存のメモを更新               |
| getComments        | コメント一覧取得               |
| createComment      | コメント投稿                   |

つまり、DocBaseをコンテキストの**データベースとして活用できます**。
AIとチャットしながらDocBaseからドキュメントを取得してもらったり投稿したり、コメントを読んだり返したりできます。

しかも、[OAuth2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-11)（安全な認証方式の一つ）仕様に則っており、DocBaseとAIを連携する画面ではAIと連携するグループを選択できるので、**ドキュメントをコンテキストとして安全に活用できます**。

### 具体的な活用パターン

#### パターン1：ナレッジ活用&共有サイクル

例えば、以下のような**ナレッジ活用&共有サイクル**がAIとのチャット内で完結できます。

1. 「DocBaseから、〇〇の仕様書とコメントを取得して」
1. 「それらの情報をもとに開発して」
1. 「開発中に得た知見をDocBaseに投稿しておいて」

```mermaid
graph LR
      User[開発者] -->|指示| Claude[Claude Code]
      DocBase[(DocBase)] -->|仕様書・規約・ナレッジ| Claude
      Claude -->|新しい知見| DocBase

      style Claude fill:#FFE4B5,stroke:#FF8C00,stroke-width:2px
      style DocBase fill:#E6F3FF,stroke:#4169E1,stroke-width:2px
      style User fill:#F0FFF0,stroke:#32CD32,stroke-width:2px
```

DocBaseから情報を取得するだけでなく、チームメンバーへ情報の共有もできるのがポイントです。

#### パターン2：AIの長期メモリーとして活用

AIと長くチャットしていると、AIが今までのコンテキストを忘れてしまうこともあります。
そんなとき、人間がコンテキストを覚えていればいいのですが、個人的には覚えていないことがほとんどです。

そこで、「DocBaseに今までの会話の内容を投稿しておいて」や、「DocBaseに今までの作業のTODOリストとして投稿しておいて」などのように指示することで、DocBaseを半永久的なコンテキスト保管場所として活用できます。

```mermaid
graph TB
    subgraph "セッション1"
        User1[開発者] -->|開発指示| Claude1[Claude Code]
        Claude1 -->|作業| User1
        Claude1 -->|コンテキスト保存| DocBase[(DocBase)]
    end
    
    subgraph "セッション2"
        DocBase -->|コンテキスト取得| Claude2[Claude Code]
        User2[開発者] -->|続きの作業指示| Claude2
        Claude2 -->|前回の続きから開発| User2
    end

    style Claude1 fill:#FFE4B5,stroke:#FF8C00,stroke-width:2px
    style Claude2 fill:#FFE4B5,stroke:#FF8C00,stroke-width:2px
    style DocBase fill:#E6F3FF,stroke:#4169E1,stroke-width:2px
    style User1 fill:#F0FFF0,stroke:#32CD32,stroke-width:2px
    style User2 fill:#F0FFF0,stroke:#32CD32,stroke-width:2px
```

### 実践例：ブロック崩しゲーム開発

実際にDocBaseとAIを連携して、ブロック崩しゲームを開発した例を紹介します。

まずはClaudeと相談しながら仕様書を作ってDocBaseに投稿してもらいました。

![スクリーンショット 2025-09-02 15.46.46.png](https://image.docbase.io/uploads/762e2430-48fa-44cf-a46a-d08a2bbdf50e.png =WxH)

次に、この仕様書からTODOリストを作ってもらいました。

![スクリーンショット 2025-09-02 15.48.00.png](https://image.docbase.io/uploads/cd797cd0-684c-4390-9235-7455b403b188.png =WxH)

そして、Claudeにフェーズ1の実装とTODOリストの更新を指示しておくと、

![スクリーンショット 2025-09-02 15.52.51.png](https://image.docbase.io/uploads/56286051-a543-4257-99cd-d76e8f91fa6d.png =502x495)

のようなスタート画面まで作ってくれ、DocBase上のチェックリストも更新してくれました。

![スクリーンショット 2025-09-02 15.53.48.png](https://image.docbase.io/uploads/6f609c4f-a93e-40e1-8e0a-9150bce8a864.png =WxH)

ここで、セッションをまたぐ実験のため、一度Claudeとのチャットを終了して新しくチャットを開始します。

そして、「docbaseからブロック崩しゲーム仕様書とTODOリストを取得して」のように指示をすると、DocBaseからドキュメントを取得して現状を正しく理解してくれました。

![スクリーンショット 2025-09-02 15.56.41.png](https://image.docbase.io/uploads/ae1eb871-ebda-4081-b78e-db788e99ab95.png =WxH)

このように、DocBaseをコンテキストの保管場所として活用しながら、セッションをまたいで開発を継続できました。

完成したゲームはこちらです。

[![mp4](/images/file_icons/movie.svg) recordo\_2025-09-02\_16-07-30.mp4](https://docbase.io/file_attachments/a9e411ab-14e8-4ad6-88d4-857902ee127b.mp4 =532xH)


## まとめ

コンテキストエンジニアリングは、AIに背景情報を渡して作業精度を高める手法です。

**プロンプトエンジニアリングとの違い**

- プロンプトエンジニアリング：指示文の最適化に注力
- コンテキストエンジニアリング：前提知識の共有に注力
- 使い分け：単発タスクはプロンプト、継続プロジェクトはコンテキスト
- 併用が効果的

**実践方法**

- 静的コンテキスト：CLAUDE.md, AGENTS.mdなどにプロジェクト情報を記載
- 動的コンテキスト：MCPサーバーで連携した外部サービスから情報を取得
    - DocBaseやNotionなどのナレッジマネジメントツールとAIを連携

**ナレッジツール活用のメリット**

- 仕様書や議事録を一元管理
- AIが必要な情報を検索・取得
- 開発後の知見を即座に共有

コンテキストエンジニアリングを実践することで、AIとの協働が効率的になります。

## Q&A

### Claude Code以外のAIツールでも使えますか？

はい、MCPに対応しているAIツールであれば使えます。現時点では、Claude DesktopやDevinなどがMCPに対応しています。

### 既存のDocBaseアカウントがあれば、すぐに使い始められますか？

はい、DocBaseアカウントがあれば、Claude Codeの設定ファイルにMCPサーバーの情報を追加するだけで使い始められます。詳細な設定方法は[DocBase公式ヘルプ](https://help.docbase.io/posts/3902653)をご覧ください。

### DocBaseのセキュリティは大丈夫ですか？

OAuth2.1認証により、AIと連携するグループを選択できます。機密情報を含むグループは連携対象から除外できるため、安全に利用できます。

### AIがDocBaseに勝手に投稿したりしませんか？

AIは、あなたが明示的に指示した操作のみを実行します。勝手に投稿することはありません。

### プロンプトエンジニアリングとコンテキストエンジニアリングは、どちらが重要ですか？

両方とも重要で、併用が最も効果的です。プロンプトエンジニアリングは指示文を最適化し、コンテキストエンジニアリングは前提知識を共有します。単発タスクではプロンプト、継続的なプロジェクトではコンテキストを重視すると良いです。

### コンテキストエンジニアリングは、個人開発でも効果ありますか？

はい、効果があります。個人開発でも、過去の設計書や議事録をAIに渡すことで、一貫性のある開発ができます。また、長期的なプロジェクトでは、DocBaseなどに情報を保存しておくことで、数週間後に作業を再開する際にスムーズに状況を把握できます。

## 参考資料

- [Effective Context Engineering for AI Agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents) - Anthropicによるコンテキストエンジニアリング解説
- [Introducing Contextual Retrieval](https://www.anthropic.com/news/contextual-retrieval) - Anthropicの公式記事
- [Building Effective Agents](https://www.anthropic.com/research/building-effective-agents) - AIエージェント構築のベストプラクティス
- [Model Context Protocol Documentation](https://modelcontextprotocol.io/) - MCP公式ドキュメント
- [DocBase公式リモートMCPサーバー](https://help.docbase.io/posts/3902653) - 日本語対応の公式MCPサーバー

## 著者について

2019年よりDocBaseの開発にフロントエンド／バックエンドエンジニアとして参加。
新エディターや検索機能、[DocBase公式リモートMCPサーバー](https://help.docbase.io/posts/3919854)の開発など。
ChatgGPTやClaude、NotebookLMなどのAIエージェントを活用中。

**主なスキル**

- フロントエンド: React, TypeScript
- バックエンド: Ruby, Ruby on Rails
- インフラ: Terraform