Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LLM時代の基礎となるコンテキストエンジニアリング入門
Search
oga_aiichiro
March 13, 2026
Technology
75
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LLM時代の基礎となるコンテキストエンジニアリング入門
コンテキストについての理解を深めて、コンテキストエンジニアリングに入門しよう!
X: @oga_aiichiro
oga_aiichiro
March 13, 2026
More Decks by oga_aiichiro
See All by oga_aiichiro
LLMに渡さなかった仕事
nanaism
0
17k
LLMに調べさせ、僕がわかるまでやる。
nanaism
0
38
AIがUIを作る時代に、フロントエンドエンジニアは何を設計するのか
nanaism
0
150
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
460
エンジニアとして長く走るために気づいた2つのこと_大賀愛一郎
nanaism
1
530
ローカルLLM × MCP連携で実現する、原文エビデンス付きドキュメントQAシステム
nanaism
0
150
Findy社のAgent活用成功要因と開発基盤の詳細分析
nanaism
0
130
Other Decks in Technology
See All in Technology
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
190
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
140
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
200
価値について
gree_tech
PRO
0
100
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
660
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
120
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
130
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
会社説明資料
persolserverworks
0
9.8k
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
280
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Being A Developer After 40
akosma
92
590k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Optimizing for Happiness
mojombo
378
71k
The Cost Of JavaScript in 2023
addyosmani
55
10k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Transcript
2 0 2 6 / 0 3 / 1 3
大 賀 愛 一 郎 ( @ o g a _ a i i c h i r o ) LLM時代の基礎となる コンテキストエンジニアリング入門
まずコンテキストウィンドウとは LLMが一度に「見える」情報の範囲のこと。 以下に掲げるすべてが この限られたスペースに収まる必要がある。 C l a u d e
C o d e の サ ブ ス ク に お け る 上 限 200K tokens /context コマンドで確認できるよ! 日本語だと、 だいたい新書1.5冊分くらいの量 入力 プロンプト・ファイル 処理 ツール実行 出力 モデルの応答 すべてがこの「窓」の中に収まらなければ、モデルは情報を認識できない!
「モデルはCPU、 コンテキストウィンドウはRAM」 ── Andrej Karpathy(OpenAI 創設メンバー) https://x.com/slow_developer/status/1808482202746834944 RAMに載っていないデータ → CPUが処理できない
= コンテキストにない情報 → LLMが使えない
デモ みなさんもお手元で試してみてください
claude /context してみる まっさらな状態で
/context してみる なにか会話をして、もう一度
コンテキストが埋まってきた!
M E C H A N I S M LLMは毎ターン、雪だるま式に全履歴を再送信している
LLMには「記憶」がない。会話を続けるには、毎回すべてのやりとりを入力として送り直す必要がある。 1回目 System Q1 → A1 2回目 System Q1 A1 Q2 → A2 3回目 System Q1 A1 Q2 A2 Q3 → A3 4回目 System Q1 A1 Q2 A2 Q3 A3 Q4 → A4 5回目 System Q1 A1 Q2 A2 Q3 A3 Q4 A4 Q5 → A5 System Prompt 過去の質問 今回の質問 過去の応答 今回の応答
D E E P D I V E Context Windowの仕組み
200Kトークンの中で、何がどう配置されているのか
S T R U C T U R E Context
Windowの全体像 Context Window 0 token 200K token User Inputs ls() .... Edit() Outputs User Inputs ユーザーが入力したプロンプトや アップロードしたファイル ls() / Edit() / ... ツール呼び出しの実行結果が 順番に積み重なっていく Outputs モデルが生成した応答テキスト
C O M P O S I T I O
N n回目の呼び出し Context Windowが埋まってしまうと…? User Inputs 0 200K
C O M P O S I T I O
N n回目の呼び出し 過去のInputs Context Windowが埋まってしまうと…? User Inputs ls() .... Edit() Outputs 0 200K
C O M P O S I T I O
N n回目の呼び出し User Inputs ls() .... Edit() Outputs n+1回目の呼び出し 過去のInputs Context Windowが埋まってしまうと…? User Inputs 0 200K 0 200K
C O M P O S I T I O
N 1回目の呼び出し User Inputs ls() .... Edit() Outputs 2回目の呼び出し 過去のInputs Context Windowが埋まってしまうと… User Inputs ls() .... Edit() 0 200K 0 200K
C O M P O S I T I O
N 1回目の呼び出し User Inputs ls() .... Edit() Outputs 2回目の呼び出し 過去のInputs Context Windowが埋まってしまうと… User Inputs ls() .... Edit() 最初の方から 消えていく 0 200K 0
多すぎたらダメな理由は他にもある 汚染 ハルシネーションが履歴に残り、 以降ずっと「事実」として参照され続ける 注意散漫 情報量が多すぎて、本当に重要な部分に 注意を向けられなくなる 混乱 タスクに関係ない情報が 回答に影響を与えてしまう
矛盾 コンテキスト内の情報同士が食い違い、 どちらを信じるか不安定になる 長いセッションで「途中からなんか頭悪くなってきたな」と感じる場合、 これらの問題が実際に起きている 10 / 18 R E A S O N
つまり、モデルを最新版に入れ替えるよりも、 コンテキストの質を上げるほうが 効果が大きい 同じモデルでも、コンテキストの渡し方を改善するだけで 劇的に信頼性が上がるケースが多い
コンテキストエンジニアリングの 4つの戦略 具体的なアプローチ Write 書き出す Select 選ぶ Compress 圧縮する Isolate
分離する
① Write 消えたら困る情報を、コンテキストの外に書き出す CLAUDE.md セッションが変わっても、ルールは毎回読み込まれる。Anthropicのマルチエージェント リサーチャーでも、リードエージェントが最初にやるのは「計画をメモリに書き出すこと」 ② Select 必要な情報だけを選んで渡す ツール定義の制御
エージェントに大量のツールを渡すと、説明文が似たもの同士を混同する。 必要なツールだけ渡すだけで信頼性が上がる
③ Compress 溜まった情報を要約して、本質だけ残す auto-compact コンテキストの約80%に達すると自動で要約が走る。 (ですが、どの情報が抜け落ちるか分からないので、私は推奨しません。早めに/clearしよう!) ④ Isolate 1つのコンテキストに全部詰め込まず、複数に分ける マルチエージェント
分離すると情報の純度が上がり、個々のタスクの精度が高くなる
結論 エージェントが失敗する本当の理由 「エージェントが失敗するとき、原因は2つ。 モデルの能力不足か、適切なコンテキストが渡されていないか。 そしてほとんどの場合、原因は後者だ」 ── LangChain Docs モデルの性能が足りないのではなく、「見せ方」が悪いだけ!
ありがとうございました