Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Prompt Engineeringの再定義「Context Engineering」とは
Search
ツルオカ - Hideki Tsuruoka
July 11, 2025
Programming
960
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Prompt Engineeringの再定義「Context Engineering」とは
2025.07.11開催の社内勉強会にて発表
ツルオカ - Hideki Tsuruoka
July 11, 2025
More Decks by ツルオカ - Hideki Tsuruoka
See All by ツルオカ - Hideki Tsuruoka
AI時代に事業成長を支えるCTOとは
htsuruo
0
69
Google Cloud AI Agent Summit '25 Fall Recap
htsuruo
0
39
Gemini 2.5 Computer Use 入門
htsuruo
0
320
Gemini CLIと仕様駆動開発(SDD)でVibe Codingを堅実化する
htsuruo
3
1.2k
巨人の肩の上で踊れ 〜Virtual Try-On APIに学ぶAI時代の教訓と戦い方
htsuruo
0
32
Google Cloud Next Tokyo '25 Recap
htsuruo
0
29
最近のAI Editor事情とGitHub Copilot for VS Codeのアップデート
htsuruo
0
39
Vibe Coding Day Opening
htsuruo
0
34
NotebookLM 活用ガイド
htsuruo
1
450
Other Decks in Programming
See All in Programming
今さら聞けないCancellationToken
htkym
0
220
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
関係性から理解する"同一性"の型用語たち
pvcresin
2
640
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
440
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
930
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
290
OSもどきOS
arkw
0
450
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
170
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Swiftのレキシカルスコープ管理
kntkymt
0
210
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.7k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
140
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.7k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
550
Practical Orchestrator
shlominoach
191
11k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
130
Designing for humans not robots
tammielis
254
26k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Building an army of robots
kneath
306
46k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Prompt Engineeringの再定義 「Context Engineering」とは Hideki Tsuruoka UpdatedAt 2025.07.11
Contents • Context windowとは(前提知識) • Context Engineeringとは • GitHub Copilot
in VS Codeの例 • Cognition AIのブログでの⾔及 • Donʼt Build Multi-Agents • 12 Factor Agentsへの追加 • Contextの分類・具体例 • まとめ
• Claude Codeで、CLAUDE.mdによるメモリ管理や`/compact`でのコンテキスト圧縮などSNS上での議論を観測 • セッションごとに記憶喪失するので、「前教えたことを覚えていないジュニアエンジニア」と揶揄されることも ◦ LLMは基本ステートレス • CLAUDE.mdのメモリ管理やコンテキストをどう管理するかがCoding Agentの肝に
◦ 例: 1つのタスクごとに`/clear`でコンテキスト破棄する、コミットのたびにコンテキスト破棄する • (その経由もあってか)7⽉頃から「Context Engineering」という⽤語がちらほら⾶び交うようになって気になった 背景 3 ref. https://docs.anthropic.com/en/home
• ⾔語モデルが新しいテキストを⽣成する際に参照できるトークンと⽣成する新しいトークンの合計(≒脳のキャパシティ) • 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万トークンと、他を⼤きく引き離して 最⼤のコンテキストウィンドウを誇る。これは、⼀般的な書籍 数冊分に相当する情報量を⼀度に処理できることを意味し、⻑ ⽂の⽂書読解や要約、複雑なプログラミングコードの分析な ど、これまで困難だったタスクへの応⽤が期待できる。
• プロンプトエンジニアリングを再定義しリブランドされた造語(再定義されただけで全く新しい実装とかではない) • LLM性能が⽇々向上しているが、結局どんなに賢くてもコンテキストが与えられないと正確な回答はできない(⼈間も同様) • プロンプトでLLMに役割や意図を伝えるだけではなく、どんな情報を的確にLLMに与えるかの設計が⼤事という話 Context Engineeringとは 5 ガイドがあるのでまずは⼀読推奨
ref. https://www.promptingguide.ai/guides/context-engineering-guide Prompt Engineeringも包含される概念 ref.https://x.com/dexhorthy/status/ 1933283008863482067
• 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から情報を取得(コンテ キスト付与)して知りたい情報を回答さ せる例
• 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
• 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
• OpenAIの「Swarm」やMicrosoftの「AutoGen」に代表されるAIエージェントフレームワークは間違っているという主張 • 理由はタスクを複数のサブエージェントに分割し、最後に結果を結合するアプローチは「⾮常に脆い」というもの • 単⼀スレッドのリニアな構造にしてコンテキスト圧縮してオーバーフローを防ぐ⽅法が望ましい Donʼt Build Multi-Agents 9
サブタスクに分解する典型的なエージェントの例: 例えば、Flappy Birdのクローン作成タスクで、各サブエージェント が異なる理解に基づくと、最終的な結果は⽭盾したものになる リニアな構造に圧縮したコンテキストを渡すエージェントの例: エージェント構築の原則である「1.コンテキスト共有」と「2.アクションは暗 黙の決定を伴う」を両⽴する1つの⽅法として紹介(これの限りではない)
• 12 Factor Agents: Heroku社が提唱したクラウドネイティブなアプリケーション開発のベストプラクティスをまとめた「12- Factor App」をAIエージェント⽤にアレンジしたもの • LLMはステートレス関数なので「最良の出⼒を得るには最良の⼊⼒が必要」であり、Context Engineeringは理にかなっている
12 Factor Agentsへの追加 10 ref. https://github.com/humanlayer/12-factor-agents 良いコンテキストを作ることとは
• LangChainのブログではコンテキストをwrite, select, compress, isolateに分類して解説 • AIエージェントにおける課題は、ロングランが必要なタスクではフィードバックが効果的だがContext Windowが溢れること • 後半はLangGraph/LangSmithでどう実装するかの内容だが、この記事が体系的でいちばんわかりやすいかも
Contextの分類 11 “Context engineering is the art and science of filling the context window with just the right information at each step of an agentʼs trajectory” ref. https://blog.langchain.com/context-engineering-for-agents/
• 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
• Context Engineeringという⽤語は「プロンプトエンジニアリングを再定義しリブランドされた造語」であり、全く新しい実装を 指すものではないが、エージェント構築において開発者にとって最も重要である • Context Engineeringは「LLMや⾼度なAIモデルがタスクを効果的に実⾏するために、必要な指⽰と関連コンテキストを設計お よび最適化するプロセス」と定義 • プロンプトでLLMに役割や意図を伝えるだけでなく、どのような情報を的確にLLMに与えるかの設計が重要であるという考え⽅に
基づいている • 実際、Claude CodeにおけるCLAUDE.mdによるメモリ管理や/compactでのコンテキスト圧縮など、コンテキストをどう管理 するかがCoding Agentの肝となっている • 12 Factor Agentsにも採⽤されており「最良の出⼒には最良の⼊⼒が必要」の考えから理にかなっている • コンテキストはwrite, select, compress, isolateの4つに分類でき体系的な戦略が⽴てられる まとめ 13
• 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