Amazon Bedrock AgentCore で AI ドリブン開発ライフサイクル
本文の状態
日本語全文を表示中
詳細モードで約18分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
AWS Machine Learning Blog
概念と実装の間に存在するギャップを埋めるため、Amazon Bedrock AgentCore と Kiro を用いた具体的な参照実装が提供される。
AI深層分析を開く2026年9月4日 02:03
AI深層分析
キーポイント
AI-DLC の実装ギャップ解消
概念と実装の間に存在するギャップを埋めるため、Amazon Bedrock AgentCore と Kiro を用いた具体的な参照実装が提供される。
SQL から ER 図への自動生成
AgentCore ランタイム機能を活用し、SQL スキーマファイルを入力として受け取り、Mermaid 形式のエンティティリレーションシップ図を自動的に生成するワークフローが実装されている。
多エージェントによるセキュリティ分析
AgentCore Gateway とメモリ機能、および外部ツール連携を用いたマルチエージェントアーキテクチャにより、CI/CD パイプライン経由でコードのセキュリティ評価や CVE チェックを自動化する。
人間によるガバナンスの維持
AI が実行と計画を担う一方で、技術的な意思決定についてはチームメンバーがリアルタイムにclarification(明確化)を行うことで、ヒューマン・イン・ザ・ループのガバナンス体制を維持する。
自動化されたER図生成ワークフロー
S3へのSQLファイルアップロードがトリガーとなり、Lambda関数がAgentCoreランタイムを起動してDDLを解析し、Mermaid形式のER図を自動生成する。このプロセスではテーブルや制約などのメタデータのみを読み取り、行データを一切扱わないため、スキーマと図の整合性を保つことができる。
重要な引用
Amazon Bedrock AgentCore is a service for building, connecting, and optimizing agents at scale with any framework or model.
AI-DLC positions AI as a central collaborator across the software development lifecycle, handling routine execution while humans retain oversight of critical decisions.
Both implementations link to complete deployment instructions in their respective GitHub repositories.
It reads only schema metadata (tables, constraints, and foreign keys), never row data, making it a clean reference for schema-to-diagram automation.
編集コメントを表示
編集コメント
本記事は、AI ドライブン開発の理論を具体的な AWS サービス機能と結びつけた実践的なガイドラインを提供しており、現場での実装検討に直結する価値がある。特に、セキュリティ分析や図面生成といった定型業務における AI エージェントの活用事例は、多くの開発チームにとって即座に参照可能なモデルケースとなる。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Amazon Bedrock AgentCore や Kiro などのコーディングエージェントを活用して AI ドライブ型開発ライフサイクル(AI-DLC)を導入するエンジニアリングチームは、概念上のフレームワークと実際に動くコードの間に存在するギャップに直面することがよくあります。Amazon Bedrock AgentCore は、あらゆるフレームワークやモデルに対応しながら、大規模なエージェントの構築・連携・最適化を可能にするサービスです。AI-DLC では、AI をソフトウェア開発ライフサイクル全体における中核的な共同作業者として位置づけ、日常的な実行タスクを AI が担う一方で、重要な意思決定については人間が最終的な責任と監督権限を持ちます。本稿では、このギャップを埋めるための実働可能な参照実装を紹介していきます。
本記事では、Amazon Bedrock AgentCore、Kiro、およびローカルのエージェント型コーディングツールを活用した AI-DLC(AI ドライブド開発ライフサイクル)の構築フェーズにおけるパターンを示す 2 つのリファレンス実装について、そのアーキテクチャ、設計上の判断、そして主要なコードパターンを解説します。
1 つ目の実装は、AgentCore ランタイムを用いて SQL スキーマから Mermaid のエンティティリレーションシップ図を生成するもので、これは Amazon Bedrock AgentCore が提供する機能の一つです。2 つ目の実装は、Amazon Bedrock Agent Core が提供する「Gateway」や「メモリ」、そして外部ツールとの連携を活用したマルチエージェントアーキテクチャを通じて、自動的にコードのセキュリティ分析を行うものです。
これら 2 つの実装は、人間が関与するガバナンスを維持しつつ、開発スピードを加速させるための AI ドライブドなワークフローをどのように構築すべきかを示しています。両方の実装には、完全なデプロイ手順がそれぞれの GitHub リポジトリにリンクされています。
実践における AI-DLC 構築パターン
AI-DLC の構築フェーズでは、AI がアーキテクチャの提案、実装計画の策定、コード生成、そしてデプロイアートの作成を担い、チームメンバーは技術的な意思決定についてリアルタイムで補足説明を行う役割を果たします。ここで紹介する実装は、まさにこのパターンに直接対応しています。
- 自動化されたアートifact 生成: エージェントが構造化された入力(SQL スキーマファイル)を受け取り、詳細な計画を作成し、出力(Mermaid ER ダイアグラム)を生成して、人間のレビュー用に結果を保存します。
コード品質の継続的な強制:マルチエージェントシステムが、CI/CD パイプラインを通じてプッシュされたコードを分析し、セキュリティ評価、Common Vulnerabilities and Exposures (CVE) チェック、ポリシー準拠レポートを生成します。これらは人間の意思決定を支える情報となります。
両方のシステムは、AgentCore を基盤とした共通のアーキテクチャを共有しており、チームがモジュール化された管理可能なコンポーネントから AI ドライブ型のワークフローを組み立てる方法を示しています。
ソリューション 1: SQL スキーマから ER ダイアグラムの生成
この AWS Samples プロジェクトは、Amazon Bedrock AgentCore 上のエージェント型 AI ワークフローを用いて、SQL スキーマファイルから Mermaid の ER ダイアグラムを自動生成します。開発者が SQL コードをチェックインすると、Amazon Simple Storage Service (Amazon S3) のトリガーと AWS Lambda 関数に基づくワークフローが起動し、AgentCore ランタイムを呼び出します。ランタイムはデータ定義言語 (DDL) を解析して .mmd 形式のダイアグラムを生成し、再び Amazon S3 に保存します。このプロセスではテーブル、制約、外部キーなどのスキーマメタデータのみを読み取り、行データを一切扱わないため、スキーマからダイアグラムへの自動化におけるクリーンな参照例となっています。
ビジネス上の課題
進化する SQL スキーマを管理するデータベースチームは、最新のエンティティ関係図 (ERD) によるドキュメントを必要としています。手動で ER ダイアグラムを作成するのは時間がかかり、ドキュメントが実際のスキーマから乖離してしまうことも頻繁に発生します。プルリクエストを通じてスキーマの変更が行われた際、開発ワークフローに手動でのドキュメント作成ステップを追加することなく、更新されたダイアグラムをチームが入手できる必要があります。
本システムは、サーバーレスかつイベント駆動型のアーキテクチャを採用しており、以下のコンポーネントで構成されています。
Figure 1: SQL スキーマから ER ダイアグラム生成のためのイベント駆動型アーキテクチャ
- S3 イベントトリガー: Amazon S3 バケットにアップロードされた SQL ファイルが AWS Lambda 関数を起動し、分析ワークフローを開始します。
- 認証: Amazon Cognito が OAuth2 マシン間 (M2M) 認証を提供します。クライアント認証情報は、AWS Systems Manager Parameter Store に保存されます。
- AgentCore ランタイム: Strands framework を用いて構築されたコンテナ化されたエージェントが AgentCore ランタイム上で動作します。このエージェントは Amazon Bedrock の Claude Sonnet 4 を利用して SQL DDL ステートメントを解析し、Mermaid 形式の ER ダイアグラム構文を生成します。(AWS リージョンごとのモデル利用状況については、Regional availability by models を参照してください。)
- AgentCore メモリ: 90 日間の有効期限を持つ永続的なセッションコンテキストを提供し、過去の分析結果に対するセマンティック検索や、スキーマの段階的な理解をサポートします。
- 出力保存: 生成された
.mmdダイアグラムファイルは、専用のプレフィックスの下に Amazon S3 に保存され、ソースファイルと生成タイムスタンプを追跡するメタデータが紐付けられます。
ワークフローは以下の手順で進行します:
- SQL ファイルを Amazon S3 にアップロードします(手動または CI/CD パイプライン経由)。
- Lambda トリガーがファイル内容を読み取り、Cognito OAuth を介して認証を行います。
トリガーは、SQL コンテンツをペイロードとして AgentCore ランタイムのエージェントを起動します。
このエージェントはスキーマを解析し、テーブル、列、制約、外部キー関係を特定します。その後、完全な Mermaid erDiagram を生成します。
生成された図は Amazon S3 に保存され、分析セッションは AgentCore のメモリに格納されます。
実装の詳細
エージェントの実装では、BedrockAgentCoreApp ランタイムラッパーと @app.entrypoint デコレータを使用してハンドラを登録しています:
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from bedrock_agentcore.memory import MemoryClient
from strands import Agent
from strands.models import BedrockModel
app = BedrockAgentCoreApp()
model = BedrockModel(model_id="us.anthropic.claude-sonnet-4-5-20250929-v1:0", region_name="us-west-2")
erdiagram_agent = Agent(model=model)
memory_client = MemoryClient(region_name="us-west-2")
@app.entrypoint
async def generate_er_diagram(payload: Dict[str, Any]) -> Dict[str, Any]:
sql_content = payload.get("sql_content", "")
file_name = payload.get("file_name", "unknown_file.sql")
# Generate diagram, store in memory, save to S3
...主な設計上の判断は以下の通りです。
- チャンク化処理: 大規模な SQL ファイルは管理可能なセグメントに分割され、それぞれ独立して解析された後、統合された図としてまとめられます。これにより、数百のテーブルを含むスキーマでもコンテキスト制限を超えずに処理できます。
- 構造化プロンプト: エージェントは、システム的な分析プロンプトを使用して、まずテーブル、列、データ型、主キー、外部キー関係を抽出し、その後図の記法を生成します。
- OpenTelemetry トレース: すべてのステップがスパンと属性で計測されており、処理時間、チャンク数、エラーの原因追跡などの観測性が提供されます。
OpenAI Codex スキルや MCP サーバー統合を含む完全な実装は、以下のリポジトリのサンプルで確認できます:sample-to-create-mermaid-entity-diagrams-from-sql-using-agentic-ai-on-agentcore repository。
ソリューション 2: セキュアなソフトウェア引き継ぎ
このサーバーレスコードセキュリティ分析ソリューションは、Amazon Bedrock AgentCore を活用して、Python または Java コードのセキュリティ脆弱性、依存関係における CVE リスク、およびポリシー違反を自動的にスキャンします。スキャンは、GitLab パイプラインから Amazon S3 へコードがプッシュされた際にトリガーされます。その後、Strands ベースのエージェントが Amazon Bedrock 上の Anthropic Claude Sonnet モデルを使用してコードを評価します。CVE やポリシーチェックのために AWS Lambda で実行される Model Context Protocol (MCP) ツールも呼び出されます。(モデルのリージョン別利用状況については、Regional availability by models を参照してください。)1 から 10 の品質スコアや推奨事項を含む結果は、セマンティック検索機能を備えた AgentCore メモリに保存され、リアルタイムのセッションベースの Web ダッシュボードを通じて表示されます。認証には Amazon Cognito が利用され、監視機能としては Amazon Bedrock AgentCore の機能である AgentCore Observability と Amazon CloudWatch が提供されています。
ビジネス上の課題
セキュリティコンプライアンスのためのコードレビューでは、CVE データベース、組織のコーディングポリシー、言語固有のセキュリティパターンに関する専門知識が求められます。手動でのセキュリティレビューはデリバリーパイプラインにおけるボトルネックとなり、チーム間での基準適用の不整合がコード品質のばらつきを生み出します。
アーキテクチャ
このソリューションは、開発ステージ間の安全なソフトウェア引き継ぎを実現するためのマルチエージェントアーキテクチャを通じて、自動化されたコードセキュリティ分析を提供します。
図 2: 自動化されたコードセキュリティ分析のためのマルチエージェントアーキテクチャ
- コードファイルは、手動または CI/CD パイプラインを通じて Amazon S3 バケットにアップロードされます。AWS Lambda のトリガーが新しいアップロードを検知し、OAuth2 認証を伴って AgentCore の分析ワークフローを開始します。
- MCP ツールを備えた AgentCore Gateway: ゲートウェイは外部ツール連携への呼び出しを調整します。ポリシーチェック用 Lambda は、組織固有のセキュリティポリシーに準拠しているかをコードに対して検証します。
- CVE データベース確認用 Lambda: 依存関係ファイルを検索し、既知の脆弱性をスキャンします。
- AgentCore ランタイム(Strands フレームワーク): コア分析エージェントが深いコードレビューを実行します。構造評価、ロジック品質の評価、メモリとパフォーマンスの分析、セキュリティ課題の検出、ベストプラクティスの準拠確認が含まれます。
- AgentCore メモリ: 分析結果を保存し、意味検索機能を提供します。これにより、過去の比較やトレンド分析が可能になります。
- ダッシュボード用 Lambda: セッションベースの結果を表示する Web UI を提供します。ファイル、違反事項、品質指標間での検索とマルチタブナビゲーションが可能です。
主要な機能
- 多次元分析: システムは、構造的品質、アルゴリズムの効率性、セキュリティ体制、規格準拠の観点からコードを評価します。具体的な推奨事項を含む品質スコアを生成します。
メモリ戦略には、異なるニーズに対応する3つの独自の実装があります。
- セマンティック戦略:文脈による検索のために、詳細なコード分析の結果、CVE の検出情報、ポリシー違反の記録を保存します。
- サマリー戦略:ダッシュボードでの可視化に用いる集計メトリクスとトレンドを維持します。
- ユーザー設定戦略:セッションを超えてダッシュボードのレイアウトやフィルタリングの設定を追跡します。
詳細については、AgentCore のメモリ戦略をご覧ください。
MCP ツールの AgentCore Gateway を介した統合: この機能により、エージェントは分析中に必要に応じて外部ツール(ポリシーチェッカーや CVE スキャナ)を呼び出すことができます。これにより、エージェント自体にツール呼び出しロジックや外部 API の実装をハードコードする必要がなくなります。
この分析エージェントは、ソリューション1と同じ AgentCore ランタイムパターンに従いますが、AgentCore Gateway を経由して MCP ツール呼び出しを追加した点が異なります。
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from bedrock_agentcore.memory import AgentCoreMemory
from strands import Agent
from strands.models import BedrockModel
app = BedrockAgentCoreApp()
model = BedrockModel(model_id="us.anthropic.claude-sonnet-4-5-20250929-v1:0", region_name="us-west-2")
analysis_agent = Agent(model=model, tools=[analyze_code, check_quality])
memory = AgentCoreMemory(namespace="code-analysis")
@app.entrypoint
async def analyze_uploaded_code(payload: Dict[str, Any]) -> Dict[str, Any]:
file_content = payload.get("file_content", "")
file_name = payload.get("file_name", "unknown.py")
session_id = payload.get("session_id", "")
# Analyze code, store results in memory, return quality score
...エージェントは AWS Lambda トリガーからコードコンテンツを受け取り、ファウンデーションモデル(FM)を用いて多次元の分析を実行します。その後、必要に応じて AgentCore Gateway を介して外部ツール(ポリシーチェッカーや CVE スキャナ)を呼び出します。結果はダッシュボードでの検索や履歴比較のために AgentCore メモリに保存されます。
主要な設計上の判断点は以下の通りです:
マルチエージェントの分離:コード分析エージェントは品質評価に専念し、ポリシーチェックと CVE スキャンは AgentCore Gateway を介して呼び出される専用 AWS Lambda 関数に委譲されます。これにより各コンポーネントが単一目的に保たれ、独立して更新可能になります。
セッションベースの結果永続化:分析実行ごとに AgentCore メモリ上に一意のセッションが作成され、ダッシュボードはセッション ID を通じて結果を取得します。これにより開発者は複数のコード提出間での品質スコアを比較できます。
ゲートウェイ仲介によるツール呼び出し:外部ツールは直接呼び出すのではなく、MCP を使用して AgentCore Gateway 経由で登録されます。これによりエージェントとツールの実装詳細が切り離され、エージェントコードを変更せずに新しいツールの追加が可能になります。
完全な実装は、sample-agentic-secure-software-handoffs リポジトリ repository で確認できます。
ローカルエージェントツールの統合:Kiro、OpenAI ChatGPT Codex、Claude Code
AgentCore は展開されたイベント駆動型エージェントワークロードのクラウドランタイムを提供しますが、開発ワークフロー自体は開発者のワークステーションで AI-DLC パターンを実装するローカルエージェントツールからも恩恵を受けます。
Kiro エージェントとスキル
Kiro は、構造化された仕様書とカスタムエージェントスキルを通じて、AI-DLC のインセプション(着想)フェーズおよびコンストラクション(構築)フェーズをサポートします。
- 仕様駆動開発: Kiro は自然言語で記された要件を、受入基準を含む構造化された仕様に変換し、その仕様に基づいて実装計画を生成します。これは、AI が計画を作成し実行前に人間の検証を受けるという「AI 駆動開発ライフサイクル(AI-DLC)」の典型的なパターンに合致しています。
- カスタムスキル: チームは、組織の標準(コーディングパターン、セキュリティ要件、アーキテクチャガイドラインなど)をコード化した再利用可能な Kiro の エージェントスキル を定義できます。これにより、AI が生成するコードが常に企業の品質基準を満たすことが保証されます。
アジェンシーによるタスク実行:Kiro のエージェントモードは、ファイル作成やターミナルコマンドの実行、検索などの自律的なツール使用を駆使しながら、各仕様チェックポイントで人間のレビューを組み込むことで、複数ファイルにわたる実装タスクを処理します。
OpenAI ChatGPT Codex(MCP サーバーとスキル)
本リポジトリには OpenAI Codex の統合も含まれており、MCP とカスタムスキルを通じて、同じ ER ダイアグラム生成ワークフローが追加のコーディングエージェントへどのように拡張されるかを示しています。
- ライブデータベーススキーマへのアクセス用 MCP サーバー:ローカルで動作する stdio ベースの MCP サーバーが、
INFORMATION_SCHEMAを介して Codex と MySQL または Amazon Aurora MySQL データベースを接続します。
このサーバーは、schema_summary、generate_er_markdown、generate_mermaid の 3 つのツールを公開しており、テーブル行データにアクセスすることなく、Codex がテーブル構造や列、インデックス、外部キー関係を照会できるようにしています。
- カスタム Codex スキル:
SKILL.mdファイルには、ER ダイアグラムの生成ワークフローが再利用可能な Codex スキルとして記述されています。これにより、エージェントはスキーマ分析から図の作成まで、一貫した品質でガイドされます。
- 安全な認証情報の管理: データベースの認証情報は AWS Secrets Manager から取得され、AgentCore の実装で採用されているのと同じセキュリティパターンに従い、TLS 検証が強制されます。
Claude Code(ローカルエージェント)
Claude Code は、AgentCore のデプロイメントを補完するローカルコマンドラインエージェントとして機能します:
- 迅速なプロトタイピング: AgentCore ランタイムへの展開前に、開発者は Claude Code を用いてエージェントロジックの反復、プロンプトのテスト、ツール連携パターンの検証をローカル環境で行います。
- Infrastructure-as-code の生成: Claude Code は、デプロイスクリプト、Dockerfile、AWS Identity and Access Management (IAM) ポリシー、および AWS CloudFormation テンプレートを生成します。これらの成果物は、AI-DLC 構築フェーズで策定されたアーキテクチャ仕様に準拠しています。
- コードレビューとリファクタリング: ローカルエージェントは、プロジェクトルールやカスタムインストラクションに基づいて最初のレビューを行い、セキュアなソフトウェアハンドオフシステムが権威あるセキュリティ分析を提供する CI/CD パイプラインにコードが流入する前に問題を検出します。
統合されたワークフロー
これらのツールを用いた典型的な AI-DLC ボルト(短く集中的な作業サイクル)は、以下のパターンに従います:
- インセプション(Kiro): ビジネス要件を仕様に落とし込み、受入基準を設定します。チームはモブ elaboration セッションで AI が生成した仕様を検証します。
- コンストラクション(Claude Code と Kiro): 実装コード、デプロイスクリプト、テストスイートを生成します。ローカルエージェントがファイル生成と反復的な改良を担当し、Kiro がタスクのオーケストレーションを管理します。
バリデーション (
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み