はじめに
皆様、あけましておめでとうございます。
昨年からブログ投稿にチャレンジしてみましたが、雀の涙ほどの頻度でしたので、今年はもっと更新できるように頑張りたいと思います。
とっかかり
Bedrock AgentCoreがGAされてから数か月たっておりますが、個人的には正直ほぼキャッチアップできていない状況でした。
そんな中、以下の記事がSNSで流れてきまして、非常に興味深い内容であったため、重い腰を僅かながら上げました。
参考文献
記事の中に資料があるのですが、それが150ページ超えの力作なのです。
それでいて分かりやすい!!なおかつ継続的にアップデートされる想定とのことです。至れり尽くせりですね。
興味がある方は是非とも、また私と同じような境遇の方はとりあえず読んでみてください。
なお、本資料を拝読した後に、手も動かしたいなと思い、後続のワークショップを実施しました。
ハンズオン
AWS公式の下記ワークショップを実施しました。
公式のワークショップは様々な要素から正直当たり外れありますよね・・・(小声)
個人的に下記の観点から本ワークショップは優良だと思いました。
・日本語対応済み
・シナリオにシーケンス図あり(分かりやすい)
・VSCode Serverを作成したうえでの実施手順
ー 個人PC等の弱小スペックではストレスになる可能性がある
ー 端末の環境依存などで本来の趣旨と異なる箇所で躓いたりすると面倒でやる気も失せる
ー 必要なくなったら消せばいいだけで自由度が高い
※もちろん多少のコストは発生しますが、上記メリットの方が勝つので個人的には好き
・AgentCoreの主な機能をある程度触れることができる(はず)
ただ、ちょっとした留意点もあります。
本ワークショップのVSCode ServerはEC2をオリジンとしたCloudFrontを用いた構成となっており、途中でEC2を停止するとDNS名が変わってしまい、オリジンへのアクセスができなくなります。
その際は、EC2起動後にパブリックDNS名をコピーし、オリジンドメインを変更する必要があります。
私は夕方に着手したのですが、夜に外で予定があったので、その際ケチ癖を発動しEC2を停止してしまいました。
その後、EC2を起動してVSCode Serverに接続しようとしたら504エラーに遭遇しました。
まあ、全体通してもそんなに時間がかかる内容ではないので、一度でやりきっちゃうのが良いと思います。
また、上述の資料を見ながらハンズオンを実施することで、ここはこういうことだったのか。という形で随時振り返りながら進めることができました。
結構これが良かったです。
内容
6つのLabに分かれています。
ざっくりは以下の通りです。
Lab 1: Code Interpreter - 計算するエージェント
コスト見積りを行うエージェントを構築します。
最終的には「パン屋のWebサイトをHTMLでなるべく安く作りたい」といった自然言語を受けて、エージェントがコードを作成し、アーキテクチャの提案や想定費用を算出してくれます。
作成したコードの実行をCode Interpreterで実行されるということですね。
Lab 2: AgentCore Runtime - クラウドへのデプロイ
Lab1のエージェントを AgentCore Runtime にデプロイします。
Starter Toolkit を使用します。
agentcore configure でデプロイの設定、agentcore launch でデプロイを行い、マネコンおよびagentcore invoke でエージェントの実行を行います。
Lab 3: Identity - AI エージェントのための認証認可
デプロイしたエージェントに対し、OAuthによる認可フローを設定します。
Cognitoを構築し、AgentCore Identityと連携させ、AgentCore Runtimeを認可なしで起動できないようにします。
Lab 4: Gateway - 外部サービスを MCP に変換し接続する
SESを用いてLambdaで実装したメール送信処理をAgentCore Gatewayを介してエージェントが利用できるようにツール化(MCP)します。
最終的にはLab2でデプロイしたエージェントの見積り結果をメールで通知してくれます。
Lab 5: Observability - モニタリングとデバッグ
Lab2のエージェントの処理の一連の過程をトレースできます。
みんな大好き可視化ですね。
本件に限った話ではないのですが、ここ数年オブザーバビリティの進化が目まぐるしくて、マネコン上のCloudwatchが結構変わり果てているまま見過ごしているので、これもこれでキャッチアップせねばと痛感しています。。
Lab 6: Memory - AgentCore Memoryを使用したコスト見積もりエージェント
過去の見積もりを比較する短期記憶(compare)と、ユーザーの好みを元にしたアーキテクチャ提案を依頼する長期記憶(propose)を実装しました。
まとめ
今回はまとめ資料を拝読しハンズオンを実施しました。
資料で概要から各機能の特徴やTipsを学び、ハンズオンで実際に触れてみましたので、実施前と比べると遥かに解像度は上がったものと思います。
とはいえ、しっかり理解できてる部分はごくわずかで、まだはじめの一歩を踏み出せたレベルですので、今後もキャッチアップできればと考えています。