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
小さなエージェントから始めてみよう!実践コンテキストエンジニアリング
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
iwamot
PRO
November 10, 2026
Technology
70
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
小さなエージェントから始めてみよう!実践コンテキストエンジニアリング
2026-11-10
AI Agentを使いこなすための設計・実装ノウハウ
https://rosca.connpass.com/event/410646/
iwamot
PRO
November 10, 2026
More Decks by iwamot
See All by iwamot
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
5
310
MCP Appsを作ってみよう
iwamot
PRO
4
870
自己紹介
iwamot
PRO
1
160
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
1.2k
8万デプロイ
iwamot
PRO
2
480
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
170
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
10
3.2k
Developer Certificate of Origin、よさそう
iwamot
PRO
0
140
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版
iwamot
PRO
1
250
Other Decks in Technology
See All in Technology
The Author Pays
hiccupps
0
120
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
190
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
1
850
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
210
[General] 개발자로 해외 기업에서 일하기
skydoves
1
310
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
440
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
120
自治体AIコンタクトセンター、何をどこに任せる?~Amazon Connect Customer +Amazon Bedrockの実践知~ / 20261107 Satoshi Torano
shift_evolve
PRO
1
110
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
210
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
160
Featured
See All Featured
Designing for Performance
lara
612
70k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
760
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
48k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
290
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Why Our Code Smells
bkeepers
PRO
340
58k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
A Tale of Four Properties
chriscoyier
163
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Transcript
小さなエージェントから始めてみよう! 実践コンテキストエンジニアリング 岩本隆史 / @iwamot 2026-11-10 AI Agentを使いこなすための設計・実装ノウハウ https://rosca.connpass.com/event/410646/
自己紹介 岩本隆史 / @iwamot LLM・運用・OSS開発が好きなITエンジニア 共著『[入門]LLMアプリ開発』 アマゾンウェブサービスジャパン → ENECHANGE →
某社 1
小さなエージェントでの コンテキストエンジニアリング実践例
題材:ブログ記事をほめる小さなエージェント 課題感:テックブログを書いても反応が少なく寂しい 解決策:新着記事をSlackでほめる「ブログほめ太郎」 https://tech.enechange.co.jp/entry/2025/08/12/101822 3
おもな処理は4つ 1. 新着記事の全文を取得 2. 記事をほめるレビューを生成 3. レビューをSlackに投稿 4. レビュー済みの記事URLを保存 4
初期実装:ロジックをプロンプトに記述 PROMPT = """ 技術ブログの筆者を励ますレビューを書いてください。 1. 新着記事の全文を取得する 2. 記事をほめるレビューを生成する 3.
レビューをSlackに投稿する 4. レビュー済みの記事URLを保存する """ agent = Agent(model=BedrockModel(), tools=[http_request, rss, slack, use_aws]) agent(PROMPT) ※ 説明用に簡略化(以降同じ) 5
あとはStrandsがよしなに処理 Strandsがループを制御 ② 選んだツールを実⾏ 呼び出し元 ① プロンプトを⼊⼒ ④ 完了したら回答 LLM
次の処理を判断 ツール 記事取得‧Slack投稿など ③ 実⾏結果を返却 ※ Strands:AWSが公開しているエージェント開発SDK 6
初期実装としては満足 技術的興味:Strandsならプロンプト主体で実現できそう → 達成 安い:1回の実行で数十円 7
数か月後、なんとなくトレースを実施 → 違和感 LLM呼び出し 入力トークン 1回目 791 2回目 1,332 3回目
2,602 4回目 15,968 5回目 16,595 6回目 17,038 計54,326トークン ※ StrandsのOpenTelemetry連携とJaegerで確認。手順は https://tech.enechange.co.jp/entry/2025/12/01/000000 を参照 8
トークン削減の候補が2つ! LLM呼び出し 入力トークン 処理 必要な情報 不要な情報 4回目 15,968 レビュー生成 記事本文
HTMLタグ 5回目 16,595 Slack投稿 レビュー結果 記事本文 + HTMLタグ 6回目 17,038 URL保存 記事URL 記事本文 + HTMLタグ + レビュー結果 記事のHTMLタグがトークンを消費 不要になった情報が会話履歴に残留(影響大) 9
改善1:マルチエージェント化(必要な情報のみ受け渡し) new_article_finder("新着記事のURLリストを取得してください") article_reviewer(f"この記事をレビューしてください:{url}") slack_publisher(f"以下のレビューを投稿してください:\n\n{reviewer_output}") last_article_recorder(f"記事URLを {urls[-1]} に更新してください") https://tech.enechange.co.jp/entry/2025/12/01/000000 10
改善2:記事全文のMarkdown化(HTMLタグの削減) ARTICLE_REVIEWER_PROMPT = """ あなたは技術ブログ記事をレビューする専門エージェントです。 1. http_requestツールで当該記事の全文を参照する - convert_to_markdown=Trueを必ず指定すること (略)
""" 11
結果、入力トークンが半減 レビュー⽣成 計54,326トークン レビュー⽣成 計25,568トークン ※ 1回の実行でのサンプル比較。LLMのコストは約31円 → 約18円 12
振り返れば、これもコンテキストエンジニアリング isolate compress 改善1:マルチエージェント化 改善2:記事全文のMarkdown化 コンテキストを分割する write コンテキストウィンドウの外に情報を保存する タスクに必要なトークンだけを保持する select
情報をコンテキストウィンドウに取り込む 参考:https://www.langchain.com/blog/context-engineering-for-agents 13
今の自分が、さらに改善するなら
案1:「レビュー生成」以外はコード化 コード LLM コード 記事本文取得 → レビュー生成 → Slack投稿 コード
→ 記事URL保存 当時は面倒だったが、今なら短時間でコーディング可能 決定論的に書くことで挙動が安定 トークン消費も最小限 15
案2:レビュー結果の評価にトライ コンテキスト変更 → LLMの生成品質も変わる可能性 ほめ太郎では、厳密な品質評価は不要 評価が必要なエージェントに備え、まずは練習 16
経験から伝えたいこと
小さなエージェントから始めてみよう! 小さくても、コンテキストエンジニアリングは十分に実践可能 まずは、手元のエージェントからトレースを 改善の積み重ねが、より大きなエージェントに挑む土台に 18