Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Prompt Engineeringの再定義「Context Engineering」とは

Prompt Engineeringの再定義「Context Engineering」とは

2025.07.11開催の社内勉強会にて発表

Avatar for ツルオカ

ツルオカ

July 11, 2025
Tweet

More Decks by ツルオカ

Other Decks in Programming

Transcript

  1. Contents • Context windowとは(前提知識) • Context Engineeringとは • GitHub Copilot

    in VS Codeの例 • Cognition AIのブログでの⾔及 • Donʼt Build Multi-Agents • 12 Factor Agentsへの追加 • Contextの分類・具体例 • まとめ
  2. • Claude Codeで、CLAUDE.mdによるメモリ管理や`/compact`でのコンテキスト圧縮などSNS上での議論を観測 • セッションごとに記憶喪失するので、「前教えたことを覚えていないジュニアエンジニア」と揶揄されることも ◦ LLMは基本ステートレス • CLAUDE.mdのメモリ管理やコンテキストをどう管理するかがCoding Agentの肝に

    ◦ 例: 1つのタスクごとに`/clear`でコンテキスト破棄する、コミットのたびにコンテキスト破棄する • (その経由もあってか)7⽉頃から「Context Engineering」という⽤語がちらほら⾶び交うようになって気になった 背景 3 ref. https://docs.anthropic.com/en/home
  3. • ⾔語モデルが新しいテキストを⽣成する際に参照できるトークンと⽣成する新しいトークンの合計(≒脳のキャパシティ) • LLMモデルにおける「作業メモリ」のようなもので、この記憶を頼りに回答を⽣成している • Context window Overflow: ⼊⼒と出⼒のトークン数の合計が閾値を超えると情報が失われ置き換えられてしまう。モデルが必要 なコンテキストの⼀部を⽋いてしまい、正確で⼀貫性のある返答を⽣成するのが難しくなる

    (前提知識)Context windowとは 4 ref. https://docs.anthropic.com/ja/docs/build-with-claude/context-windows 主要モデルのContext Window(2025年7⽉現在): Gemini 2.5 Proが100万トークンと、他を⼤きく引き離して 最⼤のコンテキストウィンドウを誇る。これは、⼀般的な書籍 数冊分に相当する情報量を⼀度に処理できることを意味し、⻑ ⽂の⽂書読解や要約、複雑なプログラミングコードの分析な ど、これまで困難だったタスクへの応⽤が期待できる。
  4. • VS Code(に限らず)、より関連し正確な返答をAIから受け取るためにコンテキストをしっかり管理するための指南書 • 公式ドキュメント参照させたりMarkdown読み込ませたり、当たり前といえばYesだがこれもContext Engineering (Contextを与える例)GitHub Copilot in VS

    Code 6 ref. https://code.visualstudio.com/docs/copilot/chat/ copilot-chat-context VS CodeでサポートしているContext item⼀覧。当然 CursorやClaude Codeなど各ツールによって記法は異な るが、ファイル参照やWeb検索などやることは⼤体⼀緒 #fetchでWebから情報を取得(コンテ キスト付与)して知りたい情報を回答さ せる例
  5. • Prompt Engineering Guideでは、これは「LLMや⾼度なAIモデルがタスクを効果的に実⾏するために、必要な指⽰と関連コン テキストを設計および最適化するプロセス」と定義 ◦ Andrej Karpathy⽒「次のステップのためにコンテキストウィンドウに適切な情報を詰める繊細な芸術と科学」 • Hugging

    Faceのテクニカルリードであったフィリップ・シュミット⽒は、コンテキストエンジニアリングを「AIがタスクを現実 的に解決できるように、必要なすべてのコンテキストを提供するための技術」と定義 Context Engineeringの定義 7 単なる⽂字列ではなく、 AIの処理が実⾏される前 に稼働するシステム 単⼀のテキストで完璧な 指⽰⽂を作成すること プロンプトエンジニアリングとの違い ref. https://medium.com/data-science-in-your-pocket/context-engineering-vs-prompt-engineering-379e9622e19d
  6. • Cognition AIのブログ(Donʼt Build Multi-Agents)にて、AIエージェント⽂脈ではじめてContext Engineeringに⾔及 ◦ Cognition AI: DevinやDeepWikiの開発会社

    • Multi-Agents設計における課題としてコンテキスト共有の重要性を指摘した内容 最初の⾔及はCognition AIのブログにて 8 https://cognition.ai/blog/dont-build-multi-agents#principles-of-context-engineering Vibe Coding提唱で有名なAndrej Karpath⽒もContext Engineeringの考え⽅を⽀持 https://x.com/karpathy/status/1937902205765607626
  7. • OpenAIの「Swarm」やMicrosoftの「AutoGen」に代表されるAIエージェントフレームワークは間違っているという主張 • 理由はタスクを複数のサブエージェントに分割し、最後に結果を結合するアプローチは「⾮常に脆い」というもの • 単⼀スレッドのリニアな構造にしてコンテキスト圧縮してオーバーフローを防ぐ⽅法が望ましい Donʼt Build Multi-Agents 9

    サブタスクに分解する典型的なエージェントの例: 例えば、Flappy Birdのクローン作成タスクで、各サブエージェント が異なる理解に基づくと、最終的な結果は⽭盾したものになる リニアな構造に圧縮したコンテキストを渡すエージェントの例: エージェント構築の原則である「1.コンテキスト共有」と「2.アクションは暗 黙の決定を伴う」を両⽴する1つの⽅法として紹介(これの限りではない)
  8. • n8nを使ったマルチエージェントなDeep Researchアプリケーションを例に解説 • RAG & Memoryはこの例では使っていないが、類似クエリをベクトルDBに保持しておいて検索最適化するなどの戦略も取れる ◦ アプリケーションを動的かつ低コストで効率的なものにする設計(≒Context Engineeringの⼀つ)

    Context Engineeringの具体例 12 n8nで構築されたDeepResearchワークフロー ref. https://www.promptingguide.ai/guides/context-engineering-guide#context- engineering-in-action Search Plannerのシステムプロンプト例: Structured Outputsは実際はプロンプ トではなく、Zodなどで型定義してAPIのプロパティ指定することの⽅が多いと思う が、JSONに構造化することで情報密度があがりトークン数を削減できたりする。 Instructions: 従来のプロンプトエンジニアリングの域 Structured Inputs and Outputs Tools
  9. • Context Engineeringという⽤語は「プロンプトエンジニアリングを再定義しリブランドされた造語」であり、全く新しい実装を 指すものではないが、エージェント構築において開発者にとって最も重要である • Context Engineeringは「LLMや⾼度なAIモデルがタスクを効果的に実⾏するために、必要な指⽰と関連コンテキストを設計お よび最適化するプロセス」と定義 • プロンプトでLLMに役割や意図を伝えるだけでなく、どのような情報を的確にLLMに与えるかの設計が重要であるという考え⽅に

    基づいている • 実際、Claude CodeにおけるCLAUDE.mdによるメモリ管理や/compactでのコンテキスト圧縮など、コンテキストをどう管理 するかがCoding Agentの肝となっている • 12 Factor Agentsにも採⽤されており「最良の出⼒には最良の⼊⼒が必要」の考えから理にかなっている • コンテキストはwrite, select, compress, isolateの4つに分類でき体系的な戦略が⽴てられる まとめ 13
  10. • https://docs.anthropic.com/en/home • https://x.com/dexhorthy/status/1933283008863482067 • https://code.visualstudio.com/docs/copilot/chat/copilot-chat-context • https://medium.com/data-science-in-your-pocket/context-engineering-vs-prompt-engineering-379e9622e19d • https://cognition.ai/blog/dont-build-multi-agents#principles-of-context-engineering

    • https://x.com/karpathy/status/1937902205765607626 • https://github.com/humanlayer/12-factor-agents • https://blog.langchain.com/context-engineering-for-agents/ • https://www.promptingguide.ai/guides/context-engineering-guide#context-engineering-in-action • https://iwashi.co/2025/07/06/12-factor-agents 参考 14