はじめに
AWS Summit Japan 2024 の Day2 に参加してきました。「AWS Amplify と Amazon Q Developer を活用した生成 AI アプリケーションの作り方」というセッションを聴講しましたのでレポートします。
⽣成 AI の 現状
生成 AI があらゆる業界にインパクトを与えている実情として、61%におよぶ企業が生成 AI を活用あるいは検討しているという統計を紹介されていました。今後もこの傾向は加速するものと思われます。ChatGPT の出現を嚆矢として状況が一変してしまったことが窺えます。
AWS における生成 AI
AWS における生成 AI のテクノロジースタックをいろんなセッションで目にしましたが、本セッションでも前提として紹介されていました。雑に要約すると以下のようになります。
- SageMaker をはじめとした、モデルを自分でトレーニングしたい場合のインフラレイヤー
- Amazon Bedrock による、基盤モデルを組み込んだアプリ開発レイヤー
- Amazon Q による、基盤モデルを活用したアプリ利用レイヤー
これらの中でも本セッションでは Amazon Bedrock と Amazon Q Developer を取り上げられており、これらを使ったアプリ開発についてデモを交えて説明されていました。
Amazon Bedrock
Amazon Bedrock は基盤モデルをサーバーレスで提供するため、API を叩くだけでさまざまな基盤モデルを利用できます。
直近では Converse API といった統一インターフェースも用意され、ますます抽象化されています。API を叩くときにパラメータ値を変更するだけで使いたいモデルを切り替えられるのは体験としても優れています。
セキュリティ、コンプライアンスの切り口でも説明されていました。Amazon Bedrock は顧客データがモデルプロバイダーに共有されることがなく、リージョン内に留まります。VPC 内部から API を叩きたい場合は VPC エンドポイントも用意されています。また GDPR、HIPAA などの規格にも準拠しており、セキュリティ、コンプライアンスの水準も非常に高いです。
Amazon Q Developer
Amazon Q Developer は既存コードの理解、機能開発の計画作成、トラブルシューティング、コード生成など、ソフトウェアライフサイクル (SDLC) の全体を通して開発者をサポートします。
特に開発時には IDE 上でコメントからソースコードを自動生成することができます。これらの機能により、コーディング時間の削減、ひいては生産性の向上をもたらします。
AWS Amplify と Amazon Q Developer を使ったアプリ開発デモ
ここまでの話の帰結として、AWS の AI スタックを活用すると Amazon Bedrock 上の基盤モデルを呼び出すアプリを Amazon Q Developer を使って生産性高く開発できる、というわけです。このようなアプリを AWS Amplify を使って開発する手法をデモ形式で紹介されていました。
AWS Amplify は AWS でアプリを開発するためのフルスタックフレームワークなので、AWS が開発したデベロッパー向け AI アプリともいえる Amazon Q Developer とは非常に親和性が高いと感じました。さまざまなコンポーネントのコードがコメントからサクサク生成されていくのは壮観でした。
AWS Amplify のホスティング機能はマネージドな CI/CD を提供するため、デプロイも簡単に自動化できます。
おわりに
AWS Amplify と Amazon Q Developer の親和性が高く、コメントから的確なコードが自動生成されるので、開発者にとって至れり尽くせりな印象を受けました。私はどちらかといえばインフラ寄りのエンジニアなので、CDK などでも試してみたいと思います。