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
Bedrockのプロンプト管理どうしてる?
Search
Har1101
June 20, 2025
2.1k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Bedrockのプロンプト管理どうしてる?
6/20(金) JAWS-UG 名古屋 6月会「AWSユーザーが繋がるOST&LT夜会」での登壇資料です
Har1101
June 20, 2025
More Decks by Har1101
See All by Har1101
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
520
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
520
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
560
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
220
エージェンティックRAGにAWSで入門しよう!
har1101
9
2.3k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
7
1.9k
AgentCore Registry入門~マルチアカウントでどう使うの~
har1101
1
130
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
650
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
4
800
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Embracing the Ebb and Flow
colly
88
5.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
BBQ
matthewcrist
89
10k
Building AI with AI
inesmontani
PRO
1
1.2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
A Modern Web Designer's Workflow
chriscoyier
699
190k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
So, you think you're a good person
axbom
PRO
2
2.2k
Building the Perfect Custom Keyboard
takai
2
870
The Invisible Side of Design
smashingmag
301
52k
Transcript
Bedrockのプロンプト管理どうしてる? 2025/06/20 (金) JAWS-UG 名古屋 6月会「AWSユーザーが繋がるOST&LT夜会」 福地開
Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社
年次:3年目 業務:インフラエンジニア、少しだけLLM触る人 活動:AWS Community Builders (AI Engineering)
今日話すこと ◆LLMアプリやAIエージェントシステムにおけるプロンプト管理 • プロンプト管理の概要と、必要な理由 • プロンプトと評価 • 具体的な管理方法 • 簡単な使い方のTips
※プロンプトエンジニアリングのお話はしません ※試料中で「プロンプト」と記載しているものは「システムプロンプト」のことを指します ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります
プロンプト管理とは? なぜ必要なのか?
前提知識:システムプロンプト ◆「あなたは〇〇なAIですよ、こういうことしてくださいね」 という指示を書くもの • システムプロンプトは、モデルの役割、機能、制約に関する高レベルの指示 を提供します。 これにより、会話全体を通してモデルがどのように動作するかの基礎が設定 されます。(https://strandsagents.com/0.1.x/user-guide/concepts/agents/prompts/ )
前提知識:システムプロンプト ◆「あなたは〇〇なAIですよ、こういうことしてくださいね」 という指示を書くもの • システムプロンプトは、モデルの役割、機能、制約に関する高レベルの指示 を提供します。 これにより、会話全体を通してモデルがどのように動作するかの基礎が設定 されます。(https://strandsagents.com/0.1.x/user-guide/concepts/agents/prompts/ ) ◆ややこしいポイント:ユーザーメッセージもプロンプトと言われる
前提知識:システムプロンプト ◆「あなたは〇〇なAIですよ、こういうことしてくださいね」 という指示を書くもの • システムプロンプトは、モデルの役割、機能、制約に関する高レベルの指示 を提供します。 これにより、会話全体を通してモデルがどのように動作するかの基礎が設定 されます。(https://strandsagents.com/0.1.x/user-guide/concepts/agents/prompts/ ) ◆ややこしいポイント:ユーザーメッセージもプロンプトと言われる
プロンプト管理とは ◆ソースコードとは別でプロンプトを管理すること • よくあるケース:コード内にプロンプトベタ書き(ハンズオンなど) https://strandsagents.com/0.1.x/user-guide/concepts/agents/prompts/
プロンプト管理とは ◆ソースコードとは別でプロンプトを管理すること • よくあるケース:コード内にプロンプトベタ書き(ハンズオンなど) • プロンプト管理:ソースコードとプロンプトを別で管理すること https://qiita.com/minorun365/items/9d0d11f0ecb4c29924d5
プロンプト管理とは ◆ソースコードとは別でプロンプトを管理すること • よくあるケース:コード内にプロンプトベタ書き(ハンズオンなど) • プロンプト管理:ソースコードとプロンプトを別で管理すること なぜ別で管理する必要が?
プロンプト管理とは ◆ソースコードとは別でプロンプトを管理すること • よくあるケース:コード内にプロンプトベタ書き(ハンズオンなど) • プロンプト管理:ソースコードとプロンプトを別で管理すること なぜ別で管理する必要が? →評価、ひいてはLLMOpsに関わるため
プロンプトと評価
そもそも「評価」って何? ◆大前提:AIが生成した回答の正解は1つではない • (例)世界で一番高い山は?という問いに対して…
そもそも「評価」って何? ◆大前提:AIが生成した回答の正解は1つではない • (例)世界で一番高い山は?という問いに対して… AI「エベレストです」→正解 AI「ヒマラヤ山脈にあるエベレストです。その標高は8848mで〜」→正解 AI「1位はエベレスト、2位はK2、3位はカンチェンジュンガです」→正解
そもそも「評価」って何? ◆大前提:AIが生成した回答の正解は1つではない • (例)世界で一番高い山は?という問いに対して… AI「エベレストです」→正解 AI「ヒマラヤ山脈にあるエベレストです。その標高は8848mで〜」→正解 AI「1位はエベレスト、2位はK2、3位はカンチェンジュンガです」→正解 • だが、どの回答を求めているかは利用者による
そもそも「評価」って何? ◆大前提:AIが生成した回答の正解は1つではない • (例)世界で一番高い山は?という問いに対して… AI「エベレストです」→正解 AI「ヒマラヤ山脈にあるエベレストです。その標高は8848mで〜」→正解 AI「1位はエベレスト、2位はK2、3位はカンチェンジュンガです」→正解 • だが、どの回答を求めているかは利用者による ◆評価:AIの回答において「何を正解とするか」を定める行為
• 人間側で「正解」を設定し、そこからどのくらい差が生じているかを 定性的・定量的に判断する必要がある • 回答に有害な内容やハルシネーションが含まれていないかをチェックする (責任あるAI)
そもそも「評価」って何? ◆大前提:AIが生成した回答の正解は1つではない • (例)世界で一番高い山は?という問いに対して… AI「エベレストです」→正解 AI「ヒマラヤ山脈にあるエベレストです。その標高は8848mで〜」→正解 AI「1位はエベレスト、2位はK2、3位はカンチェンジュンガです」→正解 • だが、どの回答を求めているかは利用者による ◆評価:AIの回答において「何を正解とするか」を定める行為
• 人間側で「正解」を設定し、そこからどのくらい差が生じているかを 定性的・定量的に判断する必要がある • 回答に有害な内容やハルシネーションが含まれていないかをチェックする (責任あるAI) • 「評価は継続的な道のりである(Evals is a continuous journey)」
評価方法って2種類あんねん ◆オフライン評価 • 用意した模範解答と、AIが出力した回答を照らし合わせる(できれば数値化) • プロンプト・モデル・パラメータなどを変更する前後で比較する • LLM as a
Judge など、AI自身に回答を評価させる手法もある • MCP Server as a Judge も選択肢の1つ https://speakerdeck.com/pharma_x_tech/llmapurikesiyonnoping-jia-toji-sok-de-gai-shan https://speakerdeck.com/licux/mcp-server-as-a-judge
評価方法って2種類あんねん ◆オフライン評価 • 用意した模範解答と、AIが出力した回答を照らし合わせる(できれば数値化) • プロンプト・モデル・パラメータなどを変更する前後で比較する • LLM as a
Judge など、AI自身に回答を評価させる手法もある • MCP Server as a Judge も選択肢の1つ ◆オンライン評価 • 人間(特に利用者)が実際に使った上で結果を評価する • 簡単なもので言えば、Good/Bad • よりリアルなフィードバックを得られるので、可能な限り実施したい →結局、使う人間の感覚次第で良いか悪いかは決まる (コーディングエージェントにおいてベンチマークばかり見るのではなく 自分で試してみろ、と言われていることからも)
評価と改善のサイクル=LLMOps ◆評価って設計段階から考えるの? ◆考えておいたほうが良い • 少なくとも現状、LLMアプリは「リリースして終わり!」にはならない • 評価+改善のサイクル(LLMOps)が一生付き纏う (進化が早すぎる…) 実装 テスト
評価 改善
評価と改善のサイクル=LLMOps ◆評価って設計段階から考えるの? ◆考えておいたほうが良い • 少なくとも現状、LLMアプリは「リリースして終わり!」にはならない • 評価+改善のサイクル(LLMOps)が一生付き纏う(進化が早すぎる…) ◆改善対象の1つにプロンプトが存在する • 精度が低い→もう少し具体的な指示にしてみよう
• 新しいモデルが出た→今までと同じプロンプトで良いのか? • 評価の際には、旧バージョンと新バージョンのプロンプトを比較する →プロンプトのバージョン管理が重要! 実装 テスト 評価 改善
コード内にプロンプトをベタ書きしていたら? • 毎回アプリケーションそのものの更新が必要になるのが面倒 • ドメインエキスパートがプロンプト修正する時のハードルとリスクが上がる • プロンプト単位でのバージョン管理が困難になる →正確な評価を実施するのが難しくなる
コードとプロンプトを別で管理する • アプリケーションの更新とプロンプトの更新を別にできる →プロンプト単位でのバージョン管理が可能! →正確な評価を実施しやすくなる! • ドメインエキスパートなど、非エンジニア職とアプリケーションロジックを遠ざ けつつ、プロンプト改善を容易にできる!
具体的な管理方法
Bedrock Prompt Management(プロンプト管理) ◆プロンプトの設定とテスト、バージョン管理ができる機能 • プロンプト・パラメータ変更と動作確認がコンソール上で簡単にできる
Bedrock Prompt Management(プロンプト管理) ◆プロンプトの設定とテスト、バージョン管理ができる機能 • プロンプト・パラメータ変更と動作確認がコンソール上で簡単にできる • プロンプト単体でのバージョン管理が可能
Bedrock Prompt Management(プロンプト管理) ◆プロンプトの設定とテスト、バージョン管理ができる機能 • プロンプト・パラメータ変更と動作確認がコンソール上で簡単にできる • プロンプト単体でのバージョン管理が可能+バージョン指定で呼び出し可能
コードとプロンプトを別で管理する • アプリケーションの更新とプロンプトの更新を別にできる →プロンプト単位でのバージョン管理が可能! →正確な評価を実施しやすくなる! • ドメインエキスパートなど、非エンジニア職とアプリケーションロジックを遠ざ けつつ、プロンプト改善を容易にできる! 再掲
Langfuseでのプロンプト管理&LLMOps ◆LLMアプリの構築・改善を支援するためのプラットフォーム • 機能の1つとして、プロンプト管理がある • これももちろんLambdaなどから利用可能 • LLMOpsに特化しているため、かなり機能が豊富 →プロンプト管理がしたいだけであればオーバースペック •
ただ、評価と改善のサイクルをスムーズに回したい場合はかなり有用
Langfuseでのプロンプト管理&LLMOps ◆外部ツール(OSS)だが、AWS環境上でセルフホストが可能 • 自社のAWS環境に閉じた利用が可能 • 詳しくはKAG tuboneさんの記事参照 https://tubone-project24.xyz/2024-12-30/Langfuse- v3%E3%82%92AWS%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%89%E3%82%B5%E3 %83%BC%E3%83%93%E3%82%B9%E3%81%A7%E4%BD%9C%E3%82%8B
簡単な使い方のTips
①呼び出し方が少し特殊 ◆BedrockのConverse APIやInvokeModel APIで呼び出すのは同じ ◆変わるのは、modelIdの書き方 • 普通は、基盤モデルのIDを書く
①呼び出し方が少し特殊 ◆BedrockのConverse APIやInvokeModel APIで呼び出すのは同じ ◆変わるのは、modelIdの書き方 • 普通は、左のように基盤モデルのIDを書く • Prompt Managementを使う場合は、PromptのARNとバージョンを指定
②変数を使おう ◆変数を使って、プロンプトへの入力を動的に変化させられる ◆ユーザーからの入力や、DBのデータなどを入れると良さそう
◆プロンプト管理についてお話しました • プロンプト管理の概要と、必要な理由 • プロンプトと評価 • 具体的な管理方法 • 簡単な使い方のTips ◆プロンプト1つ取っても、意外と考えることがある!
◆ハンズオンの時にでもちょっと挑戦してみてはいかがでしょうか? まとめ