
【セッションレポート】AWS Amplify で加速する生成 AI アプリケーション開発(AWS-16) #AWSSummit
AWS Summit Japan 2025 の Day1 で発表された以下のセッションのレポート記事です。
AWS Amplify で加速する生成 AI アプリケーション開発(AWS-16)
セッションの概要
生成 AI はフルスタック開発を大きく変革しています。このセッションでは、新しく一般提供を開始した Amplify AI Kit を中心に、Amazon Q Developer、Amazon Bedrock がどのように連携して生成 AI アプリケーションの構築を効率化するかをご紹介します。クラウドアーキテクチャや機械学習の専門知識がなくても、インテリジェントな検索、要約、コンテンツ生成、インタラクティブなチャットボットなどの AI 機能を簡単に実装できる方法を動画を交えてご覧いただけます。また、Amazon Q Developer と AWS Amplify Gen 2 の組み合わせによる開発プロセスの効率化についても解説します。
※セッションページより引用
セッションレポート
アジェンダ
- AWSの生成AIスタック
- AWS Amplify Gen2 概要
- 開発者ごとのクラウドサンドボックス
- プリセットされた認証基盤とデータモデル
- AWS Amplify AI Kit 概要と活用方法
- 会話型検索体験の実現
- Amazon Q Developer を利用した開発者体験
AWSの生成AIスタック
- AWS上での生成AIスタックは、大まかに以下の3つに分類
- 高性能コンピューティングリソースや、Amazon SageMaker などのモデル構築/トレーニングのインフラ
- Amazon Bedrock のような生成AIアプリケーションのためのツール
- Amazon Q Business/Developer のような生産性向上のためのアプリケーション
AWS Amplify Gen2 概要
- Gen2では、以下のようなことが新しくできるように
- データや認証、ストレージなど全てをTypeScriptで構築できるフルスタック開発
- AWS CDK ベースのため拡張性が高い
- Git プッシュごとに自動デプロイ
- 開発者ごとに個別のサンドボックス環境を提供
開発者ごとのクラウドサンドボックス
- フルスタック x 開発者ごとの個別のサンドボックスによって、バックエンドまで開発者ごとに分離できる。
- ブランチごとの自動デプロイと合わせて、開発者体験が向上
プリセットされた認証基盤とデータモデル
- Amplify Data
- 型安全なデータモデリング、データ取得
- 簡単に実装できる認可機能
- フロントからのアクセスも容易
- Amplify Auth
- 内部でCognitoを使用し、ログイン/サインアップUIを簡単に構築
- ユースケースに応じてカスタマイズも可能
AWS Amplify AI Kit 概要と活用方法
- AWS上のデータをはじめ、様々なデータにLLMが安全にアクセスできる環境を簡単に構築
- Reactアプリで、AI要約を構築するデモ
- ステップ1: generation ルートを作成し、生成AIに要約をリクエストする処理を記述
- ステップ2: フロントエンドからフックを呼び出す
- Amplify AI Kit要約を簡単に構築できる。
- Reactアプリで、会話型検索AIを作るデモ
- ステップ1: conversation ルートを作成し、生成AI会話機能を追加
- ステップ2: フロントにチャットコンポーネントを配置する
※筆者追記: 会話型検索AIのサンプルコード
本セッションでも紹介されていた aws-saples/amplify-ai-examples より引用しています。
セッション中で紹介のあったコードと僅かに差はありますが、使用している関数・コンポーネントは同じです。
- ステップ1: conversation ルートを作成し、生成AI会話機能を追加
const schema = a.schema({
chat: a.conversation({
aiModel: a.ai.model("Claude 3.5 Sonnet"),
systemPrompt: `You are a helpful assistant`,
})
.authorization((allow) => allow.owner()),
//...
});
- ステップ2: フロントにチャットコンポーネントを配置する
return (
<View padding="large" flex="1">
+ <AIConversation
+ allowAttachments
+ messages={messages}
+ handleSendMessage={handleNewMessage}
+ isLoading={isLoading}
+ messageRenderer={{
+ text: ({ text }) => <ReactMarkdown>{text}</ReactMarkdown>,
+ }}
+ />
</View>
);
- Tool Use
- AppSync がリクエストを仲介している。
- BedrockからToolが要求された場合はToolのリクエストを行う
- これにより、RAGなどの柔軟なデータアクセスが可能となっている
- Amazon Bedrock Knowledge bases
- Bedrock にデータソースを登録しておくことで、簡単にRAGを構築できる
まとめ
- クラウドサンドボックスを活用することで、複数人開発がより効率的に
- Amplify AI Kit を使うことで、生成AIアプリケーション開発が 爆速 に
- 会話型検索、会話型UI、Amazon Bedrock Knowledge bases とのシームレスな連携
- Amazon Q Developer が開発全体をインテリジェントにサポート
筆者補足
デモで紹介されていたコードは、以下のリポジトリにまとまっています。
実際に動作を確認する場合、Bedrockなどのリソースも作成されるため、利用費にご注意ください。
感想
デモで紹介された、会話型AI+RAGを簡単に実装する方法はとてもインパクトのあるデモでした。
AIチャットにおける様々な複雑な課題(チャットUI、データのやり取り、RAG、データソースへの安全かつ適切なアクセス)を、AI Kit によって解決することができるため、AIチャット開発のハードルを下げることに大きく貢献してくれそうです。登壇者の方が発表中に繰り返し「爆速」と言っていたことが誇張ではなく本当に爆速になると感じています。
また、Amplify Gen2 の紹介では開発者ごとのサンドボックスを作れる点がAmplifyユーザーとしては非常に魅力的でした。バックエンドをAmplifyで管理するというハードルはあるものの、開発の体制によってはそれを上回るメリットも得られることが期待されます。