
AWS製の開発者向けの生成AIアプリ「Bedrock Engineer」を使ってみた
こんにちは、洲崎です。
aws-samplesにある開発者向けの生成AIアプリ「Bedrock Engineer」を触ってみました。
Bedrock Engineer
Bedrock EngineerはAmazon Bedrockを活用したソフトウェア開発のタスクに特化した生成AIアプリケーションです。
機能は都度アップデートされており、2025/2/27時点では、以下の3つの機能を試すことができます。
- エージェントチャット
- Website Generator
- AWS Step Functions Generator
エージェントチャット
ユースケースごとにAIアシスタントを選んでチャットを行うことができます。
デフォルトでは以下の3つのアシスタントがあり、カスタマイズで追加が可能です。
- Software Developer
- ソフトウェアプロジェクトの構造を理解し、ファイルやフォルダを作成します
- Programming Mentor
- 初心者に優しいプログラミングメンターとして、プログラミングタスクのサポートと学習ガイダンスを提供します
- Product Designer
- ユーザーインターフェースとUXの専門家として、魅力的で使いやすいデザインを提案します
UIは直感的で使いやすい画面になっています。
また、検索エンジンとしてTavilyを利用することができます。
(以下は検索エンジンを使った時の例)
Website Generator
ウェブサイトを作成するソースコードを生成することができます。
現時点で対応しているライブラリは以下です。
- React.js(w/ Typescript)
- Vue.js(w/ Typescript)
- Svelte.js
- Vanilla.js
作成したソースコードをリアルタイムにプレビューすることができます。
そこから機能追加も指示してコードをアップデートすることもできます。
AWS Step Functions Generator
AWSサービスでお馴染みの「AWS Step Functions」のASL定義を生成することができる機能です。
やってみる
「百聞は一見にしかず」ということで、アプリケーションの構築から動作確認まで実際に手を動かして検証していきます。
前提
アプリケーションはネイティブアプリとして提供されています。
今回は、Githubリポジトリをローカル環境にクローンし、ソースコードからビルドする方法で実装していきます。
AWSアカウントおよびAmazon Bedrockの利用環境が必要となります。
構築
ターミナルを開き、以下のコマンドを実行します。
git clone https://github.com/aws-samples/bedrock-engineer.git
git cloneができたら、cd
コマンドでbedrock-engineer
のフォルダに移動します。
以下のコマンドを実行し、npmモジュールをインストールします。
npm install
次にMac、Windows、LinuxそれぞれのOSに応じて、以下のコマンドを実行します。
Macの場合:
npm run build:mac
Windowsの場合:
npm run build:win
Linuxの場合:
npm run build:linux
コマンドの実行が完了したら、bedrock-engineerのフォルダを開き、bedrock-engineer
→dist
→mac-universal
まで移動します。
bedrock Engineer.app
があるので実行します。
すると、Bedrock Engineerのアプリが立ち上がりました!
Bedrock Engineerの設定
左のメニューにある歯車マークを押すと設定画面に移動します。
Languageは「日本語」で設定します。
エージェントチャットは利用する場合はTavilyのAPIキーを入力します。
(Tavilyは無料プランでも毎月1,000回のAPIコールが無料で利用可能です)
AWS Settingsのところで、利用するリージョンとAWSアクセスキー、シークレットキーを設定します。
Amazon Bedrockの設定では、使用するLLMモデルを選択します(本検証ではClaude 3.5 Sonnetを採用)。
また、推論パラメータでは最大トークン数やtemperature値などの調整が可能ですが、今回はデフォルト設定のまま検証を進めました。
詳細設定のところで、メッセージの送信をEnterキー
か、Command + Enterキー
か設定することができます。
これで、設定完了です!
エージェントチャット
左のサイドメニューのChatボタンを押すと、チャットの画面に遷移します。
デフォルトのアシスタントは「Software Developer」です。
Software Developer
まずはボタンである「Amazon Bedrockとは」を押してみます。
そうすると、チャットメッセージ欄に「Amazon Bedrock に関する最新情報を検索して、何ができるか簡潔にまとめてください。」と自動で入力されます。
そのまま送信してみます。
Amazon Bedrockについて、Tavilyを使ってWeb検索を行い、その検索結果を元にBedrockが回答を生成してくれました。
Programming Mentor
次に、「Programming Mentor」のアシスタントを試してみます。
左上でアシスタントを変えて、「Python学習」をクリックし、出てきたメッセージを送信してみます。
メッセージを送信すると、アシスタントが自律的に内部処理を開始し、Pythonファイルの生成とフォルダの構築を自動的に行いました。
さらに、生成したプログラムの実行コマンドまで詳細に提示してくれました。
実際にローカルのpython_tutorial
のフォルダにhello_world.py
のPythonコードが格納されています。
内容を見るとたしかにHello World!
をprintで呼び出すコードが記載されていました。
情報を提供してくれるツールだと想定していましたが、生成AIが自律的に動作し、実際にファイルまで作成してくれる機能には驚きました。
Product Designer
次に、デザイナー向けのアシスタントを使ってみます。
私自身はデザイン分野に関する専門知識を持ち合わせていないのですが、ランディングページのデザインテンプレートを選択してみました。
すると、アシスタントが自律的に考えて、ランディングページのデザインまで出してくれました。(ローカル環境に画像ファイルを出力してくれました)
文字の部分に若干違和感がありますが、デザインとしてはスタイリッシュです。
エージェントチャットの設定
右上の歯車マークを押すと、追加のアシスタントを作成することができます。
System Promptでは利用可能なプレースホルダーから関数を利用することもできます。
左下の「tools」をクリックすると、エージェントチャットで利用する機能の有効・無効を設定することができます。
Website Generator
サイドメニューの上から3つ目のアイコンをクリックすると、Website Generatorが開きます。
早速、テンプレートにある「観葉植物のECサイト」をクリックして、プロンプトを送信します。
すると、数分で観葉植物のサイトが生成されました!
右下にある「show code」のボタンを押すと、裏側のコードを確認することができます。
また、ここから機能拡張を依頼できるので、試しに検索機能の拡張を依頼してみます。
すると、検索機能をアドオンすることができました!動作も確認できました。
AWS Step Functions Generator
Step FunctionsのASL定義を作成することができます。
試しに、テンプレートである「注文処理ワークフロー」をクリックし、メッセージを送信してみます。
すると、Editor(右側)とVisualizer(左側)にその内容のASLを生成して表示してくれました!
最後に
「Bedrock Engineer」の構築から各機能の検証まで一通り体験してみました。
特に印象的だったのは、その機能の豊富さです。
エージェントチャットでは「これが自律的に動作するエージェントか」と実感できる体験ができました。
また、ファイル生成機能を有効にすると、ローカル環境で直接ファイルを生成してくれる利便性も素晴らしいと感じます。
Website Generatorについては、フロントエンド開発の専門知識がなくてもプロトタイプの作成が可能な点が非常に画期的です。
Step FunctionsのASLコード生成機能も、日常的に利用されている方は手放せない機能なのではと感じました。
「開発者向け」というコンセプトながらも、基本操作はGUIベースで直感的に行えるため、プログラミング初学者でも十分に活用できるツールだと感じました。
「Bedrock Engineer」の今後のアップデートも引き続き追っていきたいと思います!
ではまた!新規事業統括部の洲崎でした。