コンテンツにスキップ

context-engineering

AIエンジニアが今知るべき設計原則 / プロンプトからコンテキストへ

結論:何が変わったのか

  • 「プロンプトエンジニアリング」から「コンテキストエンジニアリング」へ。これは単なる言葉の言い換えではありません。
  • プロンプトエンジニアリングは「完璧な呪文を探す行為」でした。コンテキストエンジニアリングは「LLMが仕事をするために必要な情報を動的に組み立てるシステム設計」です。
  • エージェントの失敗の大半は、モデルの失敗ではなくコンテキストの失敗です。

1. LLMの本質を理解する

LLMは「予測エンジン」です

LLMはデータベースから答えを検索しているのではありません。入力テキストの「最も確率的に自然な続き」を生成しています。したがって開発者の仕事は、モデルが予測する「続き」がユーザーの意図する「正解」と一致するように、確率空間を制約することにあります。

出力を制御する3つのパラメータ

パラメータ 役割 論理タスク 創造タスク
Temperature ランダム性の調整 0〜0.1 0.7以上
Top-K 候補トークン数の制限 1〜20 40以上
Top-P 累積確率による動的フィルタ 0.9 0.95
  • 重要: Temperature=0は最強の制約です。これを設定すると、Top-KやTop-Pの効果は無効化されます。
  • 論理的推論(CoT)にはTemperature=0が必須です。

2. コンテキストの構成要素

「コンテキスト」とは、モデルが応答を生成する前に「見る」すべての情報を指します。

Context Window 内容
System Prompt モデルの振る舞い、ルール、例示
User Prompt 直接的なタスクや質問
Conversation 会話履歴(短期記憶)
Long-term Memory 過去の会話から学んだ情報
RAG Data 外部DBやAPIからの最新情報
Tools 呼び出し可能な関数の定義
Output Schema 期待する出力形式(JSON等)

重要な認識: これは「一度書いたら終わり」のテンプレートではありません。リクエストごとに動的に組み立てるシステムの出力です。