いつも記事を読んでいただきありがとうございます!
モブエンジニア(@mob-engineer)です!
今回は2025.02.14(金)に開催したBedrock Night 2025 〜AIエージェント祭り!〜に参加しましたので、アウトプットとしてイベントレポートを執筆しました。
初学者でもサクッと読めるように平易な表現で執筆しておりますので、お気軽に読んでいただければ幸いです。
誤字脱字、分かりづらい表現に関しては極力なくすように心がけていますが、リアルタイムで執筆しているため、誤字脱字があるかもしれません。
イベントレポート
目次
- LT
- LT1「7分で分かる!Amazon Bedrock Agentsの仕組み解説」
- LT2「Bedrockマルチエージェントによる回答精度の向上」
- LT3「エージェントとナレッジベースで提供する新たなユーザーインターフェース」
- LT4「Bedrock Agentsレスポンス解析によるAgentのOps」
- LT5「[Bedrock×LangGraph] AIエージェントはまともなエッセイを作れるか」
- LT6「Amazon Bedrockでブラウザを操作するAIエージェントを作ってみた」
- Bedrockのお悩み相談ディスカッション
- まとめ
LT
LT1「7分で分かる!Amazon Bedrock Agentsの仕組み解説」
参考サイト
- 自己紹介
- HBA社所属のエンジニアの方
- JAWS-UG Tokyo初登壇の方
- Amazon Bederockとは
- アプリケーションへ組み込み可能なLLMベースのAIエージェント構築ツール
- 基本動作は前処理⇒オーケストレーション⇒後処理の流れ
- RAGを利用すれば、会話履歴を踏まえた回答も実現可能
- ReAct手法に基づいて観察⇒計画を繰り返す
- プロンプトとParser Lamdbaの実行
- メリット
- 機能に関する理解を深められる
- デバックやトラブルシューティングが行える
- 独自のカスタマイズが実行出来る
- 挙動
- JSON形式のフォーマット
- 前処理プロンプトをのぞいてみると、プロンプトでルールを決めている
- メリット
- まとめ
- Agentsは前処理⇒オーケストレーション⇒後処理の3フェーズがある
- プロンプトは管理コンソールからParser Lamdbaユーザガイドでチェックできる
LT2「Bedrockマルチエージェントによる回答精度の向上」
登壇資料
- 自己紹介
- Devinを使ってリファクタリングしている
- 体重の変動が激しいエピソード
- シングルエージェントの課題
- 単純なタスクであれば対応可能だが、複数タスクは難しい
- 回答精度もそこまで高くない可能性がある
- 解決策としてマルチエージェントが重要
- マルチエージェント
- エージェント間で役割分類を行っている
- 回答生成エージェント:回答生成を担当している
- 検証エージェント:回答の事実誤認を確認している
- エージェント間で役割分類を行っている
- 実装事例
- 会計OCR
- 今まで
- PDF・プロンプトをLLMに食わせて出力させていた
- 税額取得が上手くいかない
- エージェント利用
- 上記システムを複数組み合わせてみた
- 取得精度を向上させることが出来た
- 今まで
- 会計OCR
LT3「エージェントとナレッジベースで提供する新たなユーザーインターフェース」
参考サイト
- 自己紹介
- Nint所属の方
- ハリネズミのアイコンの方
- プロダクト紹介
- Nint ECommersでBedrockを利用している
- プロダクトとしてECSなどを用いて構築している
- プロンプト最適化
- 料金サンプルを見るとそこまで回数を試せない
- 曖昧なプロンプトを投げても期待通りの回答が得られない
- ユーザ体験としてよろしくない
- 試してみた
- 最初は自分で考えてみたがそこまで良くなかった
- re:Inventのアップデートにあった、プロンプト最適化を活用してみた
- あいまいな質問が来たときにプロダクト名を認識してくれない
- プロンプト自体にプロダクト名をつければいいのでは
- 結果として最適化が実現出来た
- まとめ
- エージェント名にプロンプト名をつけましょう
LT4「Bedrock Agentsレスポンス解析によるAgentのOps」
登壇資料
参考サイト
- 自己紹介
- 三菱電機の方
- MAWS-UG(三菱電機内のAWSコミュニティ)運営の方
- Bedrockエージェントの動作
- ユーザ視点からはプロンプトと回答のみしか見えない
- 動作を可視化することで期待通り動くか検証してみた
- ユーザ視点からはプロンプトと回答のみしか見えない
- Bedrock Agentsのレスポンス解析
- Langfuse・Ragasを利用
- Langfuse:動作をトレース・可視化してみる
- ragas:回答結果を評価する
- エージェント評価向けに3つのメトリクスを利用
- Agent Goal:Accuacy:期待する結果かどうかをバイナリで評価
- Tool Call Accuacy:期待したツールを利用して生成したか評価
- ざっくり言えば、順序通り実行しているか見ている
- 動作確認する際、OrchestrationsTraseのみを利用している
- 内部にユーザ情報がまとめられている
- Langfuse・Ragasを利用
- 評価してみた
- エージェント実行時の処理フローはLangfuseで実行
- 評価結果に関してはRagasを用いて評価
- 可視化してみたことで、出来ていること・出来ていないことが可視化できた
- まとめ
- 可視化してみることでAgentOpSのとっかかりをつかむことが出来た
LT5「[Bedrock×LangGraph] AIエージェントはまともなエッセイを作れるか」
登壇資料
参考サイト
- 自己紹介
- 現在インフラ設計・構築を担当している
- LangGraphが趣味の方
- 登壇経緯
- 登壇にこじつけて、Agentic Workflow開発をしたい
- 最初は趣味レベルで開発していた
- その中で、実務で利用出来るレベルの開発を行ってみたくなった
- 自律型AIエージェントを開発してみた
- 登壇応募したら通ったのでLT駆動開発を行った
- LangChainとは
- LLMベースのワークフロー構築や入出力制御を行うアプリ
- LangGraphの基本
- Stateを参照・後進しながらGraphの処理フローを制御する
- LangChainと組み合わせれば柔軟な運用が実現可能
- エッセイ生成ツールを作ってみた
- ドラフトの品質向上のために批評ノードが重要
- 評価に関しては論文から引用した
- Bedrockと組み合わせる理由
- AWSの他サービスと組み合わせることが出来る
- サービスの拡張性を高めることが出来る
- まとめ
- LangChain・LangGraphは楽しいぞ
LT6「Amazon Bedrockでブラウザを操作するAIエージェントを作ってみた」
登壇資料
参考サイト
- 自己紹介
- アイレッド所属の方
- 次世代監視基盤(AMS)の開発担当している方
- JAWS-UGオフライン登壇は初
- 技術スタック
- AWS SDK for Pythonを利用して構築
- 関数定義⇒Converse APIを実行する方式
- やってみて
- 本番環境においてはサンドボックス環境で行う
- 検証・開発環境で実行する場合はリスクを承知する
- Webスクレイピングを実行する場合はアクセス先の利用規約を確認する
- アクセス先に高負荷を与えない
- デモ
- Google検索を試してみた⇒ロボット認定されてNGだった
- 実はMicrosoft製品でも試してみた
- 認証周り
- AIと人のアイデンティティ情報をわけるひつようがあるのでは
- Oktaでも示唆している
- まとめ
- ブラウザ操作するAIエージェントを試してみた
- 理想のAIエージェント像が見えてきたかもしれない
Bedrockのお悩み相談ディスカッション
- アンケート結果
- モデル関連・RAG関連が多かった
- AWS全体の動向
- re:InventのKeynoteでフィードバックを重要視している
- エンジニアが価値を届けるためにBuilding Blocksが機能しているかが重要
- どのフェーズでどのような困りごとがあるのかを知りたい
- re:InventのKeynoteでフィードバックを重要視している
- アンケート結果
- NovaでJSONモードを対応したい
- 開発に関しては進んでいる
- Novaに限らず、強制的にJSONで返す機能を実装していく
- Claude一択なのはどうか
- 正直、AWSとしても気にしている
- Novaなどのモデル開発を行っている
- おすすめモデルは
- コヒアがおすすめ(Party Rockで触れる)
- ナレッジベースのデータソース・ベクトルストアの組み合わせを拡充してほしい
- Auroraを利用するのがいいと思う
- Kendra GenAI の値下げに加えて日本語対応を
- ナレッジベースを利用すれば日本語対応できるかと
- エージェントのアクショングループでLamdba構築を行うが手間取ってしまうのでその部分もフォローするエージェントがあると嬉しい
- Step Functionを利用する
- エージェントメインのユースケースは検索ではないか?
- 安全性を考慮したシステム設計を行うこともいいので
- LangSmithのようなトレース管理機能を提供してくれると嬉しい
- 生成AIで利用しているテレメトリーをダッシュボードを提供するのがあるべき姿
- AWSとしても将来的に実装を進めていくことを考えている
- CloudWatchと統合してくれればありがたい
- モデル評価がオンラインでは使い物にならない、トレースにも統合したい
- LLM as a Judgeと同じようになっていくのではないか?
- UI革命も同時に行っていくことが大切なのではないか?
- LLM as a Judgeと同じようになっていくのではないか?
- 料金の目安について
- Bedrock単体であれば、そこまでコストはかからない
- エージェントを走らせようとすると、コストがかかってしまう
- 東京リージョンは恵まれている
- 恵まれているのは事実、他国からせっつかれている
- 東京リージョンでも利用出来るようにしたい
- 公共系であれば国内利用しか出来ないため
- ドキュメントの翻訳がおかしい
- 翻訳がおかしいと言った投稿を見たらSAが必死に修正している
- 年齢制限に関して
- モデルとアプリは別と考えている
- バッチ推論の利用方法は
- 営業メール生成などの事例はある
- Bedrock(岩盤)
- ビジネスの岩盤となるようにすると言った意味合いがあった
- NovaでJSONモードを対応したい
まとめ
Bedrockに関して、先週のハンズオンイベントから本格的に触り始めたのですが、今回のセッションを通じてどのような活用シーンがあるのかや他技術スタックと組み合わせた使い方に関してキャッチすることが出来ました。
そのうえで、自身で何かしらのアプリ開発を行ってみたいと思っていますので、今回取り上げられた技術をなめてみたいと思いました!!
最後までお読みいただきありがとうございました!!
PS:
来月オンラインでBedrock Nightが開催予定
https://jawsug.connpass.com/event/345497/
AWS生成AIアプリ構築に関する書籍出版
https://www.amazon.co.jp/dp/4296205234
みのるん本第三刷決定!