Upgrade to Pro — share decks privately, control downloads, hide ads and more …

“あなた” の開発を支援する AI エージェント Bedrock Engineer / int...

geeawa
January 21, 2025

“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer

Bedrock Enginner は、Amazon Bedrock を活用したソフトウェア開発タスクのための AI アシスタントです。大規模な言語モデルと実際のファイルシステム操作、Web検索機能などを含む自律的な AI エージェントがあなたの開発を支援します。

geeawa

January 21, 2025
Tweet

More Decks by geeawa

Other Decks in Programming

Transcript

  1. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. “あなた” の開発を支援する AI エージェント Daisuke Awaji Solutions Architect Amazon Web Services Japan G.K. Bedrock Engineer
  2. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. Bedrock Engineer 2 このソフトウェアは淡路の個人的なお試し実装(MVP)です。 現在は AWS 公式のサンプルではないことにご注意ください。 https://github.com/daisuke-awaji/bedrock-engineer Amazon Bedrock を使用した開発を支援する AI アシスタント
  3. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 3 インストール方法 $ npm install $ npm run build:mac npm run build:win $ npm run build:linux または または リポジトリをクローンして2行コマンド実行 ローカルにネイティブアプリがビルドされます! ① ビルドして ② アプリを開く ダブルクリックで開く Mac, Windows, Linux それぞれの OS に応じてコマンドを変えてください は じ め か た
  4. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 設定画面から AWS アクセスキー、シークレットアクセスキーを設定すれば すぐに利用開始できます 4 初期設定 設定画面を開く アクセスキー シークレットアクセスキーを設定 は じ め か た
  5. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Agent Chat 5 開発ができる自律的な AI エージェントが、あなたの開発を支援します。 これは Cline のような AI アシスタントに似た機能を提供していますが、 VS Code のようなエディタに依存しない独自の UI を備えています。これ により、Bedrock Engineer のエージェントチャット機能では、よりリッ チな図解と対話型の体験が可能になります。また、エージェントのカス タマイズ機能により、開発以外のユースケースにおいても、エージェン トを活用することができます。
  6. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 6 AI エージェント 自分の置かれている環境を理解し、様々なツールを活用して 目標に向かってタスクをこなしていく AI の仕組み https://www.anthropic.com/research/building-effective-agents
  7. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 7 汎用的な開発エージェント ソースコードを読み、フォルダを作り、コードを実装します。 ソーセージの構造を理解し、Marmaid.js 形式で図解を行い、開発者を支援します。 Web 検索や RAG 検索を使用して実装している文脈に応じた最適な実装計画を検討します。 ▶ ◀ 読み 書き
  8. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 8 エージェントの選択 利用するツールの選択 作業するフォルダの選択 システムプロンプトの確認 エージェントのカスタマイズ チャットの履歴
  9. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 9 開発の例)ソフトウェアの構造を図解して説明 ① ソフトウェアのディレクトリ構造/ファイルを読み込む ② 構造を理解し、図解して説明する (この図では エージェントチャットのシーケンスを表現しています) ③ さらに実装をしたり、設計書を書いたり、、、
  10. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 10 利用可能なツール Agent Tools User ファイルの読み込み ファイルの書き込み ファイルの移動、コピー フォルダの作成 URL を指定した検索 Tavily Search による検索 画像生成 Amazon Nova, Titan Stable Diffusion シリーズ 任意のコマンド実行 Amazon Bedrock Knowledge Base への Retrieve Query Amazon Bedrock Agentsの実行 独自のツールを実装し組み込みが可能 Python API Database AI エージェント開発・利用において一般的なツールを搭載 任意のコマンド実行を介してデータベースや API にも接続可能
  11. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 11 ReAct Agent User Chat Interface Prompt Tools ユーザのクエリの目的を解釈して解決します。 利用可能なツール:[…] Reasoning & Action history: [ …, …, …, ] 解決するまで繰り返してください。 LLM ユーザの目的は 解決できたか? Analise Reasoning User Query No Yes Answer 1 2 3 4 5 N回 Bedrock Engineer の Agent Chat は ReAct (Reasoning & Acting) のステップで処理を進めます 履歴を追加
  12. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. Tavily Search や URL 指定の検索が可能 文脈に応じて知識の補完をしながら遂行するエージェントが実装できます。 12 Web Grounding 開発のシーンに応じてウェブから知識を補完する例 必要な知識が得られるまで 自律的にクエリを変更して知識を探索 1)React でルーティングを実装するには? 3)react-router 以外の実装手段は? 2)react-router 以外の実装手段は? URL を指定した検索 Tavily Search による検索 ツールを使ってできること
  13. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 従来の RAG では人間がクエリを工夫する必要がありましたが、 Agent を介在することで、クエリを最適化して必要十分な量を実行して探索します 13 Agentic-RAG Knowledge Base に複数回最適なクエリを実行 “管理画面 テーブル フォーム データ表示” ツールを使ってできること Amazon Bedrock Knowledge Base ”レイアウト コンポーネント ResponsiveLayout AppLayout Header” (クエリ 1 回目) (クエリ 2 回目) AWS のデザインシステムを使って EC サイトの管理画面を実装してください。 事前にコードサンプルなどを 入れておく必要があります
  14. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. CloudScape Design システムに従って鉢植えの植物に特化し た EC ウェブサイトの基本構造とレイアウトを作成してくだ さい。React, TypeScript, VIte で作っていきましょう。 主要な要件は以下の通りです。 <Conditions> •レイアウトは Amazon.com のようなものにする。 •EC ウェブサイトの名前は "Green Village" とする。 •グリーンの配色テーマを使用する。 •植物をカード形式で表示するセクションを追加する。 •ショッピングカートに追加する機能を作成する。 •現在のショッピングカートの中身を確認し、合計金額を計 算する機能を作成する。 </Conditions> 14 Agentic-RAGの活用例) デザインシステムに従うウェブアプリ プロンプト 生成されたアプリケーション Knowledge Base にデザインシステムのソースコードを保存しておくことで、 最適なコードを参照しながら実装を進めることが可能です。 Agent (Bedrock Engineer) Knowledge Base (クエリ1回目) Knowledge Base (クエリ2回目) ツールを使ってできること
  15. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. Bedrock Engineer を Orchestrator として、複数の Sub-Agent を実行できます。 Sub-Agent は Bedrock Agent を使用したり、 CLI 経由で実行することもできます。 15 Multi-Agent Orchestration Sub-Agent (Bedrock Agent) Agent (Bedrock Engineer) Sub-Agent (via CLI) Bedrock Agent の Code Interpreter を使用して、CSV形式の売り上げデータを可視化した例 ツールを使ってできること
  16. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. エージェントのカスタマイズ 16
  17. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 17 エージェントをカスタマイズする 汎用的な開発エージェントだけではなく、特定の分野に特化した開発エージェントを作れます。 開発チームの共通的なルールや思想に従う開発エージェントにしたり、動作を柔軟にコントロールできます。 例えば、コードを生成した後は必ず npm run lint まで実行して型エラーの検知までは AI に自律的に検証させる など、AI エージェントに評価プロセスまで実行させることが可能です。
  18. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 18 エージェントをカスタマイズする ①エージェントの名前と簡単な説明文章を入れて ② System Prompt を自動生成するボタンをクリックすると ③ 使用するツールや文脈を考えたシステムプロンプトが 自動生成されます。
  19. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 19 エージェントをカスタマイズする(例) Infrastructure as Code の達人 あなたは AWS インフラストラクチャの専門家 AI アシスタントです。 CloudFormation と AWS CDK のエキスパートとして、以下の能力を持っています: Infrastructure as Code (IaC) の設計と実装: - AWS CloudFormation テンプレートの作成と最適化 - AWS CDK を使用したインフラストラクチャの定義 - ベストプラクティスに基づいたアーキテクチャ設計 - セキュリティとコンプライアンスの考慮 - コスト最適化の提案 技術的な専門知識: - YAML/JSON形式のCloudFormationテンプレート作成 - TypeScript/Python/JavaによるAWS CDKコード開発 - AWS サービスの深い知識と適切な組み合わせの提案 - マルチアカウント/マルチリージョン構成の設計 - CI/CDパイプラインへのIaCの統合 作業時の注意事項: プロジェクトのルートディレクトリは {{projectPath}} です ファイルの読み書きを行う際は絶対パスを使用します 既存のコードを分析する際は read_file ツールを使用します 新規ファイルや変更は writeToFile ツールで実装します ベストプラクティスの提供: - モジュール化と再利用可能なコンポーネントの設計 - 環境分離(開発/ステージング/本番)の実装方法 - タグ付けとリソース命名規則の標準化 - 適切なIAMポリシーとロールの設計 - 効率的なスタック構造の設計 プロジェクト作成時: 1. 適切なプロジェクト構造を提案 2. 必要なディレクトリとファイルを作成 3. 基本的な設定ファイルのテンプレートを提供 4. デプロイメントパイプラインの設計支援 最新情報の提供: - AWS の新機能や更新情報の調査にはtavilySearchを使用 モバイルアプリ開発のエキスパート どのような状況下で 何のツールを使い、目的を遂行するか エージェントの目的 エージェントの志向 ツールの説明 あなたはTypeScript、React Native、Expo およびモバイルUI開発のエキスパートAIアシスタントです。 以下の分野で専門的な知識とスキルを持っています: - TypeScriptを使用した型安全な開発 - React Nativeによるクロスプラットフォームモバイルアプリケーション開発 - Expoフレームワークの活用とベストプラクティス - モバイルUIデザインパターンとユーザーエクスペリエンス - パフォーマンス最適化とデバッグ - アプリのライフサイクル管理とデプロイメント 特に以下の分野に強みがあります: 1. モバイルアプリケーションのアーキテクチャ設計 2. TypeScriptとReact Nativeのベストプラクティスの実装 3. Expoツールチェーンの効果的な活用 4. レスポンシブで魅力的なUIコンポーネントの作成 5. アプリケーションのパフォーマンス最適化 6. クロスプラットフォーム互換性の確保 開発支援において以下のツールを活用します: - プロジェクト構造の作成と管理(createFolder, writeToFile) - 既存コードの分析とレビュー(readFiles, listFiles) - 最新の技術情報の取得(tavilySearch, fetchWebsite) - UI/UXデザインの視覚化(generateImage) - 知識ベースからの情報取得(retrieve) - 必要なコマンドの実行(executeCommand) 作業ディレクトリ: {{projectPath}} プロジェクト作成時の重要なルール: - 必ずプロジェクトのルートフォルダを作成することから開始 - TypeScriptの型定義を徹底 - コンポーネントの再利用性とテスト容易性を重視 - Expoの設定とプラットフォーム固有の設定を適切に管理 - アプリケーションのパフォーマンスとユーザー体験を常に意識 - セキュリティベストプラクティスの遵守 コードレビューと改善時: 補足のルールなど
  20. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 20 開発以外に応用できるエージェント エージェントのシステムプロンプトを制御することで、開発以外の業務にも応用が可能です カフェの店員として振る舞うエージェント、心理カウンセラーのようなエージェントもすぐに実装できま す。 例)カフェの店員エージェント あなたは心温まるカフェの店員AIアシスタントです。 お客様に寄り添い、丁寧で親身な接客を心がけます。 性格と態度: - 明るく、親しみやすい態度で接客 - 礼儀正しく、丁寧な言葉遣い - お客様のニーズを積極的に理解し、適切な提案を行う - 困っているお客様へは特に配慮を持って対応 - 常に笑顔で接客することを心がける 基本的な対応: 1. お客様への挨拶から始める 2. オーダーを丁寧にお伺いする 3. メニューの説明や提案を行う 4. アレルギーや好みについての確認 5. 注文の復唱と確認 6. お会計の案内 7. お見送りの挨拶 メニュー知識: - コーヒー、紅茶、その他ドリンクの特徴を詳しく説明可能 - フード・デザートメニューの内容と調理方法を把握 - アレルギー情報や原材料についての正確な情報提供 - 季節限定メニューの案内 特別な対応: - アレルギーをお持ちのお客様への細心の注意 - お子様連れのお客様への配慮 - 外国人のお客様への多言語対応 - 高齢者や障がいをお持ちのお客様へのサポート
  21. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 21 カスタムエージェントの例)紙芝居の達人 ユーザーの指示:歯磨きの大切さを3歳児につたえるために、ゾウさんを主人公として物語を作ってください。 1)ディレクトリ構造を作成し、ストーリーを決定 2)紙芝居のページごとに最適な画像を作成 画像生成LLMに対してリクエストするプロンプトも自律的に作成して実行しています
  22. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 22 カスタムエージェントの例)紙芝居の達人 HTMLとして最終的な成果物(絵本)を作成しました
  23. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. ツールのカスタマイズ 23
  24. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 24 ツールのカスタマイズ|独自のツールを組み込む コマンド実行ツールを介してエージェントを API や データベースに接続できます。 24 Agent Tools User ファイルの読み込み ファイルの書き込み ファイルの移動、コピー フォルダの作成 URL を指定した検索 Tavily Search による検索 画像生成 Amazon Nova, Titan Stable Diffusion シリーズ 任意のコマンド実行 Amazon Bedrock Knowledge Base への Retrieve Query Amazon Bedrock Agentsの実行 独自のツールを実装し組み込みが可能 Python API Database
  25. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 25 ツールカスタマイズの例1)API データ分析 与えられた API を実行することで、医療・人口動態・介護施設などのデータを取得して政策の意思決定に示唆を与える AI エージェント 指示)介護施設、医療施設、人口動態、地域データを使用して、今後の東京都の政策の意思決定に役立てたいです。 まずはデータを収集してどのような課題があるか調査してください。 Bedrock Engineer)東京都に関するデータを API フェッチして収集し、課題について分析する。
  26. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 26 ツールカスタマイズの例2)AWS のリソース分析 AWS CLI を実行可能にすることで、AWS 上で稼働しているリソースの可視化やログの分析が可能になります。 AWS Lambda の一覧を取得している例
  27. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 27 ツールカスタマイズの例3)Browser Use ブラウザをコントロールするエージェント “Browser Use” をコマンドライン経由で実行します AWS の淡路大輔さんにおすすめの商品を Amazon で検索して教えてください 事前準備)ツール executeCommand 経由でbrowser-use を実行できるようにしておきます ブラウザをコントロールするエージェント)https://github.com/browser-use/browser-use ブラウザを操作しながら 淡路さんにおすすめの「料理 がジェット」を検索している様子 ブラウザ操作
  28. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. Bedrock Engineer のアーキテクチャ 28 Web UI exposeInMainWorld fetch api.create main handlers (createFile, readFile…) api.listen(port) app.ready create.window Amazon Bedrock AWS SDK Web API IPC (Inter-Process Communication) Electron (Native app for macOS, Win, Linux) AWS Cloud main renderer preload Electron を使用して mac, windows, linux で動作する ネイティブアプリとして実装しています クラウドには、Amazon Bedrock のみを使用し、 AWS Lambda も不要なサーバーレス構成にしています CDKを使ったデプロイも不要です
  29. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. Bedrock Engineer のアーキテクチャ(ウェブ化するなら) 29 Web UI exposeInMainWorld fetch api.create main handlers (createFile, readFile…) api.listen(port) app.ready create.window Amazon Bedrock AWS SDK Web API IPC (Inter-Process Communication) Electron (Native app for macOS, Win, Linux) AWS Cloud Web UI fetch Amazon Bedrock Web API SPA (Single Page Application) AWS Cloud AWS Lambda Amazon CloudFront (with S3) 静的コンテンツの取得 main renderer preload UI を React ベースに実装しているので ファイル操作(OS操作)が不要なら ウェブ化も可能な点が Electron の魅力 Tool の実行や、 LLMへのリクエスト処理を AWS Lambda に移譲する
  30. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. ユーザーがカスタマイズした/作成したエージェントを構成する システムプロンプトを共有するコンテンツハブ 30 Agent Directory 今後追加する 予定の機能 ※ 開発中のイメージ画像です。エージェントを選んでクリックするだけですぐに使える UX を検討中です。
  31. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Website Generator 31 ウェブサイトを描画するソースコードを生成し、リアルタイムにプレ ビューします。現在は React.js, Vue.js, Svelete.js, Vanilla.js に対応してい ます。また、追加で指示を与えることで対話的にコードを生成すること ができます。
  32. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 32 ウェブサイト生成の例 観葉植物のECサイト APIフェッチとデータの可視化 ヘルスケアのブログ
  33. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Step Functions Generator 33 AWS Step Functions の ASL 定義を生成し、リアルタイムにプレビューします。
  34. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. 34 Step Functions ASL 生成の例
  35. © 2024, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Confidential and Trademark. Thank you! © 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. このソフトウェアは淡路の個人的なお試し実装です。 現在は AWS 公式のサンプルではないことにご注意ください。 https://github.com/daisuke-awaji/bedrock-engineer