アーキテクチャについて語るのは楽しい ~ AWS W-A Mini Bootcamp 生成AIレンズ編 ~

開発技術部の柴田です。 先日、AWS Ambassadors / Top Engineers限定で開催されたワークショップ「AWS W-A Mini Bootcamp 生成AIレンズ編」に参加しました。

生成AIを利用したアプリケーションがPoCのフェーズから、サービス提供のフェーズに移っていく中で新しい壁を感じている方もいるのではないでしょうか。 このBootcampでは、そういった生成AIを利用したアプリケーションを運用する上での課題を「具体的なリスク」として炙り出し、乗り越えていくためのヒントを得ることができました。

AWS Well-Architected Frameworkとは

ご存知の方も多いかもしれませんが、AWS Well-Architected (W-A) Frameworkとは、AWSが長年の経験に基づき、クラウドアーキテクチャの設計・運用を評価・改善するための「考え方と規範的なアドバイス」を提供するベストプラクティス集です。

このフレームワークを元に、システムをレビューする活動をW-Aレビューと呼びます。

AWS W-A Frameworkをもう少し詳しく知りたい方は、以下の入門動画がおすすめです。

www.youtube.com

生成AIレンズとは

AWS W-A Frameworkには、特定の業界や領域に特化した「レンズ」と呼ばれる拡張があります。 生成AIレンズはその1つで、生成AIワークロードの設計、開発、デプロイ、運用に関するベストプラクティスをまとめたものです。 モデルの選定、プロンプトエンジニアリング、バイアスへの対策など、生成AI特有の課題に焦点を当てています。

docs.aws.amazon.com

AWS W-A Mini Bootcampとは

W-A Mini Bootcampは、架空の企業のシナリオに基づき、W-Aレビューの一部の質問だけをレビューするワークショップです。 単にレビューのやり方やベストプラクティスを学べるだけではなく、グループディスカッションを通して正解のない課題に対してどうアプローチするか、コストや運用負荷といったトレードオフをどう判断するかなど、実践的な知識も学ぶことができます。

議論の一例

私たちのグループで盛り上がったのは「プロンプトの管理をどうするのか」でした。 生成AIを使うアプリケーションでは、より良い結果のためにプロンプトを更新したり、モデルの更新に合わせてプロンプトを更新したりと、プロンプトを変更したいタイミングが多々あります。 そのため、アプリケーションのコードの中にプロンプトを埋め込むよりも、アプリケーションの外部にプロンプトを保存しそれを読み込む形にしたいと意見が一致しました。

そこで、課題になったのが「プロンプトの管理をどこで行うのか」でした。 出てきたアイデアとしては「AWSなのでAmazon Bedrock Prompt Managementを使う」「S3で管理する」等です。 同時にそれらの手法を選ぶ上で、Gitのようなバージョン管理とCI/CD、Infrastructure as Codeのワークフローとどう整合性を取るかについても議論が白熱しました。

非機能要件を整理するのに最適

今回のBootcamp参加で改めて感じたのは、W-Aレビューは非機能要件を整理するのに最適だということです。 システムの構築には難しい部分が多数ありますが、その中でも非機能要件の整理はトップレベルに難しい課題だと感じています。

W-Aレビューが全てを解決するわけではありませんが、多くの非機能要件を整理するのに適した活動だと思います。

さいごに

タイトルにも書きましたが、アーキテクチャについて人と語るのはとても面白かったです。 AWSのベストプラクティスは押さえているメンバー同士のため議論のテンポもよく、何より仕事にありがちなしがらみを忘れて語れるのが最高でした。

実際の業務では、コストや会社的な事情でなかなか無邪気に提案しづらいこともあります。 しかし、Bootcampでは架空のシナリオなので話は別です。 「この運用はダメですね」「もっとこうすべき」と、良い意味で「無責任」に理想を語り合い、既存の構成に遠慮なくダメ出しができます。 そんな普段はなかなか味わえない「純粋な技術的アプローチ」を楽しめるのも、このBootcampならではだと感じました。 また、異なる視点からのアイデアや、実際に生成AIサービスを運用している方ならではの知見など、一人では気づけない学びがたくさんありました。

是非皆さんも機会があればAWS W-A Mini Bootcampに参加することをおすすめします。