context-engineering について
context-engineeringは、有限なモデルのコンテキストウィンドウ内で情報を構成するスキルです。トークンの配分、コンテキストの選択と順序付け、戦略の適用、品質評価を支援します。
主な機能
- 01コンテキストウィンドウのトークン予算
- 02情報の順序付けと構成
- 03関連性と情報源の選定基準
- 04検索、要約、履歴の戦略
- 05コンテキスト品質の指標
活用シーン
- 01プロンプトや入力へのコンテキスト配分
- 02タスクに応じた情報の選択と順序付け
- 03検索と会話履歴の戦略策定
- 04関連性、幻覚、一貫性のモニタリング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ owl-listener/ ai-design-skills --skill context-engineeringインストール後、Claude Code で/context-engineeringを入力して読み込まれたか確認します。
詳細
コンテキストエンジニアリング
コンテキストウィンドウには上限があります。何をどの順序で含めるかによって、すべての出力の品質が決まります。コンテキストエンジニアリングとは、コンテキストウィンドウの情報アーキテクチャを意図的に設計することです。
コンテキストの予算
すべてのコンテキストウィンドウにはトークン予算があります。意図的に割り当てましょう。
- システムプロンプト:基盤となる指示(通常、予算の5~20%)
- 取得したコンテキスト:現在のタスクのために取り込むドキュメント、データ、情報
- 会話履歴:会話の過去のターン
- ユーザー入力:現在のリクエスト
- 作業領域:モデルが応答を生成するための余地 これらはスペースを取り合います。取得するコンテキストを増やすと、会話履歴に使えるスペースが減ります。システムプロンプトを長くすると、ほかのすべてに使える余地が減ります。
コンテキストにおける情報アーキテクチャ
順序は重要です。モデルが位置によって異なる注意を払うためです。
- 冒頭:注意が向きやすい位置です。最も重要な指示をここに置きます。
- 中間:注意が向きにくい位置です。長いコンテキストでは、情報が失われることがあります。
- 末尾:注意が向きやすい位置です。ユーザー入力など、最も新しい情報は自然とここに置かれます。
- タスクに隣接する位置:ユーザーの質問の直前に置いた情報は、コンテキストの前のほうにある情報より注意を向けられます。
コンテキストの選定
すべての情報をコンテキストに含めるべきではありません。選定基準を設計しましょう。
- 関連性:この情報は現在の質問への回答に役立ちますか?
- 新しさ:利用できる情報の中で、これが最も最新ですか?
- 具体性:役立つほど具体的ですか。それとも一般的すぎますか?
- 重複性:この情報はコンテキスト内の別の場所ですでに扱われていますか?
- 信頼性:信頼できる情報源からのものですか?
コンテキスト戦略
- 検索拡張生成(RAG):関連するドキュメントを動的にコンテキストへ取り込む
- 要約:古いコンテキストを要約して圧縮し、スペースを確保する
- 優先度を付けた履歴:最近の重要な会話ターンを残し、重要度の低いものを削除する
- 構造化コンテキスト:明確な見出しやセクションで情報を整理し、モデルがたどりやすくする
- コンテキストキャッシュ:頻繁に使うコンテキストブロックを事前に計算してキャッシュする
コンテキスト品質の指標
コンテキストエンジニアリングが機能しているかを判断する方法:
- 出力の関連性:出力は、提供されたコンテキストを使って実際の質問に答えていますか?
- ハルシネーション率:コンテキストが不十分なため、モデルが事実を捏造していませんか?
- コンテキストの活用度:モデルは提供されたコンテキストを実際に活用していますか。それとも無視していますか?
- 一貫性:同じコンテキストを与えたとき、出力は一貫していますか?
設計成果物
- コンテキスト予算の割り当て文書
- コンテキストウィンドウの情報アーキテクチャ図
- 機能ごとのコンテキスト選定基準
- 検索戦略の仕様書
- コンテキスト品質の監視指標
コメント
Markdown 対応