AWSのBedrock EngineerをMacでソースからビルドしてみた
岡本氏はBedrock EngineerというAWS開発者向けのAIエディターを紹介しています。このツールはGitHubで公開され、AWSリソースの定義やStep Functionsの設計、ダイアグラム作成をサポートする機能を提供しています。アプリのビルド方法やAWS Credentialsの設定方法も詳細に説明しており、Website Generator、Diagram Generator、Step Functions Generatorなどの機能も紹介しています。Bedrock EngineerはAWSエンジニアにとって有用なツールで、今後の活用が期待されると述べています。
目次
こんにちは、RevTech Dev & Biz Devの岡本です。みなさんAIエディター触られていますか?VS CodeをベースにしたものやウェブIDEなど、実に数多くのエディターが登場してきています。今回はその中でも、AWSを利用したAWS開発者に向けて作られているエディターである「Bedrock Engineer」を触ってみました。
Bedrock Engineerとは?
Bedrock EngineerはAWSの淡路さんという方が中心に開発されているAIエージェントです。AWSのリソースを使ってAWSリソース定義やStep Functionsの設計、ダイヤグラムの作成など様々な開発を支援する機能を提供しています。また特徴的なのは、エディター自身のソースコードがGitHubに公開されており、MITでライセンスされているOSSでもあることです。そのためForkして自社向けにカスタマイズしたり、自分が欲しい機能を追加してpull requestをだす・・・みたいなこともできます。
通常このツールはMacOSであればDMGファイルをダウンロードしてすぐに試すことができます。ですがせっかくなので、今回はアプリのビルドからやってみようと思います。
セットアップはnpmコマンドを中心に
Readmeを読みながらセットアップしてみました。まずはソースコードをダウンロードします。
% git clone [email protected]:aws-samples/bedrock-engineer.git
% cd bedrock-engineer
続いてnpm
コマンドでモジュールをインストールしましょう。インストールが終われば、あとはnpm run build:<利用環境>
を実行してアプリをビルドするだけです。今回はMacOSなので、build:mac
を選びました。
% npm i
% npm run build:mac
最後にdist
ディレクトリを開きます。mac-universal
ディレクトリにBedrock Engineer
アプリが出来上がっているはずなので、これを起動しましょう。

ビルドに成功していれば、下の画像のようなアプリが起動します。

自前でビルドする方法を選ぶことで、例えばエラーが発生した時の調査とパッチ適用や、プロンプトのカスタマイズなどが自分でできるようになります。もちろん本体のソースコードが更新された時にコンフリクトするリスクがありますので、本体へのpull requestでマージを提案するか、定期的に最新版をマージして独自版として保守し続けるかの判断が必要ではあります。
AWS Credentialsを設定しよう
アプリを起動すると、ツアーが始まります。Amazon Bedrockを利用するため、必要な権限を持ったAWS Credentialsを作成するように指示されます。

設定画面はこちらですね。リージョンの指定がありますので、モデルアクセスの有効化や制限値の引き上げが完了しているリージョンを選択するようにしましょう。

View required IAM policiesをクリックすると、最低限必要なIAMのポリシーをJSONで表示してくれます。

AWSマネコンでユーザーを作る
作るべきポリシーがわかったので、IAMで設定していきます。まずは先ほどのJSONでポリシーを作ります。

その後ユーザーを作成してCredentialsを取得しましょう。個人でやるか会社でやるかなどで、IAMユーザーを使うか他の方法で発行するかが変わったはずなので、その辺りはIAMの権限を作る方法を社内で聞いておくほうが安全かもしれません。

ポリシーをアタッチしておきます。

最後にアクセスキーを発行します。

取得したものをBedrock Engineerに登録しましょう。成功したら、利用可能なモデルがフォーム下部に出てくるはずです。

Bedrock Engineerを軽く触ってみる
ドキュメントを見る限り、できることはかなり幅広くありそうです。SAの淡路さんが自分で使う機能を追加されていっているのかなという気もするくらい、AWSで顧客への提案やコミュニティでの登壇などをする方にとってはありがたい機能が多い印象がありました。
今回はその中でもWebsite Generator / Diagram Generator / Step Functions Generatorの3つを触ってみました。
Webサイトを作るWebsite Generator
Website Generatorは、その名の通りWebページを作成してくれる機能です。プロンプトで作りたいサイトの要件を伝えると、指示に従ってサイトを作ってくれます。React / Vue / Svelteが選べるのもありがたいですね。

簡単なページを作ってくれました。シンプルな作りになっていて、個人的にはアリな出力だなという印象です。

ソースコードも確認できます。Lovableなどとは違い、Gitリポジトリへの接続はできませんので、ソースコードはコピーアンドペーストで手元に持ってくることになりそうです。もしかすると、直接ファイルを作る機能もあるかもしれませんが、ちょっと短時間では見つけることができませんでした。

AWSダイヤグラムを書く Diagram Generator
AWSについてプレゼンを行う時に欠かせないのが構成図です。これもBedrock Engineerを使えば、プロンプトから生成してくれます。作りたいワークフローをテキストで説明すると、それに合わせた構成図が出力されます。また、手で変更もできますので、叩き台だけ作らせてあとは自分で編集するみたいな使い方もできそうです。

Step Functionsを作る Step Functions Generator
もう一つ「おっ」っとなったのはStep Functions Generatorです。StateMachineのフローをテキストから生成してくれます。ビジュアライズもしてくれるので、Step Functionsの設計だけでなく、ワークフローの整理にも使えそうな予感がします。

AWSエンジニア必見のツールとして、今後に期待
10分20分ほどでざっと触っただけですが、Deckにアイコンを残すことにするレベルには使っていきたいと感じるツールでした。OSSなので相談や提案ができることも、pull requestページを見ることでこれから何をする予定なのかがみれることも個人的にはいいなーと思います。
時間を作って、いろいろ触ってみますので、その時はまた記事としてまとめます。