AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

全3709件

深夜 2 時にインシデントが発生したとき、オンコール担当者がどれだけ的確に対応できるかは、そのシステムについてどのような知識を持っているかに左右されます。最初に見るべきメトリクスはどれか、このサービスの「平常時」はどんな状態か、デプロイ履歴はどこを見ればわかるのか。こうした知識は、ランブックや社内 Wiki、そしてシステムを作ったシニアエンジニアの頭の中にあることが少なくありません。そのため、調査の質は「誰が呼び出されたか」で変わってしまいます。サービスを作った本人が対応すれば、根本原因の分析にかかる時間は大幅に短くなります。そうでなければ、同じ調査に何時間もかかったり、根本原因にたどり着けないまま終わったりします。 AWS DevOps Agent の Skills は、このギャップを埋める仕組みです。チームの優れた調査手順を、再利用しやすい単位に分けた一連の指示としてまとめておくと、エージェントがインシデント対応中に必要なものを自動で読み込みます。オンコール担当者が正しい手順を知っているかどうかに頼る必要はありません。Skills は、そのノウハウを 24 時間 365 日エージェントが使える状態にします。誰が呼び出されても変わらず、一貫して繰り返せる調査になります。 うまく書けた Skill は属人的なノウハウを再利用可能な調査プレイブックに変えますが、書き方が悪い Skill はまったく使われません。この記事では、確実に起動し、構造化された調査フローに沿って動き、他の Skills と組み合わさって MTTR(平均解決時間)を短縮できる Skill の書き方を紹介します。 私たちが支援した、グローバルに事業を展開するある金融サービス企業では、チームの調査ノウハウを Skills に落とし込んだ結果、エージェントの位置づけが「面白いデモ」から「P1 インシデントの一次対応者」に変わりました。エージェントは、根本原因の候補を提示するようになったのです。これまでは、その候補を見つけるために、シニアエンジニアが多くのログを手作業で突き合わせる必要がありました。この企業が得た結論は、私たちの考えと一致していました。Skills の品質が、調査の品質を決めます。 背景:Skill とは何か Skill は、必須の SKILL.md と任意の参考資料(アーキテクチャ図、メトリクスのしきい値表、トラブルシューティングのフローチャートなど)をまとめた、自己完結型のディレクトリです。オープンな Agent Skills specification のサブセットに準拠しており、Markdown、PDF、画像、データファイルといった、実行を伴わない文書を扱えます。 SKILL.md の先頭には、フロントマター(メタデータブロック)として name と description を書く必要があります。エージェントは description を見て、その Skill が今の作業に関係するかどうかを判断します。ファイルの残りの部分が、調査手順そのものです。 my-skill/ ├── SKILL.md # 必須: フロントマター + 調査手順 ├── references/ # 任意: メトリクス表、エラーコード対応表など └── assets/ # 任意: 図、フローチャート、データファイル AWS DevOps Agent を本番環境にデプロイするためのベストプラクティス に沿って Agent Space を導入済みであれば、Skills はその次のステップです。Skills を使うと、Agent Space 内でエージェントの振る舞いを特定の用途に合わせられます。 Skills がなくても、エージェントは AWS サービスに関する一般的な知識を使って調査できます。メトリクスを照会したり、ログやデプロイを確認したりすることもできます。しかし、チーム固有の調査のコツ、環境固有のしきい値、そのサービスで本当に重要なメトリクスは知りません。Skills はその差を埋めます。確認すべき項目を確認すべき順番で直接示すことで、調査の立ち上がりが速くなり、エージェントは汎用的な調査にありがちな試行錯誤を省けます。 Skill とエージェント指示の使い分け エージェントの振る舞いを変える手段は、Skills だけではありません。もう一つの手段がエージェント指示です。 AGENTS.md というファイルに保存し、Operator Web App の Knowledge ページで設定します。この 2 つは解決する問題が異なります。正しく使い分けると、エージェントは目の前の作業に集中でき、限られた作業メモリ(コンテキストウィンドウ)も効率よく使えます。 違いは「いつ読み込まれるか」です。 エージェント指示 :常に有効。エージェントが何を扱っていても、セッション開始時にシステムプロンプトへ必ず組み込まれる Skills :必要なときだけ有効。 description が目の前のタスクに合致したときにだけ読み込まれる つまり、エージェント指示は すべてのセッション での振る舞いを決め、Skill は 特定の状況 向けの専門的なプレイブックを与えます。この違いから、判断基準はシンプルになります。 すべての調査に適用する必要がある内容は、エージェント指示に書きます。たとえば、回答のフォーマット、「シークレットを平文で表示しない」といったセキュリティポリシー、「根本原因を提示する前に必ず直近のデプロイを確認する」といったチームのルールです。エージェント指示に書けば、これらが毎回読み込まれることを保証できます。一方、特定のシナリオだけで使う手順は、Skill に書きます。たとえば、RDS のコネクション枯渇や ECS のクラッシュループを調べる手順です。Skill は必要なときだけ読み込まれ、それ以外のときはコンテキストウィンドウを使いません。 実務上の違いを整理すると、次のとおりです。 観点 エージェント指示( AGENTS.md ) Skills 読み込まれるタイミング 毎セッション、無条件 必要なとき( description がタスクに合致したとき) 向いている用途 常に守るべきポリシー(フォーマット、セキュリティ、毎回行う確認) シナリオ別の手順(調査プレイブック) 適用範囲の決まり方 全エージェント、または特定のエージェントタイプを指定する 実行時にエージェントが description と照合する 数 エージェントごとに 1 つ(全体共通、またはマネージドエージェント単位) Agent Space ごとに複数 追加ファイル Markdown のみ(添付不可) Markdown に加えて参考ファイル、画像、データ サイズの考え方 固定上限 25 KB(変更不可)。できるだけ短く保つ(120 行程度を推奨) 必要なときだけ読み込まれるので、1 つひとつのテーマを絞る 見分け方のコツ:エージェントが「何を調査するのか」を知る前から目の前に置いておきたい内容ならエージェント指示です。「RDS のレイテンシ問題だ」とわかって初めて意味を持つ内容なら Skill です。 サイズには注意が必要です。エージェント指示は毎セッション読み込まれるため、その分、ユーザーの質問やログ、エージェント自身の推論に使える作業メモリが少なくなります。サービス側のガイダンスでも、エージェント指示は短く保ち、専門的な手順は Skills に移すことが推奨されています。あらゆる調査手順を詰め込んで肥大化した AGENTS.md はアンチパターンです。その内容は、テーマを絞った Skills に分割しましょう。 なお、エージェントを拡張する手段は他にもあります。カスタムエージェントを使うと、システムプロンプト・ツール・Skills を 1 つにまとめて、「定期ヘルスレポート」のような専用のワークフローを作れます。MCP サーバーを使うと、独自の診断ツールを追加できます。オープンソースの AWS DevOps Agent Tools リポジトリには、Skills、カスタムエージェント、MCP サーバーのすぐに使えるサンプルがあり、そのまま取り込むことも、自分用に作り変える出発点にすることもできます。 確実に起動する description を書く フロントマターの description が、Skill を読み込むかどうかを決めます。ここが最も効果の大きいポイントです。 description があいまいだと、中の手順がどれほど優れていても、エージェントは Skill を読み飛ばします。 description は「エージェントの視点」で書きます。その Skill を使うべきサービス、エラーの種類、症状、シナリオを具体的に書いてください。 あいまいすぎる例: --- name: database-skill description: データベースの問題に対応する。 --- 具体的で実用的な例: --- name: rds-connection-exhaustion description: Amazon RDS および Amazon Aurora のコネクション枯渇に関する調査手順。 max_connections の上限到達、コネクションプールの設定ミス、アイドルコネクションの 蓄積を扱う。DatabaseConnections アラーム、接続タイムアウトエラー、 "too many connections" というアプリケーションエラーを調査するときに使用する。 --- インシデントの最中にオンコール担当者が検索しそうな言葉を考えてみてください。アラーム名、エラーメッセージ、症状などです。こうした言葉こそ description に入れるべきものです。 セルフチェック: description を読んで、「インシデントのトリアージ中だったら、この説明だけでこの Skill が当てはまるかどうか判断できるか?」と自問してください。答えが「いいえ」なら、説明をさらに具体的にしてください。 私たちも、これを実際に経験しました。 db-health という Skill に「データベースの健全性を監視する」という意味の description を付けていたところ、本番の RDS インスタンスが午前 3 時に max_connections の上限に達しても、エージェントはこの Skill を読み込みませんでした。インシデントで発火していたアラーム RDS-DatabaseConnections-Critical と、「データベースの健全性を監視する」という説明に、一致する言葉がなかったからです。 そこで description を「RDS のコネクション枯渇、 max_connections の超過、 DatabaseConnections アラームの急増に関する調査手順」という内容に書き換えました。Skill も中の手順も、まったく同じままです。それでも、以後はそのアラームが発火するたびに、エージェントが必ずこの Skill を読み込むようになりました。 指示を調査ステップとして構成する Skill は、事実を並べたリストではなく、シニアエンジニアの調査プレイブックのように読めるものにします。各ステップでは、何を確認し、何に注目し、結果に応じて次に何をするかをエージェントに伝えます。 機能する Skill と機能しない Skill の差は、多くの場合、判断ロジックが入っているかどうかです。まず、うまく機能しない例を示し、続いてうまく機能する例を示します。 うまく機能しない例 — あいまいで、受動的で、判断ロジックがない: --- name: ecs-skill description: ECS の問題の調査を支援する。 --- # ECS の調査 ECS タスクの状態を確認する。CPU とメモリのメトリクスを見る。 直近のデプロイを確認する。ロードバランサーを確認する。 何かおかしければ、さらに調べる。 この例には 2 つの問題があります。1 つ目は、 description が広すぎるため、Skill が安定して起動しないことです。「ECS の問題」はあらゆる状況に当てはまるようで、実際にはどれにも当てはまりません。2 つ目は、指示が調査ワークフローではなく、確認対象を並べたチェックリストになっていることです。順序もしきい値もなく、「おかしい」とは何か、次に何をすべきかを示す判断ポイントもありません。 うまく機能する Skill には、具体的な起動条件、構造化されたロジック、判断に応じた明確な分岐があります。 --- name: ecs-task-crash-loop description: ECS タスクがクラッシュループ(0 以外の終了コードで STOPPED を 繰り返す状態)に陥った場合の調査手順。OOM kill(メモリ不足による強制終了)、 ヘルスチェックの失敗、コンテナ間の依存関係の問題を扱う。 ECS-TaskFailure アラームが発火したとき、またはタスクが PENDING と STOPPED を 繰り返しているときに使用する。 --- # Step 1: 障害のパターンを特定する 対象サービスで停止したタスクを過去 2 時間分照会する。停止理由ごとに次のように分類する。 - 終了コード 137 → OOM kill。Step 2 へ進む。 - 終了コード 1 かつ "essential container exited" → 依存関係の障害。Step 3 へ進む。 - 終了コードなし + "health check failed" → コンテナは稼働しているが応答がない。 Step 4 へ進む。 # Step 2: メモリ不足を調査する 対象のタスク定義について、CloudWatch Container Insights のメモリ使用率を取得し、 タスクのハードメモリ上限と比較する。障害が起きる前の 30 分間、使用率が上限の 90% を継続して超えていた場合は、メモリ割り当ての増加を推奨する。あわせて、 メモリ使用量に影響する変更が含まれていないか、直近のデプロイを優先的な 調査対象として挙げる。 # Step 3: 依存関係の障害を調査する タスクの状態が変化したタイムスタンプを比較して、最初に終了したコンテナを特定する。 そのコンテナのログで起動時のエラーを確認する。よくある原因は、環境変数の不足、 依存先サービスのヘルスチェック失敗、レジストリ障害によるイメージ取得の失敗である。 # Step 4: ヘルスチェックのタイムアウトを調査する ヘルスチェックの設定(interval、timeout、retries)を、コンテナが実際に起動するまでの 時間と比較する。ヘルスチェックが許容する時間よりも初期化に時間がかかる場合、 コンテナは正常になる前に停止させられる。直近のデプロイで起動時間が延びていないか (新しい依存関係の追加、読み込むモデルの大型化、起動時のデータベースマイグレーションなど) を確認する。 パターンに注目してください。各ステップには、明確なアクション、注目すべき具体的なポイント、そして次のステップを決める判断ポイントがあります。エージェントはこれを、ただ読むだけの一覧としてではなくフローチャートのようにたどります。 事実やメトリクスを並べるだけで、それを使って何をするかを書かない Skill は避けてください。Amazon CloudWatch のメトリクスのしきい値表は参考ファイルとしては役立ちますが、 SKILL.md 本体には、そのしきい値を使う調査ロジックを書きます。 適切なエージェントタイプに絞る すべての Skills が、調査のすべてのフェーズに関係するわけではありません。AWS DevOps Agent には複数のエージェントタイプがあり、Skill を作成・アップロードするときの Agent Type 設定で、どのエージェントタイプに使わせるかを指定できます。 デフォルトは Generic で、すべてのエージェントタイプがその Skill を使えます。使い始めはこれが適切な選択です。その他のエージェントタイプは、調査や対応のライフサイクルの各フェーズに対応しています。 エージェントタイプ 実行されるタイミング 役割 Skill の例 Incident Triage インシデントの受信直後 新しいインシデントを進行中の調査と関連付け、重大度を分類し、調査するかスキップするかを判断する 計画メンテナンス中のスキップ条件、影響を受けたサービスのティアに基づく重大度の分類 Incident RCA トリアージで「調査する」と判断された後 メトリクス、ログ、トレース、デプロイを照会し、根本原因を深く調査する RDS コネクション枯渇のプレイブック、ECS クラッシュループの分析 Incident Mitigation 根本原因が特定された後 当面の対処と長期的な再発防止策を含む、段階的な対応プランを作る デプロイのロールバック手順、コネクションプールのスケーリングに関する指針 On-demand チャットで明示的に呼び出されたとき インシデント対応以外の、その場の質問や作業に応える アーキテクチャドキュメントへの問い合わせ、キャパシティプランニングの計算 Evaluation 定期的、またはスケジュールに従って インフラの健全性、構成ドリフト、オブザーバビリティのギャップを事前に評価する 毎月のオブザーバビリティギャップ分析、セキュリティ態勢のチェック Skill は読み込まれるたびにコンテキストを消費します。最初のトリアージの段階で詳細な対処プレイブックを読み込むと、まだ必要のない指示にコンテキストを使ってしまいます。エージェントタイプを絞ると、この無駄が減り、エージェントは今のフェーズに集中できます。 実践的な進め方として、まずはすべての Skills を Generic で作成します。何回か調査を実行したら、各 Skill がどのフェーズで最も役立ったかを振り返り、対象を絞り込みます。デプロイのロールバック手順は Incident Mitigation に適しています。トリアージ中に読み込んでも、エージェントはまだその手順を実行できず、コンテキストを無駄にするだけです。オブザーバビリティギャップ分析は Evaluation に適しています。これはインシデント対応ではなく、事前に行う作業です。重大度の分類ガイドは Incident Triage に適しています。アラームの発火直後に使う必要があり、エージェントが 20 分調査したあとでは遅すぎます。 On-demand と Generic の違いは重要です。On-demand の Skill は、誰かがチャットでエージェントに明示的に質問したときにだけ起動します。その場の問い合わせに答えるためにチームのアーキテクチャをまとめた Skill は、On-demand に置きます。インシデント中に自動で起動してほしい Skill は、インシデント系のタイプか Generic に置きます。 AWS DevOps Agent が Directed actions に対応したことで、Incident Mitigation 向けの Skills は見直す価値が出てきました。Directed actions とは、接続済みのサービスや AWS アカウントに対して、エージェントに明示的に実行を依頼する操作のことです。 読み取り専用のアクションはデフォルトで利用できます。リソースを作成・変更するアクションはデフォルトで無効になっており、使うには明示的に有効化する必要があります。承認の操作と、承認後に実行されたアクションは、どのオペレーターが承認したかがわかる形で AWS CloudTrail に記録されます。 Directed actions を有効にすると、Incident Mitigation の Skill は「対処方法を説明する」だけでなく、「承認された対処を実行するまでエージェントを導く」ことができるようになります。こうした Skills も、他の Skills と同じ規律で書いてください。明確な前提条件、はっきりした停止ポイント、そして実行する前にプランを示して承認を求める指示を入れます。 私たちが Skills を特定のエージェントタイプに絞り込んだところ、エージェントの調査結果は焦点がはっきりしたものになりました。トリアージの回答は、根本原因を早まって推測するのではなく、簡潔な重大度の評価になりました。RCA のフェーズでは、まだ必要のない対処手順にコンテキストウィンドウを使わずに済むぶん、より深く調査できるようになりました。 参考資料を含める Skill に参考ファイルを添えておくと、エージェントが調査中に推論の材料として使える構造化データを渡せます。 SKILL.md には調査ロジックを、参考ファイルにはそのロジックが使うドメイン知識を置きます。 メトリクスのしきい値表は、その環境における「正常」と「要注意」の基準を定めます。エージェントは調査中、現在のメトリクスをこの基準と比較できます。 # references/rds-metrics-reference.md | メトリクス | 正常な範囲 | 調査を始めるしきい値 | |---------------------|-----------------------------|---------------------------| | DatabaseConnections | max_connections の 70% 未満 | max_connections の 80% 超 | | ReadLatency | 5 ms 未満 | 20 ms 超 | | WriteLatency | 5 ms 未満 | 20 ms 超 | | FreeStorageSpace | ストレージ全体の 30% 超 | ストレージ全体の 20% 未満 | | CPUUtilization | 70% 未満 | 85% 超 | エラーコードの対応表は、わかりにくいエラーコードを調査の進め方に結び付けます。たとえば、 ORA-12519 の意味をエージェントに推測させる代わりに、「リスナーの接続数の上限に到達。コネクションプールの設定を確認する」と直接対応付けられます。 アーキテクチャの情報には、その環境固有のサービス間の依存関係、データの流れ、障害ドメインを記録します。インフラ構成を見ただけでは障害の影響範囲がわかりにくいマイクロサービス構成で、特に役立ちます。 エスカレーション手順は、他のチームを巻き込むべきタイミングと方法をエージェントに伝えます。正式なドキュメントにはほとんど残っていないものの、インシデント対応では欠かせない運用知識です。 参考資料を含む Skill のディレクトリ構成は、次のようになります。 ecs-deployment-investigation/ ├── SKILL.md ├── references/ │ ├── ecs-error-codes.md │ ├── deployment-strategies.md │ └── healthy-thresholds.md └── assets/ └── ecs-investigation-flow.png Skills を組み合わせてエンドツーエンドのワークフローを作る 個々の Skill は単独でも役立ちますが、本当の価値は Skills を組み合わせたときに生まれます。AWS DevOps Agent は 1 回の調査で複数の Skills を読み込むため、内容が重複せず、互いを補完するように Skills を設計できます。 たとえば、デプロイ後に Amazon ECS のサービスが失敗し始めたケースを考えます。この場合、3 つの Skills を連携させられます。1 つ目は CI/CD システムから直近のデプロイを取得する Skill、2 つ目はコードリポジトリから関連する変更を探す Skill、3 つ目は ECS タスクの失敗とスケーリングの挙動を調査する Skill です。 エージェントはこの 3 つをすべて読み込み、デプロイのタイミングとコードの変更、サービスの健全性を突き合わせます。シニアエンジニアが行うのと同じワークフローを、自動で実行するわけです。 設計の原則はシンプルです。各 Skill は単独でも役立ち、かつ他の Skills と組み合わせられるようにします。たとえば CI/CD パイプラインの Skill は、コードリポジトリの Skill も読み込まれていることを前提にしてはいけません。単独でも意味のある調査結果を出し、他の Skills の結果と組み合わさるとさらに価値が高まる、という形にします。 これは、調査全体を 1 つで網羅しようとする巨大な Skill を作るべきではない、ということでもあります。「ECS に関するすべて」を扱う Skill は、 description を十分に具体的にできないため安定して起動せず、サイズも大きすぎて効率よく読み込めません。「ECS のデプロイの問題」「ECS のスケーリングの問題」「ECS のネットワークの問題」のようにテーマを絞った Skills に分け、必要に応じてエージェントに組み合わせさせましょう。 カスタム MCP ツールの使い方をエージェントに示す AWS DevOps Agent にカスタムの MCP サーバーを接続している場合、そのツールを効果的に使う方法を Skill に書いておけます。Skill がないと、エージェントはツールがあることはわかっていても、その環境に合ったパラメーターや結果の読み解き方まではわからない場合があります。 --- name: custom-deployment-tracker-investigation description: 社内のデプロイ追跡用 MCP 連携を使って、直近のデプロイに関連する インシデントを調査する手順。インシデントが、サービスのデプロイや CI/CD パイプライン経由の設定変更と関連していそうなときに使用する。 --- # デプロイとの関連を調べる 直近のデプロイが関係していそうなインシデントを調査するときは、次の手順に従う。 ## Step 1: 直近のデプロイを照会する `deployment-tracker-get-changes` ツールを、次のパラメーターで使う。 - `environment`: 影響を受けている環境に合わせる(production、staging) - `timeRange`: インシデント開始時刻の 4 時間前を指定する - `service`: 影響を受けているサービスの識別子 ## Step 2: デプロイとインシデントの時系列を突き合わせる デプロイの時刻とインシデントの開始時刻を比較する。インシデント開始の直前 30 分間に 行われたデプロイは、疑わしい候補として優先的に調べる。そのデプロイに設定変更や 依存関係の更新が含まれていたかを確認する。これらは、デプロイ後にトラフィックが 増えてから表面化するレイテンシ関連のインシデントでよくある原因である。 このパターンでは、いつツールを使うか、シナリオごとにどのパラメーターを使うか、結果をどう読み解くかを書いています。これによってエージェントは、「デプロイ追跡ツールにアクセスできる」状態から、「この環境でデプロイ起因のインシデントを調査するとき、このツールをどう使えばよいかわかっている」状態になります。 Skills とメモリは補い合う Skills は、ユーザーが書く指示です。一方、メモリは、エージェントが蓄積し、ユーザーが整理して活用できる運用知識です。AWS DevOps Agent は、環境のトポロジー、コードの依存関係、パイプラインの構成、ツールの使い方のパターンなど、学習した知識をメモリとして保持するようになりました。また、チーム、サービス、繰り返し発生する問題ごとに運用知識をまとめる独自のメモリストアも作成できます。この 2 つは互いに補い合います。Skill は調査のワークフローを記述し、メモリストアはそのワークフローが参照する環境固有の事実を保持します。 実践的な分担としては、長く使える再利用可能な手順は Skill に書き、変化の速い環境固有の事実はメモリに置きます。メモリは Skill を編集せずに更新できます。こうすると Skills が安定し、次のセクションで説明する「Skill の陳腐化」も起きにくくなります。変わりやすい情報を、あらかじめメモリに移しているからです。 見落としやすい失敗パターン 具体的な description を書く、判断の分岐を入れる、巨大な Skill を作らない、といった基本はここまでで説明しました。以下の失敗はもっとわかりにくく、本番で Skills を数週間から数か月運用したあとに表面化します。 組み合わせると矛盾する Skills。 2 つの Skills が同時に読み込まれ、相反する指示を出す場合があります。たとえば「データベースのコネクション数を増やす」Skill と「コネクションプールのサイズを減らす」Skill が同じ RDS のインシデントで両方起動すると、エージェントは矛盾する推奨を受け取ることになります。新しい Skill を公開する前に、同じアラームや症状を対象にしている既存の Skills を確認しましょう。同時に読み込まれる可能性がある場合は、判断の境界をはっきり書いてください。たとえば「コネクション数が多くても CPU 使用率が正常なら、コネクションプールのリークと判断してコネクション数を減らす。コネクション数が多く、CPU 使用率も上限に張り付いているなら、データベースの容量を増やす」のように書きます。 インフラの変化に追いつかず、陳腐化する Skills。 半年前に ECS クラスター向けに書いた Skill は、すでに存在しないタスク定義、サービス名、メトリクスのしきい値を参照しているかもしれません。コードと違い、Skills が古いインフラを参照しても、その問題は明確なエラーとして表れません。エージェントは古い手順にそのまま従い、的外れな調査結果を出してしまいます。Skills はランブックと同じように扱い、四半期ごとに見直して、変更管理のプロセスに組み込みましょう。 SKILL.md には last_verified のコメントを入れて、調査手順を実際のインフラで最後に検証した時期がレビュー担当者にわかるようにしてください。しきい値、リソース名、依存関係の図など、変わりやすい情報はメモリストアに移し、Skill とは別に更新できるようにすることも検討しましょう。 エージェントが臨機応変に動けない、厳格すぎる手順。 「メトリクス X を確認し、次に Y、次に Z を確認する」と厳密な順序を決めた Skill は、実際のインシデントが想定したパターンと違ったときに、エージェントを一本道に閉じ込めてしまいかねません。抜け道がないと、エージェントは全ステップを律儀にこなして「問題なし」と報告します。その間も、本当の根本原因は、Skill が一度も触れていないシステムに潜んだままです。抜け道となる分岐を用意してください。Step 1 の結果が正常だったときに備えて、「Step 4 に進む」や「この Skill は当てはまらない可能性がある。ここまでの結果を報告し、一般的な調査に任せる」といった指示を入れておきます。 意図せず対象範囲が重複する Skills。 時間がたつと、別々のメンバーが書いた Skills の対象範囲が重なってきます。たとえば「API レイテンシの調査」Skill と「サービスのタイムアウトの調査」Skill が、同じ CloudWatch メトリクスを確認し、同じ呼び出し経路をたどっている、といったケースです。エージェントは両方を読み込んで同じ作業を繰り返し、重複した調査結果にコンテキストを使ってしまいます。Skills の一覧表を管理しましょう。Skills と、それが対象とするアラームやサービスを対応付けた簡単なスプレッドシートでも構いません。新しい Skill を追加するときに、重複がないかを確認してください。 はじめ方 まずは、直近の四半期のインシデントのカテゴリーから上位 3 つを選んでください。これらは、Skill の効果を最も早く実感できるシナリオです。 それぞれについて、普段その種類のインシデントに対応しているシニアエンジニアに話を聞きます。「このインシデントで呼び出されたら、最初に何を確認しますか?」と尋ねてください。その答えが、Skill の Step 1 になります。続けて「次に何を確認しますか? X と Y のどちらなのかは、何で見分けますか?」と尋ねれば、調査のワークフローができあがります。 明確で具体的な手順を書いた 20 行の SKILL.md は、あいまいな内容の 200 行のドキュメントよりも効果があります。シンプルに始めて実際に調査を実行し、エージェントがうまくできたところ、つまずいたところをもとに改善していきましょう。Skills が増えてきたら、Skills やその他のアセットを Infrastructure as Code として宣言的に管理し、他のインフラと同じようにパイプラインを通じて複数の Agent Space にデプロイできるようになります。 ゼロから書き始めたくない場合は、オープンソースの AWS DevOps Agent Tools リポジトリに、コミュニティが作成した Skills、カスタムエージェント、MCP サーバーがあります。そのまま取り込むことも、手を加えて使うこともできます。 Skill の構成と作成方法の詳細は AWS DevOps Agent Skills のドキュメント を、Agent Space のセットアップについては AWS DevOps Agent を本番環境にデプロイするためのベストプラクティス を参照してください。 Skills は、エンジニアがチームを異動しても、組織の知識が失われないようにする仕組みです。チームがうまく調査できたインシデントは、どれも「まだ書かれていない Skill」です。 最初の Skill は、チームで最も経験豊富なエンジニアが、普段ほとんど意識せずに行っている調査から始めましょう。どのダッシュボードを開き、どのロググループを検索し、どのメトリクスがどのしきい値を超えたら「すぐにロールバック」なのかを、その人はすでに知っています。それを書き出せば、深夜 2 時に誰が呼び出されても、その専門知識が活かされるようになります。 Nisha Notani Nisha Notani は、AWS ロンドンのシニアテクニカルアカウントマネージャーです。エンタープライズのお客様を対象に、AWS 環境全体のオブザーバビリティ、オペレーショナルエクセレンス、レジリエンスの強化を支援しています。メンターやコーチとしても積極的に活動しており、学校やカレッジでボランティアとして学生のキャリア形成を手助けしています。 Damini Kumar Damini Kumar は、AWS シドニーのテクニカルアカウントマネージャーです。エンタープライズのお客様とともに、AWS 環境でのクラウド活用、オペレーショナルエクセレンス、イノベーションを推進しています。AI、オブザーバビリティ、自動化に強い関心を持ち、お客様向けのワークショップやイネーブルメントセッション、ナレッジ共有の取り組みを通じて、AWS の技術コミュニティにも積極的に貢献しています。また、新しいクラウド技術や AI 技術を、お客様や幅広い技術コミュニティにとって実用的で身近なものにすることに力を注いでいます。 本ブログは 2026 年 9 月 30 日に公開された Best practices for writing AWS DevOps Agent Skills の日本語訳です。翻訳はテクニカルアカウントマネージャーの日平が行いました。
はじめに 8 月と 9 月は、 Amazon CloudWatch Omni が一般提供 (GA) となりました。Omni は AI ファーストかつアプリケーション中心のオブザーバビリティを提供し、AWS アカウント、リージョン、Azure のワークロードをまたいだテレメトリを 1 つのスペースに集約します。アラームにはウォームアップ期間 (アラーム作成後、一定時間だけ評価を遅延させる機能) とウォールクロック評価ウィンドウ (毎時 0 分や深夜 0 時といった暦の境界に評価を揃える機能) が追加され、起動時のデータの欠落やスライディングウィンドウ (時間の経過とともに対象範囲がずれていく従来の評価ウィンドウ) 特有のエッジケースから生じるノイズを削減できるようになりました。データベースのオブザーバビリティは Amazon EC2 上に自前で構築・運用する自己管理型 PostgreSQL と Amazon Aurora DSQL にも対応し、デプロイ形態を問わずデータベースフリート全体を 1 つのコンソールでモニタリングできます。AWS CloudTrail には AI による調査機能が加わり、アカウント内で誰が何をしたのかを Amazon Q Console にふだんの言葉で質問できるようになりました。ログ収集は対応範囲を拡大し、journald のネイティブサポート、GeoIP・Amazon RDS・XML 用の新しいパイプラインプロセッサ、一元化されたログへのタグの伝播に対応しました。そして AWS HealthOmics から Amazon WorkSpaces、Amazon MSK まで、ポートフォリオ全体のサービスがより充実したテレメトリを CloudWatch に発行し始めており、その多くは OpenTelemetry を使って構築されています。 それでは、Amazon CloudWatch と AWS DevOps Agent の最新情報をご紹介します。 これらのローンチのライブデモをご覧になりたい方は、2026 年 10 月 13 日 11:00〜12:00 (ET、日本時間 10 月 14 日 0:00〜1:00) 開催の「 I didn’t know Amazon CloudWatch could do that! 」ウェビナー (英語開催) にご登録ください。過去のまとめを見逃した方は、「 今月の AWS オブザーバビリティ 」の 2026 年 1 月〜5 月 、 2026 年 6 月 、 2026 年 7 月 のブログをご覧ください。 Amazon CloudWatch Omni のご紹介: エージェントとアプリケーションのための AI ファーストなオブザーバビリティ この期間で最も大きなローンチは、一般提供が開始された Amazon CloudWatch Omni です。Omni は、チームとそのチームが運用するアプリケーションを軸に構成し直し、Amazon CloudWatch を AI 駆動のオブザーバビリティへと進化させたものです。中央アカウントにスペースを作成すると、AWS アカウントやリージョンをまたいだテレメトリに加えて、Azure のワークロードを含む他のクラウドのテレメトリも確認できます。Omni はサービスを自動的に検出し、依存関係をマッピングし、ゴールデンメトリクスを提示することで、運用ワークフローを効率化します。 図 1: アプリケーションと AI エージェントが 1 つのビューを共有します。CloudWatch Omni はインフラストラクチャとエージェントのオブザーバビリティを単一の体験に統合し、IDE または Omni の Web UI 上でエンタープライズ SSO とともに提供します。 Omni の特徴は、テレメトリとの関わり方そのものです。自然言語でチャットすれば、Omni が関連するシグナルを見つけ出し、動的なビューを構築し、AWS DevOps Agent を活用して根本原因の特定を支援します。自分で操作したい場合は、重要なシグナルをクリックしながら辿っていくこともできます。パフォーマンスが劣化しているアプリケーションを調査する場合でも、トレースや評価を深掘りする場合でも同様です。 Omni は、LangGraph、CrewAI、OpenAI Agents SDK、Vercel AI SDK、Strands といったフレームワークにわたって、評価駆動の開発ワークフローによるエージェントのオブザーバビリティを提供します。プロンプト、モデル呼び出し、ツール呼び出しのそれぞれについて品質を評価し、実験を実行できます。VS Code、Cursor、Kiro 用の CloudWatch Omni 拡張機能は無料で利用でき、ローカル環境でのエージェントの計装、デバッグ、評価が可能です。 CloudWatch Omni について詳しくは、以下のウェビナーをご覧ください。 10 月 7 日 14:00〜15:00 ET (GMT-4)、日本時間 10 月 8 日 3:00〜4:00 、 10 月 7 日 9:00〜10:00 シンガポール時間 (GMT+8)、日本時間 10 月 7 日 10:00〜11:00 、 10 月 8 日 14:30〜15:30 BST (GMT+1)、日本時間 10 月 8 日 22:30〜23:30 。 よりスマートなアラームの構築: ノイズの削減と整合性の向上 今回のアラーム関連のローンチで最も明確なテーマは、アラームが「いつ、どのように評価するか」をより賢く判断できるようにすることです。 Amazon CloudWatch で、 メトリクスアラームとログアラームにウォームアップ期間を設定 できるようになりました。アラームを作成した後、設定した時間だけ評価を遅延させる機能です。これにより、新しいリソースやサービスが起動してメトリクスの発行を開始するまでの間に発生する、データの欠落に起因するノイズを削減できます。たとえば、CI/CD パイプラインで新しいマイクロサービスとそのアラームを同時にプロビジョニングするチームは、ウォームアップ期間を設定しておくことで、サービスの起動中にアラームがオンコールエンジニアを呼び出してしまうことを防げます。モードは 2 つあり、指定した固定時間だけ待機するモードと、メトリクスのデータが評価ウィンドウを満たした時点で CloudWatch が自動的に評価を開始するモードがあります。ウォームアップ期間は 1〜2,880 分の範囲で設定でき、標準の CloudWatch アラーム料金以外の追加料金はかかりません。 CloudWatch アラームは、 ウォールクロック評価ウィンドウもサポート するようになりました。毎時 0 分、深夜 0 時、週の開始時点といった固定のカレンダー境界にアラームの評価を揃えられます。これは既存のスライディングウィンドウの動作を補完するもので、定期実行のワークロードやビジネスサイクルに沿ったワークロードを想定した機能です。スライディングウィンドウを使った日次バックアップのアラームは、連続するバックアップの間隔が 24 時間をわずかに超えただけで、暦日ごとにはバックアップが成功しているにもかかわらず誤って状態が変化することがあります。ウォールクロックウィンドウは暦日ごとに独立して評価するため、この問題が解消されます。タイムゾーンを指定できるため日次アラームを自社の営業日に合わせられ、夏時間への移行も自動的に処理されます。 データベースオブザーバビリティの拡大: 対応エンジンとデプロイ形態の拡充 Database Insights は対応エンジンを拡大し続けており、この 2 か月で 2 つの重要なマイルストーンに到達しました。 Amazon CloudWatch Database Insights が、Amazon EC2 上で稼働する 自己管理型 PostgreSQL データベースをサポート しました。CloudWatch エージェントを使って自己管理型インスタンスからヘルスとパフォーマンスのデータを収集すると、それらが Database Insights のフリートビューに表示され、データベース負荷、待機イベントの分析、クエリレベルの統計、ホストメトリクスといったライブのパフォーマンスデータを確認できます。AWS マネージドのデータベースですでに使っているものと同じコンソールとワークフローでモニタリングとトラブルシューティングができるため、PostgreSQL フリート全体を 1 か所でモニタリングできます。 Amazon Aurora DSQL に、ステートメント単位・クラスターレベルのパフォーマンスモニタリングを提供する 新しい Database Insights メトリクス が追加されました。アクティブなすべてのクラスターセッションについて、サンプリングされた待機状態と正規化された SQL ステートメントを取得するため、パフォーマンスの問題を診断し、最もリソースを消費しているクエリを特定できます。このメトリクスは Database Insights、PromQL、および Aurora DSQL のシステム診断 AI スキルからクエリでき、デフォルトで追加費用なしに利用できます。 AI による自然言語での調査 AWS CloudTrail が Amazon Q Console と統合 され、自然言語で AWS アカウントのアクティビティを調査できるようになりました。Amazon Q Console に CloudTrail の設定について質問したり、セキュリティ調査のために記録済みのイベントをクエリしたり、クエリの記述やログファイルの手動でのパースをせずに運用上の問題をトラブルシューティングしたりできます。 この統合により、トレイルが適切に設定されているかの確認、ログ記録範囲の抜け漏れの特定、追跡しているデータイベントソースの確認が可能になります。セキュリティ上の懸念については、特定の IAM ロールに誰がアクセスしたか、VPC 設定にどのような変更が加えられたか、過去 1 週間に不正なアクセス試行がなかったかといった質問ができます。運用のトラブルシューティングでは、特定のリソースを作成または削除したのは誰か、どの API 呼び出しがエラーを発生させているか、特定の IP アドレスからのアクティビティの追跡、請求額が急増した理由の特定などを Q Console に尋ねられます。Q Console はお客様に代わってトレイル、関連する CloudWatch ロググループ、イベントデータストアをクエリし、一般的なドキュメントの内容ではなく実際のアカウントのアクティビティに基づいた回答を提供します。 大規模なログの収集とエンリッチメント クエリやダッシュボードに届く前の段階で、収集できる対象とエンリッチできる方法を拡張するローンチが複数ありました。 Amazon CloudWatch エージェントが、Linux インスタンス上の systemd journal (journald) ログをネイティブに収集 できるようになりました。ログをいったんディスク上のファイルに書き出す必要はありません。Amazon Linux 2023 を含む多くの最新の Linux ディストリビューションは systemd journal を主要なロギングシステムとして採用しており、デフォルトでは従来のテキストログファイルを出力しません。エージェントは journald のエントリをネイティブに読み取り、systemd ユニット、優先度、プロセス情報といった journald が取得する構造化メタデータを保持します。systemd ユニット、ジャーナルの優先度レベル、ジャーナルフィールドの一致条件でログエントリをフィルタリングしたり、発行前に正規表現フィルターを適用したりできるため、ノイズを削減し、ログの量とコストをコントロールできます。 Amazon CloudWatch Pipelines に、取り込み時にログデータをパースおよびエンリッチする 3 つの新しいプロセッサ が追加されました。Amazon RDS プロセッサは、コンプライアンスレポート向けに Aurora の監査ログとエラーログを構造化フィールドにパースします。XML パーサーは、XML 文字列を含むフィールドを JSON に変換します。GeoIP プロセッサは、セキュリティ分析のために任意の IP アドレスフィールドに都市、国、座標といった地理的コンテキストを付加します。これらのプロセッサは個別にも、1 つのパイプライン内で組み合わせても利用でき、追加費用はかかりません。 CloudWatch Centralization が、一元化ルールによって作成された送信先ロググループに、ソースアカウントのロググループのタグをコピー し、同期を維持するようになりました。プラットフォームチームは、一元化されたロググループで Application タグや CostCenter タグを保持しておくことで、それらのタグを使って IAM 条件でアクセス範囲を限定したり、AWS Cost Explorer でチームごとに一元化されたログのコストをレポートしたりできます。 Transit Gateway ピアリングをまたぐネットワークヘルスのモニタリング CloudWatch Network Monitoring が、AWS Transit Gateway のリージョン間ピアリング接続を経由するパスまで ネットワークヘルスインジケーターを拡張 しました。これまで合成モニターがカバーしていたのは、AWS Direct Connect 経由で接続するパスのみでした。今回から、Transit Gateway のリージョン間ピアリングを経由してピアリング先リージョンの送信先に到達するパスについて、ピアリング接続までの AWS ネットワークパスのヘルス状態がインジケーターに反映されます。これにより、ネットワーク運用者やアプリケーション開発者が、これらのパスで発生した劣化の原因を切り分けるのに費やす時間を短縮できます。 AWS サービスのオブザーバビリティ統合の深化 この 2 か月で、ポートフォリオ全体の AWS サービスが CloudWatch との統合を深めました。 AWS HealthOmics が、 14 個のリアルタイムの実行メトリクスを CloudWatch に発行 するようになりました。CPU と GPU の使用率、メモリ使用量、ファイルシステムの使用量と I/O、ネットワークスループット、エフェメラルストレージをカバーします。メトリクスは CloudWatch の OpenTelemetry 標準で出力されるため、ネイティブの CloudWatch ダッシュボードやアラームに加えて、サードパーティのオブザーバビリティツールと統合することもできます。実際の使用量と割り当て済みリソースを比較することで、バイオインフォマティクスワークフローのコンピューティングとストレージを過不足のないサイズに見直せます。 Amazon WorkSpaces と Amazon WorkSpaces Applications が、いずれも パフォーマンスとセッションヘルスに関する追加のメトリクス を CloudWatch に発行するようになりました。ネットワークパフォーマンス (TCP 再送率、輻輳ウィンドウ)、コンピューティングリソースの使用率 (GPU 使用率、CPU キュー長)、ストレージメトリクス (ディスク I/O キュー長、メモリページのハードフォールト)、セッションのライフサイクルイベントをカバーします。 Amazon ECS が Amazon EC2 G6f インスタンスでの GPU の分割スケジューリングをサポートし、NVIDIA L4 Tensor Core GPU の 8 分の 1 という小さな GPU パーティション上でワークロードを実行できるようになりました。 GPU メトリクスは CloudWatch Container Insights から利用でき 、自動ヘルスモニタリングが GPU のハードウェア障害を検出して異常なインスタンスを置き換えることで、ワークロードへの影響を最小限に抑えます。 AWS Cloud Operations Blog の関連記事 (2026 年 8 月〜9 月) 2026 年 8 月〜9 月に AWS Cloud Operations Blog で公開された記事は以下のとおりです。 Introducing Amazon CloudWatch Omni: Observability for the AI era – Mukul Karnik Root cause analysis with Amazon Managed Service for Prometheus and AWS DevOps Agent – Mohamed Sherif Investigate your AWS account activity in plain language with Amazon Q – Rizwan Mohammed, Parijat Protim Bezbaruah, Samir Behara Reduce MTTR with AI-Driven RCA Using AWS DevOps Agent and Splunk – Amandeep Singh, Aakash Tanwani Amazon CloudWatch Logs で Application Load Balancer のログを分析する – Raviteja Sunkavalli, Siva Guruvareddiar Multi-cloud observability with Amazon CloudWatch using bearer token auth and OpenTelemetry – Imaya Kumar Jagannathan, Stephen McCurry Use CloudWatch syslog and log alarms to give AWS DevOps Agent on-premises visibility – Salman Ahmed まとめ 8 月と 9 月のローンチのハイライトは、AI ワークロードとエージェントのための AI ファーストかつアプリケーション中心のオブザーバビリティソリューションである CloudWatch Omni です。アラームはウォームアップ期間とウォールクロックウィンドウによってより賢くなり、ノイズを削減しつつ現実のスケジュールに合わせられるようになりました。データベースのオブザーバビリティは、Aurora DSQL から自己管理型 PostgreSQL までフリート全体をカバーします。AI による調査機能によって、CloudTrail をふだんの言葉でクエリできるようになりました。ログ収集は journald、より大きな API Gateway の実行ログ、新しいパイプラインプロセッサへと広がりました。そしてポートフォリオ全体の AWS サービスがより充実したテレメトリを CloudWatch に発行しており、いずれも OpenTelemetry ファーストという方向性を継続しています。 これらの機能を使い始めるにあたっての要点を以下に挙げます。 CloudWatch Omni のスペースを作成 してチーム用に SSO を設定し、VS Code、Cursor、または Kiro 用の CloudWatch Omni 拡張機能をインストールして、ローカル環境でエージェントを計装・評価する。 新しいアラームに ウォームアップ期間を設定 して起動時のノイズを解消し、定期実行のワークロードやビジネスサイクルに沿ったワークロードにはウォールクロック評価ウィンドウを追加する。 Amazon EC2 上で稼働する自己管理型 PostgreSQL インスタンスで Database Insights を有効化 する。 CloudTrail の設定 やアカウントのアクティビティについて、Amazon Q Console に質問する。 CloudWatch エージェントの設定 に journald のセクションを追加し、CloudWatch Pipelines に GeoIP、Amazon RDS、XML のプロセッサを追加する。 最近のローンチの一覧については、Amazon CloudWatch で絞り込んだ AWS What’s New ページ をご覧ください。 さらに詳しく知りたい方へ 2026 年 10 月 13 日 11:00〜12:00 (ET、日本時間 10 月 14 日 0:00〜1:00) 開催の「 I Didn’t Know Amazon CloudWatch Could Do That! 」ウェビナー (英語開催) にご参加ください。これらの新機能の実際の動作をご覧いただき、トラブルシューティングにお役立てください。 著者について Dot Ho Dot は AWS オブザーバビリティのシニアテクニカルプロダクトマーケティングマネージャーです。WCA 3×3 多面目隠し解きの記録更新を目指して練習中です。 Erik Weber Erik Weber は AWS Cloud Operations サービスのシニアワールドワイドスペシャリストソリューションアーキテクトです。AWS Systems Manager、AWS Config、AWS CloudTrail、AWS Audit Manager を専門としています。仕事以外では、ハイキング、料理、サイクリングを楽しんでいます。 Kevin Lewin Kevin は Amazon Web Services のクラウドオペレーションスペシャリストソリューションアーキテクトです。オブザーバビリティと自動化を通じて、お客様が運用上の目標を達成できるよう支援することに注力しています。 本ブログは 2026 年 9 月 25 日に公開された This Month in AWS Observability: August – September 2026 の日本語訳です。翻訳はテクニカルアカウントマネージャーの日平が行いました。
Amazon S3 テーブルは 、Apache アイスバーグ V3 仕様のすべてのデータタイプをサポートするようになりました。V3 テーブルを作成するか、既存の V2 テーブルをアップグレードして、削除ベクトル、行系列、バリアント、ナノ秒タイムスタンプ、不明、ジオメトリ、地理などの新しいデータタイプなどの V3 機能 を活用できます。 Apache Iceberg は、大規模な分析データセットを管理するためのオープンスタンダードになりました。 Amazon S3 などのオブジェクトストレージのデータレイクにある開いている Parquet ファイルにデータを保存したまま、スキーマの進化、隠しパーティショニング、タイムトラベルクエリなどの機能を使用してペタバイト規模のテーブルを管理できます。Amazon S3 Tables は、自動コンパクション、メンテナンス、レプリケーション、インテリジェント階層化などのフルマネージド機能を備え、アイスバーグテーブルが拡大してもパフォーマンスと費用対効果を維持できるように設計されたストレージを提供します。 Apache Iceberg V2 テーブルで分析を実行しているチームは、データが増えるにつれて同じ制限に達することがよくあります。20億行のテーブルから50,000件のユーザーレコードを削除するというコンプライアンス要求があると、位置削除ファイルが残り、コンパクションが実行されるまでクエリが遅くなります。半構造化イベントは JSON 文字列として生成され、すべてのクエリで解析する必要があります。地理空間座標とナノ秒精度のタイムスタンプは、文字列または整数としてエンコードされます。回避策を実行するたびに、ストレージコスト、クエリレイテンシー、パイプラインコードが追加されます。V3では、Iceberg が半構造化データや地理空間データのネイティブサポート、より高速な行レベルの操作、データガバナンスのための組み込み行リネージを提供することで、これらの課題を解決しています。 2026 年 9 月 30 日より、Amazon S3 テーブルは、バリアント、ナノ秒タイムスタンプ、ジオメトリ、ジオグラフィー、unknown を含むすべての V3 データタイプをサポートし、削除ベクトルや行リネージもサポートします。新しい V3 テーブルを作成したり、既存の V2 テーブルをその場でアップグレードしたりしても、S3 テーブルは引き続きコンパクションとメンテナンスを実行します。 Apache Iceberg V3 V3 は Iceberg仕様 の最新バージョンです。多くの改良点の中でも、V3 には V2 で最も一般的な問題点に対処する機能が導入されています。これには以下が含まれます。 削除ベクトルは 、V2 の位置削除ファイルをコンパクトなバイナリ形式に置き換えます。この50,000行のコンプライアンス削除では、数千の小さな削除ではなく、1つの削除ベクタファイルが書き込まれるようになり、圧縮時間と削除ファイルのオーバーヘッドが大幅に削減されました。 行系統は _row_id と _last_updated_sequence_number を各レコードに自動的に追加します。ダウンストリームのパイプラインでは、テーブル全体をスキャンしなくても、これらのフィールドをクエリして変更された行を見つけることができます。 新しいデータタイプ では、半構造化データ、地理空間データ、ナノ秒精度データを文字列や整数としてエンコードする代わりにネイティブに保存できます。 ナノ秒タイムスタンプ (tz) (ナノ秒精度のタイムスタンプ用) 地理空間データ用の ジオメトリ と ジオグラフィー 既知の型がない列向けの Unknown バリアントデータタイプ は、半構造化データを列指向形式で格納します。書き込み中、エンジンはバリアントデータを非表示の列に細断し、統計を収集します。クエリ時には、これらの統計情報によってファイルプルーニングが可能になり、JSON 文字列を解析する場合と比較して I/O が大幅に削減されます。 以下のセクションでは、これらの V3 機能を実際に使用する方法を例を挙げて説明し、テーブルを作成する方法、新しいデータ型を操作する方法、およびデータを大規模に管理する方法を例を挙げて説明します。 使用の開始 小売分析チームは、ウェブアプリとモバイルアプリ全体でユーザーの行動を追跡します。各イベントの構造は異なります。ページビューには URL と期間、購入にはアイテムと金額、検索にはクエリ用語と結果数が含まれます。V3 のバリアントタイプでは、事前定義済みのスキーマなしで、すべてのイベントシェイプを 1 つのテーブルに格納できます。 CREATE TABLE my_catalog.namespace.clickstream ( event_id bigint, event_time TIMESTAMP, user_id string, payload variant ) USING iceberg TBLPROPERTIES (『format-version』 = 『3』) スキーマの進化を気にすることなく、さまざまなペイロード形状のイベントを挿入できます。 INSERT INTO my_catalog.namespace.clickstream VALUES (1, current_timestamp(), 『user-42』, PARSE_JSON(『{「action」: 「purchase」, 「amount」: 99.99, 「items」: [「laptop_stand」]}』)), (2, current_timestamp(), 『user-17』, PARSE_JSON ('{"action」:「page_view」,「url」:「/products/webcam」,「duration_ms」: 4200}'); 次に、読み取り時に PARSE_JSON を使用せずに、バリアント列を直接クエリします。Amazon EMR Spark では、 variant_get を使用してください: SELECT event_id, user_id, variant_get(payload, 『$.action』, 『string』) AS action, variant_get(payload, 『$.amount』, 『double』) AS amount my_catalog.namespace.clickstream から WHERE variant_get (ペイロード、』$.action』、』文字列』) = 『purchase』 AND variant_get(ペイロード, 『$.amount』, 『double』) > 50.00ペイロード 書き込み操作の削除ベクタを有効にするには、マージオン読み取りモードを設定します。 ALTER TABLE my_catalog.namespace.clickstream SET TBLPROPERTIES ( 『write.delete.mode』 = 『merge-on-read』, 『write.update.mode』 = 『merge-on-read』, 『write.merge.mode』 = 『merge-on-read』 ) これで、コンプライアンス削除を実行すると、V3 はデータファイルを書き換える代わりに小さな削除ベクタを書き込むようになりました。 DELETE FROM my_catalog.namespace.clickstream WHERE user_id = 『user-42』 S3 Tables Compaction は、次のメンテナンスサイクルでこれらの削除ベクターファイルを自動的に処理します。 V2 からのアップグレード AWS では、V3 への移行中の中断を最小限に抑えるために、両方のバージョンに下位互換性を提供しています。既存の V2 リーダーは、V3 機能を完全に採用する準備ができるまで、アップグレードされたテーブルで引き続き機能します。詳細については、 S3 テーブル Iceberg V3 ドキュメントを参照してください。 データを書き換えることなく、既存のテーブルをアトミックにアップグレードします。 ALTER TABLE my_catalog.namespace.existing_table SET TBLPROPERTIES (『format-version』 = 『3』) 次の圧縮サイクルで、S3 テーブルは古い V2 削除ファイルを削除します。新しい修正では削除ベクトルが自動的に使用されます。行系統フィールドは、アップグレード後の最初のデータ変更時に初期化されます。 これは一方向の操作です。Apache Iceberg 仕様は、V3 から V2 へのダウングレードをサポートしていません。アップグレードする前に、テーブルにアクセスするすべてのエンジンが V3 をサポートしていることを確認してください。 インクリメンタルパイプラインに行系統を使用する テーブルに V3 データが含まれたら、行系統を使用して効率的なインクリメンタルパイプラインを構築します。 SELECT *, _row_id, _last_updated_sequence_number my_catalog.namespace.clickstream から WHERE _last_updated_sequence_number > 42 これにより、シーケンス番号 42 以降に変更された行のみが返されます。ダウンストリームジョブでは、テーブル全体をスキャンする代わりに、この値を確認して、実行のたびに新しい変更のみを処理できます。 AWS 分析サービス間の互換性 AWS は、主要なクラウドプロバイダーの中で最も幅広いネイティブ Apache Iceberg サポートを提供しており、データスタックのすべてのレイヤー(取り込み、ストレージ、カタログ、分析)で Iceberg 互換サービスを提供しています。Amazon S3 テーブルに V3 テーブルを保存して自動的に最適化したり、 Amazon EMR Spark でデータを書き込んだり、 AWS Glue を使用してデータを統合および管理したり、 Amazon Redshift で分析を実行したりすることができます。V3 の AWS アナリティクスサポートの詳細については、 Apache Iceberg on AWS 規範的ガイダンスを参照してください。 S3 テーブルと AWS Glue データカタログはどちらも Iceberg REST Catalog (IRC) API をサポートしているため、カタログエンドポイントに関係なくエンジン間の相互運用が可能になります。 知っておくべきこと S3 Tables Compactionは、V3削除ベクターファイルを完全にサポートし、行系統メタデータを保持します。 新しい V3 データタイプ (バリアント、ナノ秒タイムスタンプ、ジオメトリ、地理、不明) には、Apache Spark 4.0 以降 (AWS Glue 6.0 以降) または Amazon EMR リリース 8.1 以降で構築されたエンジンが必要です。 V3 テーブルは、 Amazon S3 コンソール 、 AWS CLI 、またはアイスバーグ REST カタログ API をサポートする任意のエンジンから作成できます。 新しい V3 データ型は、Parquet ファイル形式を使用するテーブルでのみサポートされます (ORC や Avro はサポートされません)。 variant、geometry、geography、またはナノ秒タイムスタンプ型の列は、コンパクションのためのテーブルのソート順に含めることはできません。これらの列を含むテーブルは、ソート順序で他のタイプの列が使用されている場合でも、ソート方式と Z 順序方式ではコンパクトになります。 今すぐご利用いただけます すべての Apache Iceberg V3 データタイプの Amazon S3 テーブルサポートが、S3 テーブルがサポートされているすべての AWS リージョンで利用できるようになりました。Apache Iceberg V3 サポートは追加料金なしでご利用いただけます。標準の S3 テーブル料金が適用されます。 開始するには、 Amazon S3 テーブルのドキュメント を参照するか、 Amazon S3 コンソール からテーブルバケットを作成します。API を呼び出したり、ドキュメントを検索したり、リージョンごとの提供状況を確認したり、この新機能に関するトラブルシューティングを確認したりする場合は、お好みの AI ツールで AWS MCP Server と プラグイン を使用してみてください。フィードバックは、 AWS re:Post 宛てに、または通常の AWS サポート 担当者を通じてお寄せください。 – Daniel Abib 原文は こちら です。
2026年8月19日(水)、「AWS Future of Money」を開催しました。銀行・証券・決済など金融業界から約45名のお客様にご参加いただき、オンチェーン金融の最前線とAI×ブロックチェーンが変える決済の未来について、活発な議論と交流が行われました。本記事では、イベントの模様をレポートします。 企画の背景 ― オンチェーン金融が「実装フェーズ」に入る今 AWSは金融業界のお客様に向けて、インフラ提供にとどまらない、ベストプラクティスの展開やイベントでの業界横断の事例共有、コミュニティ醸成に取り組んでいます。これにより、金融機関・フィンテック企業・システムベンダーなどがAWSを通じてシステム・ビジネス両面でつながることで、業界全体のデジタル変革が加速することを目指しています。 近年で、金融・決済市場のデジタル化は構想から実装へと大きくフェーズが動きました。ステーブルコインやトークン化預金といったプログラマブルな通貨の制度整備が各国で加速し、国内でも金融機関やフィンテック企業による商用化の動きが本格化しています。一方でこのような動向は、従来の金融システムの縮小リスクを示唆するものでもあります。クロスボーダー送金の即時化やデジタル通貨を前提とした新たな市場インフラ構築をすることは、日本の金融業界が次のステージへ進み、持続的成長を果たすための極めて重要な鍵となります。 この大きな転換点において、金融機関・決済企業・パートナー企業の皆様と業界の垣根を越えて実践知を交換し、オンチェーン金融の「次の一手」を共に描く場として、「AWS Future of Money」を企画しました。   イベント概要 日時 : 2026年8月19日(水)15:00 – 19:00 会場 : 渋谷外部会場 参加者 : 金融関連事業会社、サービサーなど 約45名 AWS Session「AWSから見えるデジタル通貨の最新動向」 AWS坂口より、国内外の業界動向と180回を超えるお客様対話から見えてきたデジタル通貨の最新シグナルを共有しました。今年、金商法改正成立が話題にあがりましたが、実業と規制がバランスよく並走しています。また、ユースケースも銀行業界を中心とした発行の議論から、流通・決済といった実務での活用へ各業界で広がりを見せています。 証券業界については、デジタルアセット投資領域のポイントから成功事例に共通するレイヤードアプローチ(既存システムとの共存・段階的導入)の重要性を強調しました。100%置換を試みて失敗した教訓にも触れ、既存インフラとの補完関係が鍵であると述べました。さらに、決済業界ではAIエージェントが購買行動まで完結する「エージェンティック・コマース」による市場の変化と、決済体験を変える可能性を示しました。 本セッションを通じ、デジタル通貨が着実に広がっていることと、事業の構想段階からAWSが相談できるパートナーであることをご参加者にお届けしました。 AWS Session「デジタル通貨に関するAWSサービスの活用」 AWS松原より、デジタル通貨基盤を支えるAWSサービスを技術面から解説しました。直近のニュースとして、米国の20行を超えるトークン化ネットワーク構築、国内3行によるステーブルコイン共同発行協議会の設立、SWIFTのブロックチェーンベースの共有台帳を紹介し、グローバル含めたトレンドの強さを示しました。合わせて、クロスボーダー決済・国内決済のユースケースで解決する課題やアーキテクチャの例を紹介しました。 AWSについては、商用稼働している事例でも採用されている、EC2サービスの AWS Nitro Enclaves をピックアップして紹介しました。AWS Nitro EnclavesはEC2インスタンス内に簡単にセキュアな分離環境を作り、機密データを保護します。Fireblocks等のパートナーソリューションにも組み込まれており、お客様が意識せずともその恩恵を受けられるケースも紹介されました。 以上から、デジタル通貨における領域でもAWSのサービスは既に多くご利用頂いており、パートナーソリューションを通じても活用いただけることをお伝えしました。 Customer Session 野村ホールディングス株式会社「オンチェーン金融による資本市場の拡張」 Speaker: 佐々木 俊典 様(野村ホールディングス株式会社 デジタルアセット戦略推進部長) 野村ホールディングスの佐々木様からは、オンチェーン金融の本質と将来の市場インフラ像についてご発表しました。まず、トークン化の本質を「仲介者不要の権利移転」と定義し、短期的な24時間稼働・即時取引だけでなく、手数料構造を根本から変える構造変革が本質であると指摘しました。有価証券のトークン化は数十兆〜数百兆円規模のユースケースであり、ステーブルコインよりも大きなインパクトがあると強調。不動産セキュリティトークン(ST)は2025年度に1,400億円程度発行され、J-REIT比で半分超に成長しているなど、国内でも着実に実績が積み上がっています。 経済安全保障の観点では、「決済インフラを海外に奪われると取り返せない」と警鐘を鳴らし、自民党の「次世代AI・オンチェーン金融構想」プロジェクトにも言及。金融庁・日本銀行も参画しており、官民一体での取り組みが加速していることを示しました。 将来像としては、パーミッションド・プライベートチェーン(機関投資家向け)とパブリックチェーン(RWA: Real World Assetsのトークン化)が相互接続する世界を描き、AIエージェントが自律的に取引を最適化する「金融を意識しない世界観」を展望しました。   JPYC株式会社「ステーブルコイン活用の最前線:事業者の活用事例とそれを支えるAWS」 Speaker: 松岡 慧 様(JPYC株式会社 執行役員・計画情報部長) JPYCの松岡様からは、日本円ステーブルコインJPYCの事業展開とAWS基盤について紹介しました。2025年10月のサービス開始から9か月で、口座22,500、ホルダー71,000、累計発行71.4億円、1日あたり2〜30億円の取引を処理するまでに成長。事業者にとっての4つの価値として、(1) 送金コスト0.01円以下、(2) 24/365即時着金、(3) スマートコントラクトから直接操作可能、(4) 許可不要の公開インフラを挙げました。 具体的な活用事例として、国内初のローソン店頭POS連動ステーブルコイン決済実証(2026年8月)、物流×決済DX(配送1件完了ごとの即時報酬支払い)、AIエージェント向け決済規格X402への対応をご紹介。AWS採用理由として、インフラをコードで即座に構築できるスピード、AWS CloudTrailによる改ざん不可能な監査ログ、FISC実務基準300項目以上への対応実績を挙げました。 Customer Panel Session パネル1: オンチェーン時代に求められる暗号資産交換業のテクノロジー パネリスト: 三浦 和夫 様(シンプレクス株式会社 エグゼクティブプリンシパル)、井上 大悠 様(Japan Financial Elan Technologies株式会社 代表取締役社長) モデレーター: 坂口 宏太(AWS) Japan Financial Elan Technologiesの井上様は、ステーブルコイン市場が3,000億ドルから5,000億ドルへ成長する中、実経済での決済利用はまだ5%程度であり伸びしろが大きいこと、StripeやCircleのAIエージェント決済への取り組みなどブロックチェーンの低コスト性が新たなユースケースを生み出している現状を示しました。 シンプレクスの三浦様は、FXから暗号資産交換業・トークン化証券まで展開してきた経験から、交換業に必要な5つの技術領域(口座管理、秘密鍵管理、AML、トランザクション管理、ステーキング運用)を整理しました。マネタイズの鍵として資金効率向上(リアルタイム担保移転)、業態横断のシームレス体験、社会インフラとしてのポジションを挙げ、日本の課題である個別開発コストの高さに対しては共同インフラ活用が不可欠との共通認識が示されました。 パネル2: トークン化預金×クロスボーダー決済 — DCJPYが描く国際送金の未来 パネリスト: 田子島 敬 様(株式会社DCP 執行役員 営業戦略本部 副本部長 経営管理本部 地域社会PJ責任者)、瓦田 宗大 様(株式会社SBI新生銀行 次世代金融部長)、ハンフリー・ヴァレンブレダー 様(Partior Pte Ltd. Chief Executive Officer) モデレーター: 山﨑 夕莉子(AWS) 株式会社SBI新生銀行における、株式会社DCPとPartiorのトークン化預金プラットフォームを活用したクロスボーダー決済の革新(年内商用化予定)を紹介しました。ハンフリー・ヴァレンブレダー様からは、日本-アメリカおよび日本-ブラジルの送金ルートが商業レベルで運用を開始しており、これらのユースケースはすでに確立されつつあると共有しました。 そのうえで、田子島様が「日本が取り残されないための最後のチャンス。様々な方々と協働していきたい」と呼びかけ、瓦田様は「採用する金融機関・事業者を増やすことが重要。AIとブロックチェーンの組み合わせで自動化・最適運用が実現する世界はすぐそこにある」と述べました。3社に共通していたのは、技術的にはすでに実用段階に入っており、この価値を実現するためには多くのプレイヤーがエコシステムに参画することこそが次のハードルであるというメッセージでした。 まとめ クロージングではAWS佐藤から、ブロックチェーン×AIの実用化に向けたAWSのご支援とパートナーエコシステムの活用を紹介しました。イベント全体で、なぜデジタル通貨のビジネスに取り組むべきなのか、どこから着手すればよいのか、業界全体で考えるべきことは何かといった、これからビジネスを本格化するための知見や生の声をお届けしました。 参加者からは「クローズドならではの密度の濃い情報が得られた」「レベルの高いスピーカーで効率的に知識をアップデートできた」「登壇者と直接会話できる懇親会が大変勉強になった」等の声をいただきました。また、お客様事例の進捗状況への驚きや、紹介されたAWSサービスへの関心も多く寄せられました。 本イベントを通じて、各業界で導入効果のあるユースケースが確立されてきていることと、デジタル通貨のビジネスを発展させるためにはユーザビリティを向上させ、利用者をいかに増やしていくかが重要になると実感しました。AWS金融チームでは、オンチェーンを支えるクラウドサービスの提供と、お客様同士の共創を支える場づくりを通じて、金融業界全体への発展に貢献してまいります。 最後に、ご登壇いただいたお客様、そしてご参加いただいたすべてのお客様に心より感謝申し上げます。
2026 年 9 月 30 日は、皆さんに AWS ヒーロープログラム の最新メンバーをご紹介できることをとても嬉しく思っています。AWS ヒーローは、知識を共有し、他の人々のメンターとなり、活気に満ちたコミュニティを構築するために人並み以上の力を注いできた AWS エキスパートたちの活力あふれる世界的グループです。これらのヒーローたちは、開発者や組織が AWS で成功を収めるための支援において真の違いを生み出しています。 今月は、世界各地から 3 人の卓越したコミュニティリーダーをヒーローとしてお迎えします。それぞれが、独自の専門知識を持ち、世界中のビルダーたちのエンパワーメントに真摯に取り組むリーダーです。 Avinash Shashikant Dalvi 氏 – ベンガルール、インド サーバーレスヒーローである Avinash Shashikant Dalvi 氏はテクノロジー アーキテクトであり、AWS User Group Bengaluru の共同主催者でもあります。Dalvi 氏の焦点は AWS 上のサーバーレス、コンテナ、および本番環境対応アプリケーションです。コミュニティトークを 40 回以上行い、AWS for Product Builders ニュースレターを発行するとともに、Amazon ECS、AWS Fargate、AWS Lambda、AWS Amplify を対象とした技術的コンテンツも作成しています。 Joanne Skiles 氏 – オーランド、米国 サーバーレスヒーローである Joanne Skiles 氏は、AWS でのサーバーレスアーキテクチャと AI システムを含めたフルスタックシステムの構築で 16 年を超える経験を積んできたエンジニアリングリーダー兼教育者です。Orlando AWS User Group を主催する Skiles 氏は、YouTube チャンネル、カンファレンストーク、「Chaotic Commits」と「Her Career Unplugged」の 2 つのポッドキャストを通じてクラウドと AI の概念を教えています。Rollins College コンピューターサイエンス学部の教授でもあり、当大学で Transparent Systems 研究室を運営しています。 Xiaofei Li 氏 – 上海、中国 コミュニティヒーローである Xiaofei Li 氏は AWS ゴールデンジャケットの所有者であり、中華圏のアクティブなコミュニティリーダーとして Kiro、Amazon Quick、Tokyo Chinese AWS の各コミュニティを先導しています。Li 氏は Kiro Chinese User Community (メンバー 5,000 人以上) を設立し、15 都市にまたがる 3,000 人以上の参加者を集めた AWS BuilderCards の中国語版ローカライゼーションを立ち上げました。支援が行き届いていない学生のメンターでもあり、Women in Tech イニシアチブをサポートしています。 詳細 AWS ヒーロープログラムの詳細を知りたい、またはお近くのヒーローとつながりたい場合は、 AWS ヒーローのウェブページ にアクセスしてください。AWS コミュニティに参加する方法の詳細については、 AWS Builder Center をご覧ください。 – Taylor 原文は こちら です。
こんにちは。アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクトの辻林です。2026 年 9 月 15 日に、「AI ペルソナワークショップ — 自社だけの AI ペルソナを作って、試してみよう」を開催しました。マーケティングや事業企画、DX推進に携わる皆様と、自社のデータから AI ペルソナを作り、実際のビジネス課題をぶつけてみる半日のワークショップです。ご参加くださった皆様に、改めて御礼申し上げます。 本ブログでは、ワークショップと当日の様子、参加者の皆様の声をお届けします。 はじめに 新商品のコンセプトは刺さるのか、どのチャネルで届けるべきか、このサービスを続けるべきか。マーケティングの現場では、顧客の反応を確かめたい問いが次々に生まれます。一方で、インタビューやアンケートを毎回実施するには時間もコストもかかり、「聞いてみたいけれど、そこまでの予算はない」という問いも少なくありません。 そこで注目されているのが、1 人の仮想的な顧客を再現する 「AI ペルソナ」です。年齢や職業といった属性に加えて、自社のインタビュー、アンケートや購買データなどをもとに AI ペルソナを構築することで、汎用の LLM にはない「自社顧客のコンテキスト」を持ったペルソナと対話したり、複数のペルソナ同士で議論させたりできます。 AWS では、この AI ペルソナをすぐに試せるサンプル実装 aws-samples/sample-ai-persona を GitHub で公開しています。今回のワークショップは、このサンプルソリューションを使って「デモを見る」のではなく「自社のデータで作って、自社の問いで試す」ところまでを体験していただきました。 イベント概要 項目 内容 日時 2026 年 9 月 15 日(火)14:00〜18:00 場所 アマゾン ウェブ サービス ジャパン 東京オフィス 参加者 7 社 19 名 満足度 4.69 / 5 タイムテーブル 時間 内容 14:00〜14:05 オープニング 14:05〜14:25 Agentic AI 時代のマーケティング 14:25〜15:25 ワークショップ ハンズオン編 15:25〜15:40 休憩 15:40〜17:40 ワークショップ 実践編 17:40〜17:55 AI ペルソナを活用するために 〜ペルソナの育て方〜 17:55〜18:00 クロージング 当日の様子 Agentic AI 時代のマーケティング 発表資料: Agentic AI 時代のマーケティング 最初のセッションは、アマゾン ウェブサービス ジャパン合同会社 戦略事業開発本部 プリンシパル事業開発マネジャーの松本より、AI によってマーケティングの前提がどう変わりつつあるかを、Amazon の事例を交えてお話ししました。 Alexa for Shopping(旧称 Rufus)のように、AI が候補を絞って商品を勧める買い方が広がり、ブランドはお客様だけでなく「AI にどう認識されるか」も意識する必要が出てきています。広告の分野においては、Amazon の広告事業を担う Amazon Ads が、会話するだけで広告を作れる Amazon Ads Creative Agent や、画像と見出しの組み合わせから AI が一番合うものを選んで出す Amazon Ads Responsive eCommerce Creative を発表しました。米国では、小売企業が自社の EC サイトにメーカーの商品広告を載せられる Amazon Retail Ad Service も始まっており、その裏側では、生データを共有せずに企業同士のデータをつなぐ AWS Clean Rooms が使われています。 こうした変化の中で、今回焦点を当てたのが「AI による顧客理解の変化」です。これまで消費者の声を聞くには、フォーカスグループインタビューのように数週間の準備とまとまった費用をかけ、限られた人数から意見を集める必要がありました。AI ペルソナを使えば、「なぜこの商品を選ぶのか」を問いかけて初期のインサイトを数時間で得たり、新商品のアイデアやパッケージデザインを評価させたり、異なるペルソナの反応を比べてターゲット別の戦略を考えたりできます。 一方で、AI ペルソナは実際のお客様への調査を置き換えるものではありません。AI ペルソナで仮説を素早く幅広く検証し、絞り込んだ論点を少数の実際のお客様で確かめる — この組み合わせが、これからの顧客理解のかたちです。 セッションの最後には、AI 活用を進めるステップとして「知る・試す・実装する」の 3 つを紹介しました。今回のワークショップは、このうち「試す」にあたります。ワークショップで使う AI ペルソナも Amazon Bedrock 上で動いていることに触れ、「次は自社のデータで実際に体験してみましょう」とワークショップへ進みます。 ワークショップ ハンズオン編 ワークショップはハンズオン編と実践編の2部構成で実施しました。ハンズオン編では 今回活用する AI ペルソナ のサンプルソリューションの概要を紹介した後、「Z 世代向けサステナブルコスメの新商品企画」という模擬シナリオで AI ペルソナを体験していただきました。 ハンズオンでは EC の購買ログと SNS アンケートの 2 つのサンプルデータをアップロードし、サステナ志向・コスパ重視・トレンド志向などの価値観の異なる 3 体のペルソナを生成しました。そして、その AI ペルソナを活用して 1 対 1 のインタビューで購買のきっかけを深掘りしたり、 異なる価値観のAI ペルソナ同士で新商品のコンセプト評価や購入チャネルと情報接点などをテーマに議論をさせ、セグメント毎にペルソナの意見が割れる様子も確認いただきました。議論のあとには自動抽出された顧客ニーズやマーケティングに関するインサイトの確認および推奨アクションを含むレポート生成機能を試し、ペルソナ生成から施策やアクションへの転換までを体験していただきました。 あわせて次の実践編への評価観点として AI ペルソナやインサイトを「具体性」「差別化」「予測力」「施策接続性」の 4 つの軸で評価する考え方を紹介しました。 ワークショップ 実践編 実践編は ご参加頂いた各社が自社のデータと自社のビジネスの問いで AI ペルソナを実際に試す時間です。上記のワークシートに沿って、次の 3 ステップで進めました。 STEP 1 — ユースケース設計:何の意思決定に使うか(何を問うか)、誰に問うか、そのために今使えるデータは何か STEP 2 — 検証と評価:ペルソナを生成し、インタビューや議論で問いを投げ、4 つの軸で評価する STEP 3 — ネクストアクション:いつまでに、誰が、何を、どのデータを足して試すかを決める ユースケースは、新規サービスの概念実証に進むかどうかの判断、広告クリエイティブや CRM 配信の設計、LP や価格の見せ方の改善、既存サービスを続けるかどうかの判断など、実に多様でした。中には、顧客ではなく社内の意思決定者のペルソナを作り、提案前の壁打ち相手にするという使い方もありました。 各チームでは、生成されたペルソナの発言を見ながら「この答えは自社の顧客らしいか」「このデータだけでは足りないのでは」といった議論が活発に交わされていました。評価の結果、共通して見えてきたのは、ペルソナの出来を左右するのはデータの量ではなく、検証の目的に合ったデータかどうかという点です。顧客の生の声や行動データを入れ、問いを具体的に立てるほど、「次に何をすべきか」につながるアウトプットが得られていました。最後は各社で、次に与えるデータと再検証の段取りをネクストアクションとして書き出していただきました。 AI ペルソナを活用するために 〜ペルソナの育て方〜 発表資料: AI ペルソナを活用するために 〜ペルソナの育て方〜 最後のセッションでは、ソリューションアーキテクトの髙橋より、実践編で見えた課題を次の一手につなげる「ペルソナの育て方」を紹介しました。 実践編で「弱い」と感じた評価軸が、そのまま次のアクションのヒントになります。たとえば具体性が足りなければ行動の詳細データを、予測力を上げたければ施策と反応のデータを追加し、施策接続性に課題があればプロンプトで目的を明確にする、といった具合です。そのうえで、ペルソナを育てるステップを 3 段階で整理しました。 データを足す — 購買データや閲覧ログなど自社の 1st Party Data を追加する。Clickstream Analytics on AWS や、自然言語で自社データに問い合わせる Discovery 360 も活用できる データを広げる — 市場調査レポートなどの公開データや、AWS Clean Rooms を使ったパートナーとのデータ連携に加え、Amazon 上の購買・広告シグナルも取り込み、自社の外の行動を補う ソリューションを使い倒す — データセット連携、ナレッジベース、長期記憶を活用し、アウトプットを広告・企画・調査の業務フローに乗せる ペルソナは一度作って終わりではなく、「評価する → 育てる → 使い倒す」のサイクルで精度が上がっていくものです。この日作ったペルソナは、各社にとってのスタート地点になりました。 参加者の声 アンケートでは、特に手を動かす実践編とハンズオン編を有益だったと挙げる方が多く、参加者の方からは次のような声が寄せられました。 「マーケティングの観点において、時間・費用の面で効率が非常に上がると感じる」 「実際のインタビューとあわせながら、難しいシチュエーションなどは AI ペルソナを活用したり、使い分けしたい」 「データを使って育てながら仮説を深めたい」 「実際に使う際の課題や注意点も色々とイメージできてよかった」 また、「様々に議論できたことが大変有意義であった」という声もありました。AI ペルソナを囲んで、自社のお客様について改めて議論する時間そのものにも価値を感じていただけたようです。 まとめ 今回のワークショップでは、自社のデータで AI ペルソナを作り、自社の問いで試し、次に足すデータを決めるところまでを半日で体験していただきました。AI ペルソナは、データを足しながら育てていくことで、仮説検証や意思決定の心強いパートナーになります。 今回使用したサンプル実装は aws-samples/sample-ai-persona でGithub上に公開しており、自社の AWS 環境に展開してすぐに試すことができます。AI ペルソナの活用や、次の一手となるデータの整備にご関心のある方は、ぜひ担当のアカウントチームまでお気軽にご相談ください。 本ブログは、ソリューションアーキテクトの辻林、小川、髙橋、平本が執筆いたしました。 筆者について 辻林 侑 アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト 西日本の小売・消費財業界のお客様を中心にクラウド活用の技術支援を行っています。好きな AWS サービスは Amazon CloudWatch と、AWS DevOps Agent です。
本ブログでは、 ローンチブログ で紹介した各ユースケースをさらに詳しく掘り下げます。パートナーやお客様が SAP モダナイゼーションプロジェクトにおいて Kiro ベースのサンプルエージェントを使って達成した成果の一部もご紹介します。これらのサンプルエージェントは こちら からダウンロードできます。ローンチブログで取り上げた主なユースケースを振り返ります。 SAP S/4HANA 準拠に向けた ABAP コードのアップグレード クリーンコアに向けた ABAP のリファクタリング SAP PI/PO から SAP BTP へのモダナイゼーション SAP Business Warehouse(BW)から Business Data Cloud(BDC)の SAP Datasphere へのモダナイゼーション 機能仕様書と技術仕様書の生成 単体テストの自動化 本ドキュメントに記載するベンチマークは、すべて AWS の社内開発環境で実施したものです。ベンチマークで使用した Kiro クレジットは、 Kiro Pro サブスクリプションの範囲内に十分収まっています。 1. SAP S/4HANA 準拠に向けた ABAP コードのアップグレード 最初のユースケースは、レガシーなカスタム SAP ECC ABAP コードを SAP S/4HANA に準拠した標準コードに変換することです。数千(あるいは数万)のカスタム ABAP プログラムを持つエンタープライズにとって、このエージェントは最も労働集約的な改修作業を自動化します。コードを変換する前に、エージェントは機能仕様書、技術設計書、単体テストクラスを作成します。変換中には、定義されたエンタープライズ標準に準拠するようコードを改善します。これを実現するため、パフォーマンス標準、コーディング標準、セキュリティ標準、ドキュメント標準、コードの重複回避をカバーする、80を超えるサンプルルールとベストプラクティスを完全に構成可能なセットとして提供しています。変換後、エージェントは単体テストを実行してビジネスロジックの整合性を確認します。 ベンチマーク: AWS の社内ベンチマークでは、88オブジェクト(5,854行のコード)からなる SAP ECC パッケージ全体を4.5時間で完全に SAP S/4HANA 準拠のコードに変換し、生成されたすべての単体テストに合格して、工数を87%削減しました。このベンチマークで使用した Kiro クレジットは377でした。 NTT Data Global Solutions(GSL)は、お客様の SAP S/4HANA への移行を加速するために ABAP エージェントを活用しています。GSL の新しい移行サービス Neo i-KOU! は、ABAP の改修フェーズを最大95%短縮します。製品テストでは、従来は変換に4人月以上を要していた ABAP コードを、わずか0.21人月の工数で変換しました。 2. クリーンコアに向けた ABAP のリファクタリング このユースケースでは、Clean Core Extensibility Model への準拠に向けてカスタム ABAP コードを評価・改修します。このモデルでは、各カスタマイズが SAP S/4HANA のコアシステムの外側にどれだけクリーンに配置されているかに基づき、A から D の等級で評価します。カスタマイズを最高レベルの A と B に保つことで、お客様はカスタムコードを壊すことなく迅速にアップグレードして SAP の新しいコア機能を採用できるため、より速くモダナイズしてコストを削減できます。AWS は、既存の ABAP カスタマイズをこれらの基準に照らして評価し、基準に満たないコードを改修することで、お客様がそこに到達できるよう支援します。 ベンチマーク: 社内ベンチマークでは、エージェントが143オブジェクト(10,200行のコード)にわたって116件の「Extensibility Level D」の ABAP 指摘事項を特定しました。55分の実行時間で、Level D の指摘事項を100%改修しました。エージェントは、非標準のコードを適切な SAP リリース済みオブジェクトに置き換えるか、クリーンコアの原則に従ってそれらを拡張しました。重要な点として、クリーンコアの自動改修は、SAP が標準オブジェクトをリリースしているオブジェクトに限定されます。ほとんどのお客様では、リリース済みオブジェクトが利用できないカスタムコードが一定の割合で存在すると想定しておくべきです。それらのオブジェクトについては、手作業でのレビューと、クリーンコアの選択肢(サイドバイサイドへの変換、現状維持、Fit-to-Standard の採用など)に関する判断が必要です。ベストプラクティスとして、まずエージェントを使ってすべてのカスタムコードを分析し、ABAP オブジェクトごとの現在の Extensibility Level(A、B、C、D)を示すレポートを作成して、自動改修の対象となるものを特定することをお勧めします。 3. SAP PI/PO から SAP BTP Integration Suite への移行 このユースケースでは、SAP PI/PO のインターフェースを SAP Business Technology Platform Integration Suite(BTP IS)に変換することに焦点を当てます。SAP のミドルウェアプラットフォームである SAP PI/PO は、2027年12月に標準メンテナンスの終了を迎えます。お客様は数十から数百のインターフェースを BTP IS に移行する必要があり、単一のインターフェースを手作業で変換するには、その複雑さに応じて数日から数週間かかることがあります。この課題に対処するため、私たちはモダナイゼーションエージェントを開発しました。単一のプロンプトで、エージェントは既存の PI/PO 構成を調査し、機能仕様書と技術設計書を作成し、PI/PO のアーティファクトを BTP 対応の形式に変換し、その結果を BTP IS にデプロイすることで、大幅な時間とコストの削減を実現します。SAP PI/PO の移行に加えて、エージェントは要件定義書から直接、新規の BTP IS インターフェースを開発することもできます。 ベンチマーク: 社内ベンチマークでは、エージェントが22の SAP PI/PO インターフェースを約2時間で SAP BTP Integration Suite に変換しました。これらのインターフェースには25のメッセージマッピングが含まれており、IDOC、SOAP、REST、同期・非同期など、さまざまなインターフェースタイプにまたがっていました。エージェントは、ソースの通信チャネル、アグリーメント、共有関数ライブラリを読み取り、各ターゲットアダプターを決定してマッピングロジックを再現しました。その後、SAP BTP IS のインターフェースを作成し、稼働中のテナントにデプロイし、ソースのルールに照らして単体レベルのデータで各マッピングをテストしました。エージェントは、ルーティング、ファンアウト、マルチキャスト、値マッピング、IDOC セグメントマップ、ステートフルなオーケストレーション(ccBPM)といった複雑な要件にも対応しました。セキュリティ上の理由から、パスワードや証明書などの認証情報は移行しないため、エンドツーエンドのテストの前に手作業のステップが必要です。このベンチマークで使用した Kiro クレジットは約220でした。 4. SAP BW から Datasphere へのモダナイゼーションエージェント このユースケースは、SAP BW のモダナイゼーションを加速し、作業をエンドツーエンドで自動化するものです。エージェントはまず既存のすべての SAP BW のデータパイプラインとデータモデルを読み取り、それぞれについて機能仕様書と技術仕様書を作成し、クラウドネイティブな SAP Datasphere の同等物に変換します。SAP BW Private Cloud Edition(PCE)の道を選ぶお客様は、エージェントを Data Product Generator や Query Template Generator などの SAP ツールと組み合わせて使用できます。 これは、同じ期限を迎えるもう1つのワークロードに対処するものです。数千の企業が利用するエンタープライズデータウェアハウスプラットフォームである SAP BW も、2027年12月に標準メンテナンスの終了を迎えます。SAP はお客様に SAP Datasphere への移行を推奨しており、そこに至る道は2つあります。SAP Datasphere に直接移行するか、まず暫定的なプラットフォームである SAP BW Private Cloud Edition(PCE)に移行するかです。後者の場合、2027年以降も SAP BW を稼働させ続け、自社のペースで Datasphere を採用できます。 SAP BW 向けのエージェントは Kiro Specs 上に構築されたガイド付きワークフローであり、アーキテクトや開発者があらゆるステップで主導権を保てます。データフローを発見し、それらを SAP BDC の Data Products にマッピングし、設計書を作成し、変換済みの Datasphere オブジェクトを生成・デプロイします。その過程で、組織独自のベストプラクティスとデータ戦略が適用されます。 ベンチマーク: 社内ベンチマークでは、このエージェントが販売管理(Sales and Distribution)のコンテンツを含むレガシーな SAP BW 環境を2.2時間で SAP Datasphere に変換しました。SAP BW 環境は Layered Scalable Architecture(LSA++)アーキテクチャに基づいており、32の Data Store Object、13の Transformation、6つの Composite Provider、1,273のフィールドで構成されていました。最終的な SAP Datasphere 環境には、32の Local Table、13の Data Flow、6つの Analytic Model が含まれていました。このベンチマークで使用した Kiro クレジットは856でした。 AWS パートナーである DXC と Kyndryl は、お客様の SAP BDC へのジャーニーを加速するために SAP BW エージェントを活用しています。DXC は、Kiro と Modernization Agents を「DXC Fast BDC」と組み合わせることで、複雑なアセスメントを自動化し、AI を活用したビジネスインサイトを実現し、最短10週間でビジネス価値を提供するデジタルトランスフォーメーションを加速しています。Kyndryl の SAP US Data Lead である Poshan Ponnamreddy 氏は次のように述べています。「 AWS の Modernization Agents、Kiro、そして Kyndryl の Agentic AI Framework の組み合わせは、お客様の SAP モダナイゼーションの期間短縮に貢献しています。AI を活用した変換機能がコードの分析と変換を自動化し、品質を向上させながら手作業の工数を最大80%削減します。これらのイノベーションが一体となって移行の成果を加速し、価値実現までの時間を大幅に短縮します。 」 5. 機能仕様書と技術仕様書の生成 「何十年も前に」書かれたコードにドキュメントがなく、業務の専門家もとうの昔に組織を去ってしまった、という話をよく耳にします。AI を使ってコードを分析しドキュメントを生成することは、SAP ABAP、PI/PO、BW など幅広い SAP プラットフォームで効果が実証されたユースケースです。多くの SAP プロジェクトの最初のステップは、レガシーコードを分析・文書化して、現状(As-Is)の機能仕様と技術仕様を理解することから始まります。 Kiro のサンプルコードを使って構築したモダナイゼーションエージェントは、希望する形式で、かつ自社のドキュメント標準に従ってドキュメントを生成するための機能を提供できます。また、未使用のコードを特定することもでき、不要なコードのモダナイゼーション作業を回避できます。 Toyota Chile は SAP ECC から SAP S/4HANA への移行を進めていますが、数百のレガシー SAP ABAP オブジェクトについてドキュメントや理解が不足していました。シニアソフトウェアエンジニアの Rolando Sabatino 氏は、次のように体験を語っています。「 Kiro と AWS の Modernization Agents for SAP on AWS により、プロジェクトの工数を簡素化・削減できています。Kiro を使って未使用のコードや陳腐化したテーブルを特定し、移行範囲から除外しました。また、ビジネスユーザー向けの機能ドキュメントと開発者向けの技術仕様書も生成しました。ドキュメントは数時間で生成され、数か月分の手作業を回避できました。 」 6. 単体テストの自動化 単体テストは、あまり知られてはいないものの機能を確認するうえで効果の大きいアプローチであり、AI によるコード変換を高精度で信頼性の高いものにしている要因です。コードのモダナイゼーション中の AI のハルシネーションを大幅に最小化するため、結果が信頼できるものになります。ベストプラクティスとして、AWS はモダナイズの前にレガシーコードの単体テストを生成することを推奨しています。これにより、AI エージェントは変換後のコードを検証するための明確な成功基準を得られます。 これがなぜそれほど重要なのか、もう少し詳しく説明します。Kiro や Claude Code などの AI コーディングツールは、よりエージェント的な機能を備えるよう成熟するにつれて、人間の作業方法を模倣するかたちで自律的に反復しながら問題を解決するようになりました。人間がコードを書いてバグを見つけると、バグが解決されるまで分析・編集・再テストのサイクルを続けます。エージェント型ツールはこれと同じループを実行し、問題が修正されたことを確認するために単体テストを使用します。言い換えれば、単体テストは成功がどのようなものかをエージェントに伝え、エラーがなくなるまで分析・編集・再テストを繰り返せるようにします。自動単体テストを組み込んでいることは、私たちのモダナイゼーションエージェントが前述の高品質なベンチマークを達成できた主な理由の1つです。 正確で高品質なコードのためのセーフガード 業界でよく聞かれる正当な懸念の1つが、AI が生成するコードの正確性と品質です。お客様からは「 エンタープライズは、SAP のような最も重要なワークロードにどうすれば自信を持って AI を適用できるのか? 」と頻繁に質問されます。ABAP ではコードが他の ABAP オブジェクトに格納されたロジックやライブラリを頻繁に参照するため、正確性と品質のリスクが増幅されます。ほとんどの AI コーディングアシスタントは、そうした外部の依存コードを取得できず、それがしばしばハルシネーションの原因となります。AWS は正確性と品質を重視しており、これらのサンプルエージェントに独自のセーフガードを組み込んでいます。 第一に、これらのサンプルエージェントを活用して構築したエージェントは、依存するすべてのコードとライブラリを取り込み、Kiro が完全なコンテキストを持てるようにします。これは、変換時に正確なコードを生成しビジネスロジックを維持するうえで不可欠です。第二に、カスタマイズ可能なステアリングファイルにより、独自のコーディング・パフォーマンス・セキュリティ・ドキュメントの標準を定義できます。サンプルエージェントには、すぐに始められるよう80以上のルールを含むサンプルのステアリングファイルが付属しています。第三に、単体テストに対する独自のアプローチにより、変換前にコードを作成してテストし、変換後にまったく同じビジネスロジックを再テストすることで、品質を大幅に向上させ、時間を節約します。 監査可能性も重要なセーフガードの1つです。これらの Kiro ベースのサンプルエージェントを使って構築したモダナイゼーションエージェントは、会話履歴を保存し意思決定をログに記録できるため、デバッグや微調整に役立ちます。特筆すべきことに、2社のお客様が自社の AI 自動化のアプローチを内部統制チームおよび監査チームとともにレビューしました。予想に反して、監査担当者は意思決定ログの透明性を好みました。それが、ほとんどの従業員が手作業で維持しているドキュメントを上回っていたためです。 これらのエージェントはソフトウェア開発ライフサイクルの多くの部分を自動化しますが、本番環境に移行する前に、お客様が引き続きエンドツーエンドの徹底したテストとビジネス検証を実施することが重要です。 まとめ SAP のモダナイゼーションは、エンタープライズ IT において今なお最も複雑でリソース集約的な取り組みの1つです。サンプルエージェントを共有することで、私たちはお客様とパートナーに、より速く、より手頃なモダナイゼーションへの道を提供することを目指しています。これらのサンプルエージェントは こちら からダウンロードでき、詳細は こちら でご覧いただけます。 本ブログの翻訳は Amazon Quick による自動翻訳を行い、パートナー SA 松本がレビューしました。原文は こちら です。
Kiro は、エンタープライズが本番運用に耐えるソフトウェアを構築できるよう設計された、AWS の AI 搭載エンジニアリングエージェントです。Kiro を使うと、お客様は並列エージェントを用いて大規模なコードベース全体にわたって開発を進めることができ、SAP のモダナイゼーションのような複雑でリソース集約的なプロジェクトに最適です。本日、お客様やパートナーが AWS 上でカスタム SAP Advanced Business Application Programming(SAP ABAP)プログラム、SAP Business Warehouse(SAP BW)、SAP Process Integration および SAP Process Orchestration(SAP PI / PO)のモダナイゼーションとデプロイを加速するために活用できる、Kiro ベースのサンプルエージェントを公開します。SAP は、多くの組織が最も重要なビジネスロジックとデータを格納している場所です。カスタム SAP ABAP プログラムは、財務、受注管理、サプライチェーン業務といった中核プロセスを動かしています。SAP BW は、エンタープライズが計画や意思決定のために頼りにしているレポーティングと分析を支えています。SAP PI / PO は、SAP を数百もの外部システム、取引先、アプリケーションと接続するミドルウェアとして機能しています。これらのワークロードを手作業でモダナイズすることこそが、SAP トランスフォーメーションに多大な時間とリソースを要する理由です。さらに、SAP BW、SAP PI / PO、オンプレミスの SAP ERP Central Component(SAP ECC)の標準サポート終了が近づいているため、お客様は SAP のクラウドネイティブなシステムへのモダナイゼーションが必要になっています。これらのサンプルエージェントを使うことで、お客様は、これまでエンタープライズ IT において最もリソース集約的な取り組みの1つであった SAP のモダナイゼーションを加速できます。単一のプロンプトで、サンプルエージェントは数千行の SAP ABAP コードや、サポート終了を迎える数百の SAP ミドルウェアインターフェースを一括でモダナイズできます。社内ベンチマークにおいて、AWS はこれらのサンプルエージェントがブラウンフィールドの ABAP コードのモダナイゼーション(分析、変換、単体テスト)を自動化し、工数を最大87%削減できることを実証しました。さまざまな業界のお客様が、これらのエージェントを試してその価値を実感しています。 Toyota Chile のシニアソフトウェアエンジニアである Rolando Sabatino 氏は、このエージェントを使って数百のカスタム ABAP オブジェクトを分析・文書化し、陳腐化したコードを特定して移行範囲を簡素化しました。 Adobe の SAP エンタープライズアーキテクトである Alex Kakhanovich 氏は、大規模な RISE への移行に先立って Kiro を評価し、「 これにより、記録的な速さで改修を実施できるでしょう。 」と語っています。パートナーもサンプルエージェントを活用してその恩恵を受けており、意義のある成果を上げています。Accenture、Capgemini、Deloitte、DXC、Kyndryl、NTT Data Global Solutions をはじめとする AWS SAP コンピテンシーパートナーは、お客様のジャーニーを加速するため、サンプルエージェントを自社の移行ツールセットに組み込んでいます。NTT Data Global Solutions は、新しい Neo i-KOU! 移行サービスにおいて ABAP 変換の工数を最大95%削減したと報告しています。Capgemini の Global SAP CTIO である Gianluca Simeone 氏は次のように述べています。「 AWS とともに、私たちは組織が SAP トランスフォーメーションのジャーニーを簡素化・加速し、より早く、より確信を持ってビジネス価値を実現できるよう支援しています。Kiro のサンプルエージェントを活用して構築した新しい Smart Integration AI Agent は、大規模な品質・ガバナンス・信頼性を強化しながら、インテグレーションの分析から構築までのサイクルを40〜60%加速できます。 」Deloitte の Global SAP on AWS Leader である Bhanu Saxena 氏は次のように述べています。「 AWS との協業により、SAP PO/PI から SAP BTP Integration Suite へ移行するエンタープライズに向けて、Kiro を活用したエージェント型の移行アプローチを導入しています。Kiro は将来に備えたインテグレーションアーキテクチャへのモダナイゼーションを加速するアクセラレーターであり、移行工数と提供期間の削減を実証しています。 」 サンプルエージェントのユースケース パートナーとお客様は、サンプルエージェントを活用して SAP のモダナイゼーションと移行の取り組みを加速できます。 SAP S/4HANA 準拠に向けた ABAP コードのアップグレード – SAP ECC システムの ABAP コードを SAP S/4HANA に準拠した ABAP コードに変換します。単一のプロンプトで数百の ABAP オブジェクトを一括変換できます。 クリーンコアに向けた ABAP のリファクタリング – SAP Clean Core Extensibility Model に沿って SAP ABAP コードのリファクタリングを自動化します。こちらも単一のプロンプトで、標準 SAP API を使用するようカスタムコードを一括でモダナイズできます。 SAP PI/PO から SAP BTP へのモダナイゼーション – SAP PI/PO のインターフェースを数分で SAP BTP Integration Suite に変換します。2027年12月の SAP PI/PO 標準サポート終了に先立ち、ミドルウェアインターフェースを迅速にモダナイズできます。 SAP Business Warehouse(BW)から Business Data Cloud(BDC)の SAP Datasphere へのモダナイゼーション – SAP BW から SAP Datasphere への移行を、数か月ではなく数時間で実現します。SAP BW も2027年12月に標準サポート終了を迎えます。 機能仕様書と技術仕様書の生成 – 既存のコードと構成を分析して包括的なドキュメントを生成します。ビジネス要件と技術仕様を作成し、AI を使ってそれらを最新の状態に保ちます。 単体テストの自動化 – 単体テストの作成と実行を自動化し、コード品質を確保してビジネスロジックの整合性を検証します。エージェントはコード変換の前後で単体テストを使用することで、品質を向上させ AI のハルシネーションを低減します。 上記の各ユースケースと、パートナーやお客様がモダナイゼーションエージェントを使って達成した成果について、さらに詳しくご覧いただけます。成果については こちら をクリックしてお読みください。 正確性を確保するためのセーフガード サンプルエージェントには、コードの正確性に対処するための独自のセーフガードが組み込まれています。80以上の事前構築済みルールを備えたカスタマイズ可能なステアリングファイルがコーディング・セキュリティ・ドキュメントの標準を適用し、独自の単体テストアプローチが変換の前後でビジネスロジックを検証して品質を確保します。サンプルエージェントは、依存するすべての ABAP コードとライブラリを評価・取得するよう設計されており、Kiro にビジネスロジックを維持するための完全なコンテキストを与えることで、ハルシネーションを大幅に低減します。また、サンプルエージェントは透明性と監査可能性のために会話履歴と意思決定のログを提供します。複数のお客様の監査チームからは、サンプルエージェントのログが通常手作業で維持されているドキュメントの水準を上回っているとの声が寄せられています。 始め方 これらの Kiro ベースのサンプルエージェントをダウンロードするには、 登録ページ でアクセスを申し込んでください。登録後、サンプルエージェントとドキュメントを含む GitHub リポジトリにアクセスできるようになります。専門家のガイダンスを受けながらモダナイゼーションを計画するには、AWS アカウントチームにお問い合わせいただくか、AWS SAP コンピテンシーパートナーにご相談ください。ベンチマークの続きについては、 Accelerate your SAP modernization with Kiro – Benchmarks and Use-Cases をご参照ください。 本ブログの翻訳は Amazon Quick による自動翻訳を行い、パートナー SA 松本がレビューしました。原文は こちら です。
2026 年 9 月 21 日週を表現するテーマが 1 つあるとすれば、「選択」ではないでしょうか。フロンティアモデルが次々と生み出される中、関心はもはや「モデルがどれほど賢いか」だけではなくなり、「このコストで、このレイテンシーで、このステップに合うモデルはどれか」になっています。 その関心に応えるモデルが、ここ数日間にわたって Amazon Bedrock に導入されました。知能と効率の対比曲線に 2 つの新たな選択肢を提供する OpenAI の GPT-6 Sol と GPT-6 Luna 、および Anthropic の Claude 5.5 ファミリー第一弾となる Claude Opus 5.5 です。 GPT-6 Sol は開発と運用における要件の厳しい反復的な作業向けに構築されており、GPT-6 Luna は的を絞った反復可能なタスクの大規模な実行を実用レベルに引き下げます。そして、どちらのモデルも前世代の GPT-5.6 からの大幅な低価格化を実現しています。一方、Claude Opus 5.5 は、Opus 5 よりも少ないトークンでより多くの処理をこなし、エージェンティックコーディングや長時間実行されるタスク向けにチューニングされています。私は、3 つのモデルのすべてが、毎回最も大きなモデルを選択するのではなく、モデルと作業をマッチさせるという同じ考え方に向かっている点がすばらしいと感じています。もう 1 つの話題は、このエージェンティックワールドにオブザーバビリティが追いついてきているということです。これには、私自身が執筆したリリース情報も含まれます。 それでは、9 月 28 日週の AWS ニュースを見ていきましょう… 9 月 21 日週のリリース 9 月 21 日週のリリースのうち、私が注目したものをいくつかご紹介します。 Amazon CloudWatch Omni の導入 – アプリケーションと AI エージェントの両方を単一のコラボレーションエクスペリエンスで観察できるようになりました。 Amazon CloudWatch Omni は OpenTelemetry 上に構築されているため、既存のテレメトリは再設定する必要がない状態で表示されます。また、チーム全体がエンタープライズ SSO を使用して 1 つの URL からアクセスするので、コンソールアクセスは必要ありません。サービスを自動検出し、依存関係をマッピングするとともに、 AWS DevOps エージェント を調査セッションに導入してシグナルを関連付け、根本原因を突き止めます。エージェントオブザーバビリティの側面に関する 関連記事 、AI 時代のオブザーバビリティとはどのようなものかを説明する AWS Cloud Operations ブログの詳しい解説記事 、具体的な詳細に関する 最新情報での発表 をご覧ください。全体像を把握したいなら、正確性を実行レベルで測定しなければならない理由に関する Matt Wood の「 壊れているのではなく、間違っている 」がお勧めです。 Amazon EventBridge の拡張カスタムイベントバス – Amazon EventBridge で、チームやアカウント間でイベント駆動アプリケーションをスケーリングする組織専用に構築された拡張カスタムイベントバスの提供が開始されました。AWS RAM を通じて、組織内のすべてのアカウント間で共有される単一の一元化されたバスをデプロイできるようになりました。これには、オプションのイベント順序付けのほか、フィルタリング、ターゲット、再試行をバンドル化する簡素化されたサブスクライバーリソース、コンテンツベースの重複排除、 AWS Lambda などのターゲットの同期呼び出しといった機能が備わっています。マルチバスセットアップの累積するクロスアカウントルーティング料金が新しいイングレス/エグレス料金モデルに置き換えられ、既存のバスは「クラシック」として引き続き以前と同様に機能します。 Amazon SageMaker HyperPod 推論ゲートウェイ – アプリケーションを一切変更せずに単一の Amazon EKS マネージドアドオンとしてデプロイされる Kubernetes ネイティブの GPU 認識ルーティングレイヤーを使用して、LLM 推論を Amazon SageMaker HyperPod の前段に配置できるようになりました。ラウンドロビン型の負荷分散の代わりに、リアルタイムの推論シグナル (KV キャッシュ使用率、キュー深度、プレフィックスキャッシュヒット、予測レイテンシーなど) に基づいてルーティングすることで、混合ハードウェアシナリオやバーストが発生するシナリオでのファーストトークンレイテンシーを最大 82% 削減します。この推論ゲートウェイは、vLLM と SGLang を含めたすべての OpenAI 互換モデルサーバーで動作します。 AWS End User Messaging と Amazon SES 向けの AI エージェントスキル – 平易な言葉を使って AI コーディングエージェントに指示することで、メッセージを作成して送信できるようになりました。 Amazon SES と AWS End User Messaging は、AWS MCP サーバー用の AI エージェントスキルを公開することで、送信 ID の検証、本番用 E メールの送信、カードとボタンを使用するブランド化された RCS エージェントの作成といったタスクに関する検証済みのステップバイステップガイダンスをエージェントに提供します。これらのスキルは Claude Code、Codex、Cursor、Kiro で動作するため、ドキュメントやコンソール画面を行き来することなくメッセージングワークフローを完了できます。 AWS のお知らせに関する詳しいリストについては、「 AWS の最新情報 」ページをご覧ください。 AWS のその他のニュース 皆さんが興味を持つと思われるその他の記事とリソースをいくつかご紹介します。 Strands ハーネスの導入 – Strands Agents チームが Strands ハーネスをリリースしました。このハーネスは、構築済みの汎用エージェントハーネスで、Apache 2.0 に基づいてローカルで実行、または任意の場所にデプロイできます。Python または TypeScript のコードを 1 行記述するだけで、Amazon Bedrock、Anthropic、OpenAI、Google のモデルやローカルの Ollama モデルに接続できます。これは、プロンプトキャッシュとコンテキスト管理 (肥大化したツール結果の切り捨て、コンテキストウィンドウが満杯になったときの圧縮、実行間でのメモリの保持) のための実用的なデフォルト設定が行われた状態で提供されます。チームは、同じモデルの同等のハーネスよりもコストが約 28% 低く、精度も一定に保たれていると報告しています。 2026 年 Gartner Magic Quadrant がコンテナ管理部門のリーダーとして AWS を選出 – Gartner は、4 年連続で AWS をリーダーに認定しました。コンテナが AI エージェントを構築して実行する方法のデフォルト基盤になりつつある中、この記事では、 Amazon ECS Express Mode と Amazon EKS Auto Mode から EKS プロビジョンドコントロールプレーンでの 99.99% の可用性 SLA におよぶ、コンテナに関する今後の見通しがわかりやすく説明されています。 AI に関する新しい AWS Reimagine レポートの発表 – AWS Executive in Residence チームは、9 か月にわたって 27 か国 154 人のリーダーを取材し、AI を価値に変える組織とそうでない組織の違いについてインタビューしました。この レポート は偏見のない内容になっており (Amazon で AI がうまく機能しなかった分野も含まれます)、構築が高速化するとボトルネックが意思決定、資金調達、作業のガバナンスに移行するというインサイトを繰り返し報告しています。チームが実際に AI をどのように導入するかについて考えているなら、一読の価値があります。 AWS のブログ記事の詳細な一覧については、 AWS ブログ ページをご確認ください。 近日開催予定の AWS イベント カレンダーを確認して、近日開催予定の AWS イベントにサインアップしましょう。 AWS re:Invent – AWS re:Invent がラスベガスに戻ってきます。期間は 11 月 30 日から 12 月 4 日で、セッション時間、場所、講演者が既に公開済みです。指定席の予約は 10 月 6 日に開始されます。 今すぐ登録して 、チョークトーク、ワークショップ、ビルダーズセッションに参加する準備をしましょう。 AWS Summit – re:Invent が間近に迫る中、今年の Summit も終わりに近づいています。最後の Summit は ドバイ (9 月 30 日) の Dubai World Trade Center で開催され、60 以上のセッション、AWS Village、ハンズオンワークショップに参加できます。 AWS Community Day – コミュニティリーダーが企画および提供するコミュニティ主導のカンファレンスです。今後のイベントには、 英国の ComSum Manchester (10 月 1 日) と イタリアの AWS Community Day Italy (10 月 2 日) があります。 AWS Builder Center に参加して、ビルダーとつながり、ソリューションを共有し、開発をサポートするコンテンツにアクセスしましょう。 こちら から、今後開催されるすべての AWS 主導の対面イベントおよび仮想イベントとデベロッパー向けのイベントをご覧いただけます。9 月 28 日週のニュースは以上です。10 月 5 日週の Weekly Roundup もお楽しみに! – Daniel Abib 原文は こちら です。
本ブログは 2026 年 9 月 29 日に公開された Amazon Press Center “ OCC Strengthens Security Operations with an Agentic AI Investigation Solution Built on AWS ” を翻訳したものです。 米国イリノイ州シカゴ、2026 年 9 月 29 日 – 世界最大の株式デリバティブ清算機関である The Options Clearing Corporation (OCC)® は本日、Amazon Web Services の Amazon Bedrock で構築した AI 搭載のセキュリティ調査エージェント (以下「SOC エージェント」) の導入を発表しました。このソリューションは、OCC のセキュリティオペレーションセンターにおけるセキュリティアラートの調査を自動化し、説明可能かつ監査可能な結果を提供します。さらに、継続的な改善に向けて、ヒューマンインザループによるフィードバックの仕組みを構築します。 「私たちがサービスを提供する市場を守る取り組みは、強固なセキュリティオペレーションから始まります。システム上重要な金融市場インフラである OCC が運用するセキュリティオペレーションセンターでは、絶え間なく発生するセキュリティアラートを、迅速かつ一貫して、妥当性を説明できる水準で調査する必要があります」と、OCC の副最高セキュリティ責任者である Ben Le 氏は述べています。「SOC エージェントは、調査ワークフローを自動化しつつ、プロセスとその結果に対する主導権を OCC のセキュリティ専門家が確実に握り続けられるように設計されています」 SOC エージェントは、OCC の SIEM (Security Information and Event Management) プラットフォーム内のセキュリティデータに対してエージェンティックループを実行し、アナリストと同じように、調査の方針を立て、関連する証拠を取得し、得られた結果を評価し、次に調べる対象を判断しながらアラートの調査を進めます。このエージェントによって手作業の負担や調査のばらつきが軽減され、熟練したアナリストは分析、エスカレーション、そして最も複雑なケースに集中できるようになります。 「OCC が Amazon Bedrock 上で開発した SOC エージェントは、エージェンティック AI が即座にビジネス価値をもたらすことを示す好例です。このアプローチは、AI を活用して既存の調査ワークフローを強化しつつ、セキュリティに不可欠な人間による判断を維持しています」と、AWS の Financial Services Governance, Risk, and Compliance 担当ディレクターである Jeff Axelrad は述べています。 OCC について The Options Clearing Corporation (OCC) は、世界最大の株式デリバティブ清算機関です。1973 年に設立された OCC は、オプション、先物、証券貸借取引の清算および決済サービスを提供することで、市場の安定性と健全性の促進に取り組んでいます。システム上重要な金融市場ユーティリティ (SIFMU) として、OCC は米国証券取引委員会 (SEC)、米国商品先物取引委員会 (CFTC)、連邦準備制度理事会の管轄下で事業を運営しています。OCC には 100 を超える清算会員があり、22 の取引所と取引プラットフォームに中央清算機関 (CCP) としての清算および決済サービスを提供しています。OCC の詳細については、 www.theocc.com をご覧ください。 本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。
2026年7月29日から 2 日間にわたって、 アマゾンウェブサービスジャパン合同会社はパシフィコ横浜で開催された KubeCon + CloudNativeCon Japan 2026 においてスポンサーとしてブースを出展しており、たくさんの方にご来場いただきました。(ご来場いただいた皆様、有難うございました!)   AWS ブースでは、2日間で 12 のデモセッションを行い、多くのご来場者にご視聴いただきました。その際にセッション資料をシェアしてほしいとのご要望をいくつか頂いたことを受け、こちらのブログ で各セッションの資料を公開させて頂きます。デモセッションの内容について、EKS Auto Mode・AI エージェント・セキュリティ・コスト最適化など、Amazon EKS の最新機能と運用自動化を実演する内容となり、詳細は以下に記載させて頂いています。ご参考いただけますと幸いです。   7/29(水) 11:00-11:15 | AWS DevOps Agent による EKS 上のインシデント対応の迅速化 (Japanese) >>> セッション資料 フロンティアエージェントの一つである DevOps Agent は、従来のシステム運用を根本的に変革するサービスです。本セッションでは、DevOps Agent の概要を紹介し、EKS 上で稼働するシステムのインシデントをどのように調査するかをデモします。   [Speaker] Yuya Hirooka – Partner SA   7/29(水) 12:00-12:15 | トレーニングと推論のためのモデルロード高速化 (Japanese) >>> セッション資料 大規模モデルのトレーニングおよび推論ワークロードは、数十〜数百ギガバイトに及ぶコンテナイメージの取得とモデルウェイトの読み込みによるコールドスタートの問題を抱えています。本セッションでは、EKS Auto Mode 上で SOCI パラレルプル、Mountpoint for Amazon S3 によるストリーミング、Run:ai Model Streamer による GPU への直接ロードの 3 つの手法を紹介し、起動時間の短縮と手法の選び方を解説します。   [Speaker] Kosuke Sobue – ISV/SaaS Solutions Architect   7/29(水) 13:00-13:15 | モデルからエージェントへ — Amazon EKS Auto Mode で LLM 駆動 AI アプリケーションを稼働させる (English) >>> セッション資料 AI が推論エンドポイントからエージェント型アプリケーションへと進化する中、Kubernetes 上で LLM を稼働させるには新たな課題が生じます。本セッションでは、Amazon EKS Auto Mode が LLM 駆動のエージェント AI を大規模にデプロイ・運用する方法を、オープンソース LLM のライブデプロイと、推論と外部アクションを連携するエージェントアプリケーションを通じて紹介します。GPU コンピューティングは Ray と vLLM により自動管理されます。   [Speaker] Sai Vennam – Prin. WW Spec. SA, Containers   7/29(水) 13:40-13:55 | EKS セキュリティ:Admin & Advanced Network Policies (Japanese) >>> セッション資料 マイクロサービスが拡大するにつれ、セキュリティと開発スピードの両立が課題となります。本セッションでは、Amazon EKS Network Policies がサービスメッシュなしで多層防御を実現する方法を紹介します。Admin ポリシーがクラスター全体のベースラインを強制し、Advanced ポリシーが L7 FQDN ベースの Egress 制御を追加します。いずれも EKS Auto Mode 上の VPC CNI の eBPF エンジンで動作します。   [Speaker] Toshikazu Ichikawa – Snr Partner SA   7/29(水) 15:25-15:40 | EKS でのプラットフォームエンジニアリング:開発者セルフサービス GitOps ゴールデンパス(ArgoCD、ACK、KRO) (Japanese) >>> セッション資料   マネージド EKS の機能群(ArgoCD、ACK、KRO)を活用した GitOps ベースのプラットフォームで、ワークロードレベルのゴールデンパスを提供します。一例として LLM 推論を取り上げ、開発者が単一の InferenceEndpoint を宣言して git push するだけで、GPU のプロビジョニング、モデル提供(Ray Serve + vLLM)、セルフサービスでの公開までをプラットフォームが自動で行います。   [Speaker] Yuji Matsuoka – Solutions Architect, TELCO   7/29(水) 16:30-16:45 | AWS Neuron による動的リソース割り当て (Japanese) >>> セッション資料 Dynamic Resource Allocation(DRA)が Kubernetes 1.36 で GA となり、GPU などのハードウェアデバイスをより柔軟に割り当てられるようになりました。本デモでは、DRA の仕組みと使い方を説明し、AWS 固有のトピックとして Trainium での DRA 利用についても紹介します。   [Speaker] Kenta Goto – ISV/SaaS Solutions Architect   7/29(水) 17:50-18:05 | Kubernetes 上のマルチテナント AI トレーニングのための DRA ベースカスタム GPU スケジューラー (English)   組織が Kubernetes 上で AI ワークロードをスケールさせる際、チーム間での GPU 管理はフラグメンテーション、リソース競合、マルチノード間の調整失敗といった課題を生みます。本セッションでは、Kubernetes の DRA フレームワーク上に構築したカスタム GPU スケジューラーを紹介します。NVIDIA ResourceSlices を評価して共有モードを考慮した配置を行い、フラグメンテーションのないビンパッキングを適用し、クォータ管理、ギャングスケジューリング、デッドラインを考慮したバックフィルを含むマルチテナントポリシーを強制します。   [Speaker] Youngjoon Jeong – Sr. GTM SSA Containers Korea   7/30(木) 11:00-11:15 | AI によるシフトレフト:PR から本番までの K8s マニフェスト自動レビュー (Japanese) >>> セッション資料 経験豊富なレビュアーでも、特権コンテナ、平文シークレット、リソースリミットの未設定といった Kubernetes マニフェストの重大な問題を見落とすことがあります。本セッションでは、Amazon Bedrock 上の Claude を活用してレビューをシフトレフトする方法を紹介します。プルリクエストごとにセキュリティ、コスト、信頼性を分析し、インラインで修正提案を投稿し、堅牢化された YAML を自動コミットします。マージ後は ArgoCD があるべき状態を強制し、ドリフトを検知します。   [Speaker] Kyosuke Konishi – Associate Solutions Architect   7/30(木) 12:00-12:15 | AI エージェントのためのインフラ:AI エージェントワークロード向け Kro テンプレート (Japanese) >>> セッション資料 Kro と ACK を使い、AI エージェントのインフラ(複数の Kubernetes リソース + AWS リソース)を単一のカスタムリソースとしてテンプレート化します。AI エージェントワークロードを簡単にデプロイする方法をデモします。   [Speaker] Shota Suzuki – Solutions Architect   7/30(木) 13:00-13:15 | Amazon EKS Auto Mode による Kubernetes コスト最適化:Spot、統合、ゼロコンフィグ (English)   Kubernetes のコスト最適化には通常、Spot の専門知識、ノードグループのチューニング、キャパシティプランニングが必要です。EKS Auto Mode は、自動 Spot 統合、インテリジェントなインスタンス選択、低トラフィック時の継続的な統合、サブミニッツのバーストスケーリングにより、この運用負荷を解消します。Karpenter が手動設定なしでコスト効率を実現する様子をご覧ください。   [Speaker] Alex Kestner – Principal PMT-ES, Kubernetes   7/30(木) 13:40-13:55 | もう後戻りできない?そんな時代は終わり — EKS バージョンロールバックと恐れ知らずの Kubernetes アップグレード新時代 (Japanese) >>> セッション資料 Kubernetes のアップグレードは常に一方通行であり、チームはアップグレードを先延ばしにしたり、サポート切れのバージョンを使い続けたりしてきました。2026 年 7 月、Amazon EKS はバージョンロールバックを提供開始し、etcd データとワークロードを保持したまま 7 日以内に前のマイナーバージョンへ戻せるようになりました。本セッションでは、その仕組みと、ロールバックパスがアップグレード戦略をどう変えるかを解説します。   [Speaker] Ryota Yamada – Solutions Architect   7/30(木) 15:25-15:40 | EKS 向け Agent Skills:AI エージェントにスペシャリストレベルのアップグレード&運用知識を (English) >>> セッション資料 EKS のアップグレードやクラスターヘルスレビューは、専門知識の不足から先送りされがちな Day-2 タスクです。本デモでは、シニア AWS スペシャリストの知見をエンコードしたキュレーション済み Agent Skills を紹介し、Claude Code や Kiro などのコーディングエージェントに読み込ませます。非推奨 API やアドオンの競合をスコア付き Go/No-Go レポートで検出し、優先度付きの運用レビューを実行する様子をご覧ください。オープンソースの APEX コレクションは Agent Skills 標準に準拠し、数分でスペシャリストレベルのアウトプットを提供します。   [Speaker] Eng-Hwa Tan – Prin. GTM SSA Containers ASEAN / Masatoshi Hayashi – Sr. GTM SSA Containers Japan  
数百万件のアイテムに対する強力な検索は、高い関連性を維持しつつ、高速かつ正確で、手軽に実現できるべきです。リレーショナルデータベースは構造化データの保存手段として広く普及しており、多くの組織がコアとなるビジネス情報の格納に活用しています。リレーショナルデータベースは構造化データの保存と取得に優れていますが、大量の非構造化テキストの検索には苦労することが多く、パフォーマンス上の理由から、通常はすべての列にインデックスを付けているわけではありません。 対照的に、OpenSearch などの検索エンジンはすべてのフィールドにインデックスを付けるため、セマンティック検索を含む豊富な検索機能や、数値データを要約・分析するための強力な集計機能を利用できます。従来、組織は検索インデックスをデータベースと最新の状態に保つために、ETL(抽出・変換・ロード)パイプラインを含む、複雑で非効率的、かつコストのかかるデータ同期プロセスを管理してきました。高度な検索機能でアプリケーションを強化したい場合、カスタムデータ同期プロセスを管理するオーバーヘッドなしに、データベースとの検索インデックスの同期を維持できる、よりシンプルなソリューションが求められます。 Amazon OpenSearch Service と Amazon Relational Database Service (Amazon RDS) および Amazon Aurora の統合が一般提供開始されたことを発表できることを嬉しく思います。この新しい統合により、複雑なデータパイプラインが不要になり、Amazon Aurora (Amazon Aurora MySQL 互換エディションおよび Amazon Aurora PostgreSQL 互換エディションを含む) および Amazon RDS データベース (Amazon RDS for MySQL および Amazon RDS for PostgreSQL を含む) と Amazon OpenSearch Service の間でニアリアルタイムのデータ同期が可能になります。トランザクションデータベース上でハイブリッド検索、ランク付き検索、ファセット検索などの高度な検索機能を活用できるようになります。データ同期を管理する代わりに、優れた顧客体験の創出に集中しながら、低レイテンシで高スループットの検索結果、リアルタイムの在庫更新、パーソナライズされたレコメンデーションなどを提供できるようになりました。この統合により、複雑な ETL パイプラインの維持にかかる運用負荷とコストが削減されるとともに、検索データを即座に利用できるようになります。 Amazon OpenSearch Ingestion は、Amazon Aurora または Amazon RDS と OpenSearch Service の間でニアリアルタイムのデータ同期を提供します。Aurora または RDS データベースを選択すれば、残りは OpenSearch Ingestion が処理します。Aurora MySQL または RDS for MySQL (8.0 以降)、Aurora PostgreSQL または RDS for PostgreSQL (16 以降) の両方をサポートします。 これらのサービスがどのように機能するかを以下に示します。 データ取り込み – まず、Aurora または Amazon RDS が初期データを Amazon Simple Storage Service (Amazon S3) にエクスポートし、OpenSearch Ingestion がそのスナップショットを S3 からロードします。次に、Aurora または Amazon RDS の変更データキャプチャ (CDC) ストリームを使用して、以降の変更をニアリアルタイムでレプリケートし、OpenSearch Service にインデックスします。この自動化されたプロセスにより、データは OpenSearch 内で一貫して最新の状態に保たれ、手動による介入なしに検索と分析にすぐに利用できるようになります。 リアルタイムクエリ – OpenSearch Service は、データに対して複雑な検索と集計を実行できる強力な クエリ機能 を提供します。トレンドの分析、異常の検出、あるいはアプリケーションに検索結果を返すクエリの実行など、いずれのユースケースにも OpenSearch Service は必要なツールを提供します。 次の図は、Amazon Aurora をソースとした場合のソリューションアーキテクチャを示しています。 データベースソースの構成 同期を設定する前に、ソースデータベースのロギング設定を行う必要があります。Aurora MySQL の場合は、クラスターパラメータグループで拡張バイナリログ設定を有効にします。Amazon RDS の場合は、インスタンスパラメータグループの設定を通じて、基本的なバイナリロギングまたは論理レプリケーションを有効にします。これらの ロギング設定 により、OpenSearch Ingestion はデータベースからの変更をキャプチャしてレプリケートできるようになります。 Aurora MySQL のサンプル HR データベース は、この統合がどのように機能するかを示す良いサンプルです。 ビューを作成する前に、OpenSearch がこのデータをどのように表現するかを説明します。 OpenSearch マッピング は、ドキュメントとそのフィールドの保存・インデックス方法を定義するもので、データベーススキーマがテーブルと列を定義するのと同様の役割を果たします。OpenSearch Ingestion パイプラインはデフォルトで動的マッピングを使用し、Aurora または Amazon RDS のデータ型を適切な OpenSearch フィールド型に自動的に変換します。例えば、データベースの DATE フィールドは OpenSearch の日付型になり、数値フィールドは対応する OpenSearch の数値型にマッピングされます。 インデックステンプレート を使用してマッピングをカスタマイズすることも可能ですが、デフォルトのマッピングは通常、日付、数値、テキストフィールドなどの一般的なデータ型を正しく処理します。 GET employees/_mapping この統合が複雑なデータリレーションシップを処理できることを示すために、OpenSearch Ingestion が結合されたデータをどのように扱うかを見ていきましょう。サンプル HR データベースにビューを作成し、複数の関連テーブルからの情報を OpenSearch 内の単一の検索可能なドキュメントに統合します。このアプローチは、正規化されたデータベース構造を、検索操作に最適化された非正規化ドキュメントに変換する方法を示しています。 この employee_details ビューは、複数テーブルからのデータを統合し、豊富で非正規化された従業員情報を表現しています。OpenSearch Ingestion パイプラインは、ビュー (MySQL ベースのソースの場合) またはビューとマテリアライズドビュー (PostgreSQL ベースのソースの場合) の取り込みをサポートしていないことに注意してください。論理レプリケーションシステムの制限により、パイプラインは基盤となるベーステーブルからの変更のみを追跡します。したがって、ビュー自体は取り込めないため、ビューで定義したカラム構成を参考に、基盤となるベーステーブルをレプリケートするようにパイプラインを構成します。これにより、OpenSearch 上では各従業員が単一の包括的なドキュメントとして表現されます。この構造により、元々は別々だったテーブルにまたがる高速で複雑なクエリが可能になります。例えば、特定の部門や国の従業員を検索したり、地域間の給与分布を分析したりするなど、正規化されたデータベース構造では複雑で遅くなるクエリを簡単に実行できます。 次のスクリーンショットに示すパイプライン構成では、OpenSearch Ingestion が HR データベースに接続し、ソースデータベースとレプリケート対象のベーステーブルを識別する様子を確認できます。ビュー (および PostgreSQL ベースのソースでのマテリアライズドビュー) は取り込みソースとしてサポートされていないため、パイプラインはビュー自体ではなく、基盤となるベーステーブルからの変更を追跡します。OpenSearch Ingestion はこれらの関係を自動的に維持するため、これらのテーブルへの変更が OpenSearch インデックスに反映され、検索データがソースデータベースと一貫性を保つようになります。 以下に示す GIF では、OpenSearch Ingestion のビジュアルエディタを使用してこの統合を設定するデモを確認できます。 また、インデックスマッピングテンプレートを指定して、Aurora または Amazon RDS のフィールドを OpenSearch Service インデックスの適切なフィールドにマッピングすることもできます。 パイプラインの包括的な設定概要については、 OpenSearch Data Prepper のドキュメント を参照してください。パイプラインには AWS Identity and Access Management (IAM) ロールを設定する必要があります。手順については、 パイプラインロールの構成 を参照してください。 OpenSearch Ingestion で統合を構成すると、パイプラインは OpenSearch Dashboards で表示できるインデックスを自動的に作成します。OpenSearch Ingestion はまず、Aurora または Amazon RDS データベースの Amazon S3 への自動エクスポートをトリガーし、次に S3 からこのスナップショットデータを OpenSearch クラスターにロードして初期インデックスを作成します。この初期ロードの後、OpenSearch Ingestion は MySQL ベースのデータベースの場合はバイナリログ (binlog)、PostgreSQL ベースのデータベースの場合は先行書き込みログ (WAL) を使用して変更を継続的にキャプチャします。これにより、OpenSearch インデックスはソースデータベースとニアリアルタイムで同期された状態を保ちます。以下を呼び出すことで、OpenSearch Dashboards でインデックスを表示できます。 GET _cat/indices レスポンスの例: employee テーブルの最初の 5 つのエントリを考えてみましょう。 データベースに変更を加えると、OpenSearch Ingestion は変更データで Amazon OpenSearch Service を更新します。例えば、次のコードは従業員の給与を更新します。 UPDATE hr.employees SET SALARY = 26000 WHERE EMPLOYEE_ID = 100; Amazon Aurora が変更通知を送信し、OpenSearch Ingestion パイプラインがそれを取得して、OpenSearch Ingestion が変更されたレコードをニアリアルタイムで OpenSearch に送信します。これは OpenSearch クエリで確認できます。 GET employees/_search この機能に関する重要な詳細: モニタリング – CloudWatch メトリクス と OpenSearch Ingestion ダッシュボードを通じて、パイプラインのパフォーマンスとデータ同期を追跡します 制限事項: 同一リージョンおよび同一アカウントでのデプロイが必須で、最適な同期のためにプライマリキーが必要です。現在、データ定義言語 (DDL) ステートメントのサポートはなく、ビュー (MySQL) またはビューとマテリアライズドビュー (PostgreSQL) の取り込みはサポートされていません。論理レプリケーションシステムを通じて追跡されるのはベーステーブルのみです Amazon Aurora または Amazon RDS と Amazon OpenSearch Service の統合は、OpenSearch Ingestion が利用可能なすべての AWS リージョンで一般提供開始されました。 詳細については、Aurora または Amazon RDS と Amazon OpenSearch Service の統合に関する AWS ドキュメントを参照してください。 Using an OpenSearch Ingestion pipeline with Amazon Aurora – Amazon OpenSearch Service Using an OpenSearch Ingestion pipeline with Amazon RDS – Amazon OpenSearch Service About the authors Michael Torio は、カリフォルニア州マウンテンビューを拠点とし、Amazon OpenSearch Service を専門とする AWS のアソシエイトスペシャリストソリューションアーキテクトです。Michael は、お客様がクラウドテクノロジーを活用してビジネス上の課題を解決するためのサポートに取り組んでいます。 Sohaib Katariwala は、イリノイ州シカゴを拠点とし、Amazon OpenSearch Service を専門とする AWS のシニアスペシャリストソリューションアーキテクトです。彼の関心はデータと分析に関するあらゆるものにあります。お客様がデータ戦略の中で AI を活用して現代の課題を解決するためのサポートに喜びを感じています。 Arjun Nambiar は、Amazon OpenSearch Service のプロダクトマネージャーです。彼は、さまざまなソースからのデータを大規模に Amazon OpenSearch Service に取り込むことを可能にする取り込みテクノロジーに注力しています。Arjun は大規模分散システムとクラウドを中心としたテクノロジーに関心があり、ワシントン州シアトルを拠点としています。 原文は こちら です。
本ブログは 2026 年 2 月 9 日に公開された AWS Blog “ Automated Reasoning checks rewriting chatbot reference implementation ” を翻訳したものです。 本日 (2026 年 2 月 9 日)、 新しいオープンソースのサンプルチャットボット を公開します。このサンプルでは、自動推論チェック (Automated Reasoning checks) のフィードバックを使って、生成されたコンテンツを反復的に改善し、確認のための質問を行い、回答の正しさを証明する方法を紹介します。 このチャットボットは、回答の妥当性について数学的に検証可能な説明を含む監査ログを生成します。さらに、裏側で動く反復的な書き換えプロセスを開発者が確認できるユーザーインターフェイスも備えています。Amazon Bedrock Guardrails の自動推論チェックは、論理的な演繹によってある記述が正しいことを自動的に示す仕組みです。大規模言語モデル (LLM) のように正確性を推測したり予測したりするのではなく、数学的な証明によってポリシーへの準拠を検証します。このブログ記事では、自動推論チェックを使った書き換えチャットボットの実装アーキテクチャを詳しく解説します。 自動推論チェックで高める正確性と透明性 LLM は、説得力があるように見えて事実に反する内容を含む応答を生成することがあります。これはハルシネーションと呼ばれる現象です。自動推論チェックは、ユーザーの質問と LLM が生成した回答を検証し、書き換えフィードバックを返します。このフィードバックは、自動推論ポリシー (Automated Reasoning policy) にエンコードされたグラウンドトゥルースの知識に基づいて、あいまいな記述、範囲が広すぎる断定、事実に反する主張を指摘します。 回答をユーザーに提示する前に、自動推論チェックで反復的に改善するチャットボットは、 正確性の 向上 に役立ちます。あいまいさの余地を残さず、「はい/いいえ」形式の質問に明確に答える正確な記述ができるようになるからです。また、 透明性の向上にも役立ちます 。記述が正しい理由を数学的に検証可能な証明として示せるため、規制のある環境でも生成 AI アプリケーションを監査可能かつ説明可能にできます。 メリットを確認したところで、これをご自身のアプリケーションでどのように実装するかを見ていきましょう。 チャットボットのリファレンス実装 この チャットボット は Flask アプリケーションで、質問の送信と回答のステータス確認を行う API を公開しています。システムの内部動作がわかるように、これらの API では各イテレーションのステータス、自動推論チェックからのフィードバック、LLM に送信した書き換えプロンプトも取得できます。 フロントエンドの NodeJS アプリケーションでは、回答生成に使う Amazon Bedrock の LLM を設定し、検証に使う自動推論ポリシーを選択し、回答を修正するイテレーションの最大回数を指定できます。ユーザーインターフェイスでチャットスレッドを選択すると右側にデバッグパネルが開き、コンテンツに対する各イテレーションと検証出力が表示されます。 図 1 – デバッグパネル付きのチャットインターフェイス 自動推論チェックが応答を妥当と判定すると、その妥当性についての検証可能な説明が表示されます。 図 2 – 自動推論チェックによる妥当性の証明 反復的な書き換えループの仕組み この オープンソースのリファレンス実装 は、自動推論チェックからのフィードバックを反復的に処理して応答を書き換えることで、チャットボットの回答を自動的に改善するのに役立ちます。チャットボットの質問と回答 (Q&A) の検証を要求すると、自動推論チェックは検出結果 (finding) のリストを返します。各検出結果は、入力された Q&A の中で特定された、独立した論理的な記述を表します。例えば「S3 ストレージの料金はいくらですか? 米国東部 (バージニア北部) では、S3 の料金は最初の 50 TB について 0.023 USD/GB です。アジアパシフィック (シドニー) では、S3 の料金は最初の 50 TB について 0.025 USD/GB です」という Q&A の場合、自動推論チェックは 2 つの検出結果を生成します。1 つは us-east-1 における S3 の料金が 0.023 USD であることを検証するもの、もう 1 つは ap-southeast-2 に関するものです。 Q&A の検出結果を解析するとき、自動推論チェックは入力を、事実に関する前提 (premise) のリストと、それらの前提に基づく主張 (claim) に分けます。前提には、「私はバージニアの S3 ユーザーです」のようにユーザーの質問に含まれる事実の記述や、「us-east-1 に送信されるリクエストについては…」のように回答内で示された仮定が該当します。主張は、検証対象となる記述です。前の段落の S3 料金の例では、リージョンが前提、価格が主張になります。 各検出結果には、検証結果 ( VALID 、 INVALID 、 SATISFIABLE 、 TRANSLATION_AMBIGUOUS 、 IMPOSSIBLE ) と、回答を VALID にするために必要なフィードバックが含まれます。フィードバックの内容は検証結果によって変わります。例えば、あいまいな検出結果には入力テキストの 2 つの解釈が含まれ、充足可能な検出結果には、主張が真になる場合と偽になる場合をそれぞれ示す 2 つのシナリオが含まれます。想定される検出結果の種類は API ドキュメント でご確認いただけます。 訳注: 2026 年 9 月現在、検証結果には、本文で挙げられている 5 種類に加えて NO_TRANSLATIONS と TOO_COMPLEX があり、全 7 種類が定義されています。最新の一覧は、Amazon Bedrock ユーザーガイドの「 自動推論チェックの概念 」を参照してください。 ここまでの背景を踏まえて、リファレンス実装の仕組みを詳しく見ていきましょう。 初回の応答と検証 ユーザーが UI から質問を送信すると、アプリケーションはまず設定された Amazon Bedrock の LLM を呼び出して回答を生成し、次に ApplyGuardrail API を呼び出して Q&A を検証します。 アプリケーションは ApplyGuardrail 応答に含まれる自動推論チェックの出力を使ってループに入ります。各イテレーションでは、自動推論チェックのフィードバックを確認し、そのフィードバックに基づいて LLM に回答の書き換えを依頼するといったアクションを実行し、その後 ApplyGuardrail を呼び出して更新後のコンテンツを再検証します。 書き換えループ (システムの中核) 初回の検証が終わると、システムは自動推論チェックの出力から次のステップを決定します。まず検出結果を、最も重要なものが先頭になるように優先度順に並べ替えます。優先度は TRANSLATION_AMBIGUOUS 、 IMPOSSIBLE 、 INVALID 、 SATISFIABLE 、 VALID の順です。次に、最も優先度の高い検出結果を選び、以下のロジックで対処します。 VALID はこの並びの最後にあるため、システムは他の検出結果に対処した後にのみ、内容を VALID として受け入れます。 TRANSLATION_AMBIGUOUS の検出結果では、自動推論チェックが入力テキストの 2 つの解釈を返します。 SATISFIABLE の検出結果では、主張を証明するシナリオと反証するシナリオの 2 つを返します。アプリケーションはこのフィードバックを使い、あいまいさを解消するために回答の書き換えを試みるか、不足している情報を集めるためにユーザーへ追加の質問を行うかの判断を LLM に依頼します。例えば SATISFIABLE のフィードバックでは、0.023 USD という料金はリージョンが米国東部 (バージニア北部) の場合にのみ妥当だと示されることがあります。LLM はこの情報を使って、アプリケーションのリージョンをたずねることができます。LLM が追加の質問を行うと判断した場合、ループは一時停止してユーザーの回答を待ちます。その後、LLM は明確になった情報に基づいて回答を再生成し、ループが再開されます。 IMPOSSIBLE の検出結果では、自動推論チェックが前提 (入力コンテンツ内で受け入れられた事実) と矛盾するルールのリストを返します。アプリケーションはこのフィードバックを使い、論理的な矛盾を避けるように回答を書き換えることを LLM に依頼します。 INVALID の検出結果では、自動推論チェックが該当するルールを返します。これらは、前提とポリシールールに基づいて主張を無効と判断する根拠になった、自動推論ポリシー内のルールです。アプリケーションはこのフィードバックを使い、ルールと整合するように回答を書き換えることを LLM に依頼します。 VALID の検出結果では、アプリケーションはループを終了し、回答をユーザーに返します。 回答を書き換えるたびに、システムは Q&A を検証のために ApplyGuardrail API へ送信します。ループの次のイテレーションは、この呼び出しのフィードバックから始まります。各イテレーションは検出結果とプロンプトを完全なコンテキストとともにスレッドのデータ構造に保存し、システムが最終的な回答に至った過程の監査証跡を作成します。 自動推論チェックによる書き換えチャットボットの始め方 このリファレンス実装を試すには、最初のステップとして自動推論ポリシーを作成します。 AWS マネジメントコンソールで Amazon Bedrock に移動します。このとき、米国または欧州の サポートされているリージョン のいずれかを選択します。 左側のナビゲーションから、 Automated Reasoning ページを開きます。このページは Build カテゴリにあります。 [ポリシーを作成] ボタンのドロップダウンメニューから、 [サンプルポリシーを作成] を選択します。 ポリシーの名前を入力し、ページ下部の [ポリシーを作成] を選択します。 ポリシーを作成したら、リファレンス実装をダウンロードして実行できます。 Amazon Bedrock の サンプルリポジトリ をクローンします。 README ファイル の手順に従って、依存関係をインストールし、フロントエンドをビルドして、アプリケーションを起動します。 お好みのブラウザで http://localhost:8080 にアクセスし、テストを開始します。 訳注: 2026 年 9 月現在、自動推論チェックがサポートする言語は英語のため、テストでは英語で質問を入力してください。最新の対応状況は、Amazon Bedrock ユーザーガイドの「 Amazon Bedrock ガードレールの自動推論チェックとは 」を参照してください。 バックエンド実装の詳細 この実装を本番環境向けに応用する予定の方に向けて、以下ではバックエンドアーキテクチャの主要コンポーネントを説明します。これらのコンポーネントは、リポジトリの backend ディレクトリにあります。 ThreadManager: 会話のライフサイクル管理をオーケストレーションします。会話スレッドの作成、取得、ステータス追跡を担い、書き換えプロセス全体で適切な状態を維持します。ThreadManager はロックを使ってスレッドセーフな操作を実装しており、複数の操作が同じ会話を同時に変更しようとしたときの競合状態を防ぐのに役立ちます。また、ユーザー入力を待っているスレッドを追跡し、設定可能なタイムアウトを超えた古いスレッドを特定できます。 ThreadProcessor: ステートマシンパターンで書き換えループを処理し、明確で保守しやすい制御フローを実現します。プロセッサは GENERATE_INITIAL 、 VALIDATE 、 CHECK_QUESTIONS 、 HANDLE_RESULT 、 REWRITING_LOOP といったフェーズ間の状態遷移を管理し、各段階を通じて会話を正しく進行させます。 ValidationService: Amazon Bedrock Guardrails と統合します。LLM が生成した各応答を受け取り、 ApplyGuardrail API を使って検証のために送信します。AWS との通信を担い、一時的な障害に対してエクスポネンシャルバックオフによる再試行ロジックを管理し、検証結果を解析して、構造化された検出結果に変換します。 LLMResponseParser: 書き換えループ中の LLM の意図を解釈します。システムが無効な応答の修正を LLM に依頼すると、モデルは書き換えを試みる ( REWRITE )、確認のための質問を行う ( ASK_QUESTIONS )、前提の矛盾によりタスクが実行不可能だと宣言する ( IMPOSSIBLE ) のいずれかを判断する必要があります。パーサーは LLM の応答から DECISION: 、 ANSWER: 、 QUESTION: といった特定のマーカーを探し、自然言語の出力から構造化された情報を抽出します。Markdown 形式も適切に処理し、質問数の上限 (最大 5 件) を適用します。 AuditLogger: 構造化された JSON ログを専用の監査ログファイルに書き込み、2 種類の主要なイベントを記録します。1 つは応答が検証に合格したときの VALID_RESPONSE 、もう 1 つはシステムが設定された再試行回数を使い切ったときの MAX_ITERATIONS_REACHED です。各監査エントリには、タイムスタンプ、スレッド ID、プロンプト、応答、モデル ID、検証の検出結果が記録されます。さらに、確認のためのイテレーションから Q&A のやり取りを抽出して記録します。その際、ユーザーが質問に回答したかスキップしたかも含めます。 これらのコンポーネントを組み合わせることで、LLM の柔軟性と数学的検証の厳密さを兼ね備えた、信頼できる AI アプリケーションの堅牢な基盤を構築しやすくなります。 自動推論チェックを本番環境で実装する際の詳しいガイダンスは次のとおりです。 ワークショップ : Generative AI Reliability with Automated Reasoning checks 技術ブログ : Minimize generative AI hallucinations with Amazon Bedrock Automated Reasoning checks 訳注: 上記の記事はプレビュー期間中 (2025 年 4 月) に公開されたものです。一般提供開始後の機能に基づいた手順は、日本語版ブログの「 Amazon Bedrock の自動推論チェックによる信頼できる AI システムの構築 – パート 1 」を参照してください。 ユースケースブログ : Build verifiable explainability into financial services workflows with Automated Reasoning checks for Amazon Bedrock Guardrails ドキュメント : Amazon Bedrock Guardrails ユーザーガイド 著者について Stefano Buliani Stefano は AWS の Automated Reasoning チームの Product Manager です。AWS に 10 年以上在籍し、Serverless Java Container などのオープンソースプロジェクトを含むサーバーレス技術に携わり、数百のアプリケーションを本番環境にデプロイするお客様を支援してきました。 本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。
本日、Kiro workflows を発表します。複数のエージェントを使い、少ない監督で複雑なタスクを最初から最後までやり遂げられる機能です。私たちは Kiro 自体の開発にも workflows を使ってきました。新しいクラウド構成、クラウドセッション、そして workflows 体験の大部分がその成果です。 workflows 以前は、エージェントに変更の実装を頼み、戻ってきてから「この変更をコードレビューして」と伝え、さらに後で「レビューの指摘に対応して」と頼んでいました。セッションの大半を監督に費やし、ステップを飛ばせば再度プロンプトを送り、以前の決定事項をエージェントに思い出させていました。セッション内では順序の制御はモデルが担いますが、モデルの注意力には限りがあります。合意した内容はすべて、ツール出力やファイル内容で埋まっていく同じコンテキストウィンドウに置かれているため、まだ残っている作業をエージェントが忘れたときにも私たちが介入していました。この問題を回避するために、作業を別々のセッションに分け、セッションをまたいで残るファイルに計画を書いていましたが、それでも各セッションが何をしているかを覚えておき、セッション間で結果を受け渡す必要がありました。こうした手動のワークフローは良い結果を生むこともありますが、準備に時間がかかります。うまくいくプロセスができたら、手で組み直すことなく、その実行を指して「もう一度やって」と言いたいものです。 Kiro workflows はこれを解決します。workflows では、どのエージェントがどの順序で作業するかをモデルが定義し、Kiro ランタイムがその計画を実行するので、各ステップがリマインドなしで予定どおりに実行されます。workflows は、エージェントステップ、シーケンス、ループ、並列ブランチで構成されるグラフで、人間とエージェントの両方が読み書きできる形式で表現されます。各ステップは新しいコンテキストを持つ独立したセッションで実行されるため、たとえばレビュアーはコーダーの推論を引き継がずに作業を評価できます。Kiro は目の前のタスクに合わせて workflow を生成します。生成された workflow はレシピとして保存して再利用でき、自分で書くこともできます。 workflows はバックグラウンドで実行されるため、委任した作業が進む間もメインの会話で Kiro との作業を続けられます。workflow の各ステップのセッションは実行中も参照でき、一時停止、再開、方向修正ができます。実行後もフォローアップの質問のために戻れます。小さな調査を委任するだけでも、そのツール出力や詳細な推論がメインの会話に入らないため、作業を続けるためのコンテキストを温存できます。 workflows で Kiro を開発する Kiro IDE Kiro CLI Kiro Web ランタイムが動くようになってすぐ、私たちは workflows を使って、workflow ランタイム自体の大部分と Kiro Web との統合全体を開発しました。フロントエンド、API と社内サービス、Kiro のエージェントハーネスにまたがるフルスタックの作業で、それぞれの部分を別々の workflow が並列に担当しました。 実装を担う workflow は、変更を分離するためにそれぞれ別の Git worktree を使いました。エージェントがコンポーネント間の問題を見つけると、メインセッションが影響を受ける workflow のエージェントにそれを伝え、軌道修正できるようにしました。私たちのステアリングファイルでは、 agent-browser CLI を使った自動テストで Web UI を操作し、検証用のスクリーンショットを撮ることを必須にしています。 エージェントは変更をプッシュし、私たちが好む記述スタイルでプルリクエストを作成しました。その後、レビューの指摘にループで対応しながら PR を更新しました。関連する変更がマージされるとブランチをリベースしてマージコンフリクトを解消し、設計に影響する変更、スコープを広げる変更、ユーザー体験を変える変更については私たちに確認しました。 私たちのエージェントは、Kiro の 1 セッションで数十個の workflow を管理することがよくあります。典型的な workflow はカスタムエージェントを使った 5〜10 ステップで構成され、マルチモデルのコードレビューと、ループでの自動修正が含まれます。数週間続くセッションもあり、機能や改善を重ねるにつれて、私たちの決定事項に関するコンテキストが蓄積されていきます。チーム全体では、workflows はほぼ 24 時間 365 日稼働しています。 workflows は私たちの働き方を変えました。各セッション内で並列に実行される作業が増え、エージェントがバックグラウンドで調査を進め、複数の PR にわたって機能を構築します。タスクはより非同期になり、10 分ごとに私たちがプロンプトを送って先へ進めなくても、エージェントが長時間作業を続けます。Kiro は私たちの判断が必要な依頼だけを持ってくるので、私たちは設計上の判断や次に何を作るかにより多くの時間を使えるようになりました。 workflow の中身 次に示すのは、変更を計画し、実装と並列レビューを承認されるまで繰り返し、最後にドラフトのプルリクエストを作成する workflow の短い例です。これはグラフとして表現できます。 同じ workflow を次のレシピで記述できます。 { "name": "deliver-change", "inputs": { "task": "prompt", "workdir": "string" }, "steps": [ { "type": "step", "id": "plan", "agent": "wf-planner", "prompt": "Read the code relevant to {{task}} in {{workdir}} and write an ordered implementation plan to {{workdir}}/plan.md.", "artifacts": { "plan": "{{workdir}}/plan.md" } }, { "type": "repeat", "id": "code-loop", "maxIterations": 3, "onMaxIterations": "abort", "stopCondition": { "fileCheck": { "path": "{{workdir}}/review/verdict.json", "jsonPath": "verdict", "value": "APPROVED" } }, "steps": [ { "type": "step", "id": "implement", "agent": "wf-coder", "prompt": "Implement {{task}} in {{workdir}} following {{artifacts.plan}}. If {{workdir}}/review/verdict.json says CHANGES_REQUESTED, fix every finding in it first. Run the tests and commit." }, { "type": "parallel", "id": "reviews", "joinPolicy": "all", "branches": [ { "type": "step", "id": "review-a", "agent": "semantic_reviewer", "prompt": "Review the change in {{workdir}}. Write your review to {{workdir}}/review/a.md. Do not read the other reviewer's file.", "artifacts": { "review_a": "{{workdir}}/review/a.md" } }, { "type": "step", "id": "review-b", "agent": "semantic_reviewer", "prompt": "Review the change in {{workdir}}. Write your review to {{workdir}}/review/b.md. Do not read the other reviewer's file.", "artifacts": { "review_b": "{{workdir}}/review/b.md" } } ] }, { "type": "step", "id": "aggregate", "agent": "wf-review-aggregator", "prompt": "Read {{artifacts.review_a}} and {{artifacts.review_b}}. Dedupe the findings, then write the verdict to {{workdir}}/review/verdict.json as {\"verdict\": \"APPROVED\" | \"CHANGES_REQUESTED\"}." } ] }, { "type": "step", "id": "draft-pr", "agent": "wf-pr-submitter", "prompt": "Open a draft pull request for the change in {{workdir}}. Base the description on {{artifacts.plan}}." } ] } 各 step は独立したエージェントセッションとして実行されます。依存関係は、必要とする作業の後にステップを置き、その出力を {{...}} 変数で参照することで定義します。グラフのエッジを別途管理する必要はありません。 parallel ノードは独立したステップを同時に実行し、 repeat はレビューの承認などの停止条件を満たすまでステップをループします。workflow を作る最も簡単な方法は、Kiro に頼むことです。 Kiro はレシピを JSON で生成しますが、YAML にも対応しています。 モデル駆動の workflows セッションで説明したタスクは Kiro が分解するので、レシピを書く必要はありません。カスタムエージェント、使いたいモデル、思考の effort レベルなど、作業の組み立て方を指定することもできます。 Kiro は、エージェントが見つけた内容に応じて実行中の workflow を調整できます。たとえば、プランナーが実装を独立したタスクに分割し、並列で動くコーディングエージェントにそれぞれを委任できます。変更はステップの合間に反映されるため、完了した作業はそのまま残り、実行中のステップも変わりません。 同梱の workflow の例 より複雑な例として、同梱の feature-pipeline レシピは、要件の収集、ソリューションの設計とレビュー、実装計画の作成、コードの記述をエージェントに分担させます。その後、独立したコードレビュアーが並列に実行されます。 次のツリーでは、設計ループとコードループがそれぞれ承認を得るまで最大 3 回試行し、それでも承認されなければ実行を停止します。最後の検証では、結果を元の要件と照らし合わせます。 この例は Claude Opus 5 を High effort で使うセッションから起動しています。設計とレビューのエージェントは Extra high を使うようにカスタマイズしています。以下ではモデルと effort の上書き設定のみを示し、省略した設定はセッションのデフォルトを使います。 repeat の下にネストされた行はそのループ本体を構成し、parallel の下にネストされた行は同時に実行されます。トップレベルの行は順番に実行されます。 私たちは Kiro の開発で数千回の workflow を実行してきました。Kiro には組み込みのレシピが同梱されており、その中でも investigate と publish-pr は私たち自身が毎日使っているものです。 investigate は単一エージェントによる読み取り専用の調査をバックグラウンドで実行して結果を報告するので、セッションのコンテキスト使用量を抑えられます。 publish-pr レシピはプルリクエストを作成し、マージまで追跡します。失敗した CI チェックを再試行し、安全に解決できるレビューのフィードバックには対応します。設計を変える、PR のスコープを広げる、ユーザー体験を変えるといった場合は、事前に確認を求めます。これらのレシピは出発点です。そのまま実行することも、タスクを説明して Kiro に workflow を組み立てさせることも、自分で書くこともできます。 セッション間のメッセージング workflow のステップは、進捗の報告、完了や失敗の通知、自分では判断できない決定の依頼のために、メインセッションへメッセージを送ります。こうしたメッセージは Kiro とすでに進めている会話に届くので、各ステップのセッションを開いて確認しなくても、1 か所で作業を追えます。 メッセージングは逆方向にも機能します。メインセッションは、チャットで下した決定をステップを実行中のエージェントにメッセージで伝えられます。ステップの質問への答えがすでに会話の中にある場合は、メインセッションがあなたの代わりに返信するので、ステップは作業を続け、あなたは本当に自分の判断が必要な質問だけを受け取ります。これにより、メインの会話から作業を進めながら、workflows をより自律的に実行できます。 はじめ方 workflows は Kiro IDE、CLI、Web で利用可能になりました。3 つすべての下で 1 つのランタイム が動いているので、どこから起動してもレシピは同じように動作します。 workflows はオプトインで提供を開始しているため、まず設定で有効にする必要があります。 IDE プロジェクトの Workspace Configuration を開きます。 Workflows を選択します。 Workflows を有効にします。 新しいチャットセッションを開始します。すでに開いているセッションに変更を反映するには、Kiro を再起動してください。 対応する設定は kiroAgent.workflows.enabled です。Workflows が表示されない場合は、まだお使いのアカウントでは利用できません。 CLI /settings を実行します。 Features を選択します。 Workflows を有効にします。 Kiro CLI を再起動すると、workflow のコマンドが使えるようになります。 この設定は chat.enableWorkflows として保存されます。Workflows が表示されない場合は、まだお使いのアカウントでは利用できません。 Web Kiro Web で Settings を開きます。 Workflows を選択します。 Enable workflows をオンにします。オフにすると Workflow 関連の画面が非表示になり、新しい起動ができなくなります。 任意: Upload workflow を選択して、レシピを 1 つアップロードします。 .kiro/workflows/ フォルダ全体をインポートするには、 Configuration Sync を使います。 Web では .workflow.json 、 .workflow.yaml 、 .workflow.yml のレシピファイルを受け付けます。 よく使うレシピを Kiro Web の クラウド構成 に保存しておけば、プロジェクトやデバイスをまたいで再利用できます。workflows は Kiro CLI と IDE からの クラウドセッション でも実行できます。クラウドセッションで workflows を有効にし、保存した workflow を管理するには、 workflows の設定ページ を使います。 workflows には、他のエージェント作業と同じ Kiro のクレジットモデルが適用されます。クレジットの使用量は実行するエージェント作業によって決まるため、複雑な workflow ほど多くのクレジットを使う場合があります。特に指示がなければ、Kiro はタスクに必要と判断した内容に基づいて workflow を作成します。プロンプトやステアリングファイルで、Kiro が作業をどう分割し、どの程度レビューを行うかを指示できます。 詳しくは Workflows のドキュメント をご覧ください。 workflows で作ったものをぜひ教えてください。 本記事は 2026 年 9 月 30 日に公開された Introducing Kiro workflows を翻訳したものです。
本記事は 2026 年 9 月 30 日 に公開された「 Amazon Aurora PostgreSQL now supports direct querying of Apache Iceberg and Parquet data in your data lake 」を翻訳したものです。 本日、 Amazon Aurora PostgreSQL の新機能を発表します。既存の PostgreSQL アプリケーションやツールを使って、運用データと、データレイクに Apache Iceberg および Apache Parquet 形式で保存されたデータを組み合わせて直接クエリできるようになりました。データレイクの構造化データを運用データベースに ETL (抽出、変換、ロード) する必要がなくなるため、運用の複雑さを軽減し、アプリケーション開発をシンプルにできます。また、Iceberg REST Catalog (IRC) 互換カタログで管理されているデータレイクのデータも Aurora PostgreSQL からクエリでき、データを移動したり複製したりすることなく、幅広い分析システムのデータにアクセスできます。リアルタイムダッシュボードの提供、過去の履歴情報によるトランザクションデータの補完、ライブデータとアーカイブデータの両方をもとに推論する AI エージェントの構築など、いずれも 1 つの使い慣れたインターフェースから実現できます。 従来、Aurora 上の最新のトランザクションデータと Amazon S3 に保存された過去のレコードをアプリケーションで組み合わせるには、リバース ETL パイプラインを構築するのが一般的でした。リバース ETL パイプラインではデータが重複し、インフラストラクチャコストが増え、すべてを同期させ続けるための継続的なエンジニアリング作業が必要でした。アプリケーションに AI エージェントを組み込む場面が増えるほど、エージェントが必要とする可能性のあるデータセットをすべて事前に予測して複製しておくことは現実的でなくなり、課題はさらに大きくなります。 DuckDB プロジェクトをメンテナンスする DuckLabs のチームが最近 Amazon に加わりました。今回の機能は、DuckDB の効率性を AWS のサービスに統合していく取り組みの一例です。DuckDB が Aurora PostgreSQL に直接組み込まれたことで、ライブの運用データ (コミットされていない書き込みを含む) とデータレイクのデータを 1 つのクエリで横断的にクエリできます。クエリ処理は Aurora 内で完結し、追加のネットワークホップも、データを複製する ETL パイプラインも不要です。AWS Glue Data Catalog で管理されている Apache Iceberg テーブルに加えて、Amazon S3 や S3 Tables に保存されている Parquet および Iceberg データをクエリできます。これらはすべて、使い慣れた PostgreSQL 構文と既存のアプリケーション、ツールで実行できます。 DuckDB の速さとシンプルさを Aurora PostgreSQL に直接取り込むことで、お客様もお客様のエージェントも、既に利用している PostgreSQL アプリケーション、ツール、エンドポイントから運用データと Iceberg データを組み合わせてクエリできます。今回の機能を DuckDB を軸に構築したことで、オープンソースエンジン側の今後の改善が、Aurora やその他の AWS サービスのパフォーマンスと機能の向上に引き続きつながります。 新機能 今回の機能は、Aurora PostgreSQL の 2 つのメジャーバージョン、17 (17.11 以降) と 18 (18.6 以降) でサポートされています。使用するには、Aurora PostgreSQL クラスターを作成し、 AuroraAnalytics 機能用の IAM ロールをアタッチして、 aurora_analytics 拡張機能を有効にします。この IAM ロールによって、Aurora が Amazon S3 と AWS Glue Data Catalog 上のデータにアクセスできるようになります。その後、データレイク内の Iceberg または Parquet データを参照する外部テーブルを作成し、使い慣れた PostgreSQL 構文でクエリします。この設定は Amazon RDS コンソール から、または psql などの任意の PostgreSQL クライアントで実行できます。手順の詳細は Aurora PostgreSQL のドキュメント に記載されています。 AWS Glue Data Catalog のフェデレーションを通じて、外部の IRC 互換カタログのデータもクエリできます。外部カタログを一度 Glue に登録すれば、あとは Glue ネイティブのテーブルと同じ手順で、クエリしたいテーブルに対応する外部テーブルを作成するだけです。1 つのクエリで Aurora に保存されたデータと複数のカタログに登録された Iceberg テーブルを結合できるため、データを移動したり既存のカタログ資産を置き換えたりせずに、アプリケーションから統合されたビューを得られます。 Aurora は述語プッシュダウンやカラムプルーニングといった最適化も適用するため、必要なデータだけが読み取られます。対象データが増えてもクエリの効率は維持されます。頻繁にアクセスされるデータは Aurora インスタンスにキャッシュされるため、同じデータに対する後続のクエリはより速く返されます。クエリごとの動作は aurora_analytics_stat_statements() で確認でき、スキャンした行数、Amazon S3 から読み取ったバイト数、キャッシュヒット数などのメトリクスが報告されます。 直接クエリの動作を確認するため、psql で Aurora PostgreSQL データベースに接続して拡張機能を作成しました。 CREATE EXTENSION aurora_analytics; 今回のウォークスルーでは、シンプルな金融シナリオを用意しました。Aurora には直近 7 日間の顧客トランザクションを格納した recent_transactions テーブルがあり、Amazon S3 には 5 年分の過去のトランザクションデータを含む Parquet ファイルがあります。Aurora から過去データを参照できるようにするため、S3 の Parquet ファイルを指す外部テーブルを作成しました。 CREATE FOREIGN TABLE transaction_history () SERVER aurora_analytics_server OPTIONS ( location 's3://<my-bucket>/finance/transaction_history.parquet', format 'parquet' ); CREATE FOREIGN TABLE 文の括弧が空になっている点に注目してください。Aurora は Parquet ファイルのメタデータからスキーマを自動的に読み取るため、カラムを手動で定義する必要はありません。テーブルが多数あるワークロードでは、1 つずつ作成する代わりに、 IMPORT FOREIGN SCHEMA 文 1 つで AWS Glue Data Catalog のデータベースに含まれるすべての Iceberg または Parquet テーブルに対応する外部テーブルを一括で作成でき、スキーマも自動で推論されます。 両方のテーブルが揃ったところで、Aurora 内の最新の運用データと S3 の過去データを組み合わせる 1 つのクエリを実行しました。 SELECT merchant, category, amount, transaction_date, 'recent' AS source FROM recent_transactions WHERE customer_id = 'C-1001' UNION ALL SELECT merchant, category, amount, transaction_date, 'historical' AS source FROM transaction_history WHERE customer_id = 'C-1001' AND transaction_date >= CURRENT_DATE - INTERVAL '5 years' ORDER BY transaction_date DESC LIMIT 15; 結果には、最新のトランザクションと過去のトランザクションが 1 つの結果セットとして表示されています。直近の 7 行は Aurora から、残りは S3 の Parquet ファイルから直接取得されたものです。内部では DuckDB が Parquet データの分析スキャンを担い、Aurora が運用データを処理しています。従来であれば、この 1 つのクエリを実行するために、まず過去データをデータベースに移動するパイプラインが必要でした。 1 桁ミリ秒のレイテンシーが求められるクエリパターンでは、 CREATE TABLE AS SELECT 、 INSERT INTO ... SELECT 、 MERGE INTO などの使い慣れたコマンドで、データレイクのデータをネイティブの Aurora PostgreSQL テーブルにマテリアライズできます。マテリアライズされたテーブルは Aurora 内に存在し、他の PostgreSQL テーブルと同様にクエリできるため、別途取り込みパイプラインを運用することなく、ホットデータへ低レイテンシーでアクセスする経路を確保できます。読み取りクエリは、ライターでもリードレプリカでも、クラスター内のどの Aurora PostgreSQL インスタンスでも実行できるため、分析スキャンを運用ワークロードからオフロードできます。マテリアライズ用のコマンドは Aurora にデータを書き込むため、ライターインスタンスで実行します。 今すぐ始めましょう Amazon Aurora PostgreSQL からの Apache Iceberg および Parquet データの直接クエリは、すべての商用 AWS リージョンと AWS GovCloud (US) リージョンで本日から追加料金なしで利用できます。課金されるのは、クエリが消費する Aurora コンピューティングの増分と、データレイクファイルの読み取りにかかる Amazon S3 のリクエスト料金 のみです。 詳細は、 Amazon Aurora の機能ページ を参照するか、 Aurora PostgreSQL のドキュメント をお読みいただくか、 Amazon RDS コンソール でお試しください。フィードバックは AWS re:Post または通常の AWS サポート窓口からお寄せください。 — Esra 著者について Esra Kayabali AWS のプリンシパルソリューションアーキテクトで、データウェアハウス、データレイク、ビッグデータ分析、バッチおよびリアルタイムのデータストリーミング、データ統合を含む分析分野を専門としています。ソフトウェア開発とソリューションアーキテクチャの分野で 10 年以上の経験を持ち、共同学習や知識共有、コミュニティのクラウド技術活用の支援に情熱を注いでいます。 この記事は Kiro が翻訳を担当し、Solutions Architect の Sotaro Hikita がレビューしました。
本記事は、オリックス株式会社 法人営業本部 デジタル戦略推進室様と AWS が共同で執筆しました。 AI エージェントが実務で使われ始め、「既存の API を、エージェントから使えるようにできないか?」と考えたことがある方も多いのではないでしょうか。 本記事は、オリックス株式会社が提供する SaaS「 PATPOST 」の既存 REST API を、 Amazon Bedrock AgentCore Gateway で MCP サーバー化した事例です。 既存資産に手を入れずに MCP サーバー化するところまでは短時間で到達できた一方、「ユーザーごとにレスポンスが変わる API で、認証認可情報をどう引き回すか」「エージェントにとって本当に効果的なツールとは何か」という議論に発展しました。 本記事がオリックス様と同じように既存 API 資産を AI エージェントへ提供しようとしている方の参考になれば幸いです。 なお、本記事で紹介する MCP サーバーは検証(PoC)として実装したものであり、本稿執筆時点では一般提供しておらず、提供に向けた準備を進めている段階です。 背景:なぜ PATPOST を MCP サーバー化しようと考えたのか はじめに、 PATPOST がどのようなサービスかをご紹介します。 PATPOST は、オリックスが 2023 年 5 月から提供している、生成 AI を活用したビジネス文書管理サービスです。 スキャンした紙文書や PDF を AI-OCR と生成 AI でデータ化し、抽出した情報をセキュアな環境で一元管理できます。 お客様の社内システムと連携するための REST API を公開しており、蓄積した文書データを業務システムから直接活用できることも特徴です。 MCP サーバー化に取り組んだ動機について、PATPOST のテックリードである牧野様に伺いました。 PATPOST が MCP サーバー化に取り組んだのは、SaaS の使われ方が変わりつつあるという実感があったからです。 国内の SaaS 事業者からも MCP サーバーの公開が相次いでおり、AI エージェントから呼び出せることは、 この先の SaaS に求められる要件になっていくと考えました。だとすれば、自分たちの機能をエージェントから使えるようにするには何が必要になるのか、机上で整理するのではなく、実際に動かして確かめておきたい。それが出発点でした。そうした検討を進める中で、AWS の担当者から Amazon Bedrock AgentCore Gateway を使えば既存の API 資産を活かしたまま MCP サーバー化できるというご提案をいただき、検証を開始しました。 既存 API を改修せずに MCP サーバー化 今回は PoC という位置づけのため、既存資産に大きな改変を加えずに試したいというご要望がありました。 そこで、すでに外部公開している REST API を活かす方法を採りました。 AgentCore Gateway の「 OpenAPI Target 」に OpenAPI 定義を登録すると、既存 API の各エンドポイントがそのまま MCP ツールとして公開されます。つまり、既存の REST API と、その OpenAPI 定義があれば MCP サーバー化することができます。今回はこの方法を採用しました。 認証認可に関する考慮 PATPOST の API は、ログインしている利用者ごとに、その人が見てよいデータだけを返します。 利用者は API キーで識別されます。 今回は PoC のため既存資産に大きな改変は加えない方向で検討し、PATPOST がすでに利用している Amazon Cognito と、利用者ごとの API キーを活かして、認証認可情報をバックエンドまで届けることとしました。 全体像は次の図のとおりです。 リクエストは次の流れで処理されます。 MCP クライアントが認証なしで呼び出すと、AgentCore Gateway はリクエストを受け付けず 401 レスポンスを返します。 MCP クライアントは、401 レスポンスの WWW-Authenticate ヘッダーに示されたエンドポイント (.well-known/oauth-protected-resource)からメタデータを取得し、 認可サーバー(Amazon Cognito)の URL を得ます。(RFC 9728) これを受けて MCP クライアントは Amazon Cognito の認可フローを開始します。 利用者がブラウザでログイン・同意すると、MCP クライアントはアクセストークンを取得します(OAuth 3LO)。 クライアントは取得したアクセストークンを付けて呼び出し直します。 AgentCore Gateway は Cognito が発行したトークンを検証します。 検証済みトークン(JWT)から利用者 ID を取り出します。 その利用者に対応する API キーを Amazon RDS から取得します。 取得した API キーを、バックエンドへ送るリクエストのヘッダに付与します。 このうち 6 から 8 で用いているのが、2025 年 11 月に提供が始まった AgentCore Gateway の Interceptor です。Interceptor は、AgentCore Gateway に届いたリクエストをバックエンドへプロパゲーション(伝搬)する前に、 独自の処理を差し込める仕組みです。 なお、Interceptor がリクエストの内容( Authorization ヘッダ=JWT)を読み取れるようにするには、 AgentCore Gateway 側で受信ヘッダを Interceptor へ渡す設定( passRequestHeaders )を有効にしておく必要があります。 この結果、PATPOST 側は「利用者本人から呼ばれた」のと同じ形でリクエストを受け取れます。 既存資産には手を入れず、利用者ごとのデータの出し分けを保ったまま MCP サーバー化することができました。 残る論点 この構成には、既存資産を活かせること以外にも利点があります。バックエンドへ渡す認証情報(API キー)を Interceptor の中で組み立てているため、認証情報がエージェントの実行環境やモデルのコンテキストに乗りません。 プロンプトインジェクションなどでモデル側から認証情報が漏れる経路を作らずに済みます。 また、この構成では、インバウンド認証で受け取った JWT をそのまま下流へ渡していません。 インバウンドの JWT は AgentCore Gateway を宛先として発行されたトークンであり、 これをそのまま下流 API に渡す(token passthrough)と、必要以上の権限を持つトークンの流用や権限昇格を招く、 いわゆる confused deputy 問題につながります。 MCP の認可仕様 でも、MCP サーバーがクライアントから受け取ったトークンをそのまま背後の API に渡してはならない(MUST NOT)とされています。今回は JWT を下流に流さず、AgentCore Gateway の内側で利用者ごとの API キーに置き換えているため、この問題を避けられています。 一方で AgentCore Gateway には、 アウトバウンド認証 の仕組みとして IAM・API キー・OAuth といった方式が用意されており、OAuth のグラントタイプの 1 つとして OBO(On-Behalf-Of トークン交換) も選択できます。ただし、アウトバウンド認証の API キーはターゲットに 1 つのキーを紐付ける方式のため、PATPOST のように利用者ごとに異なる API キーを使い分けることはできません。利用者ごとの最小権限のクレデンシャルを下流に渡すなら OBO が候補になりますが、その場合はバックエンド側が交換後のトークンを受け取って検証する対応が必要になります。今回は本体に手を入れない方針だったため、先述の構成を採用しました。 オリックス様コメント 最後に、今回の取り組みについて牧野様よりコメントをいただきました。 PATPOST では約 2,300 社(※)のお客様の文書をお預かりしているため、「誰がどのデータを見てよいか」という境界を保つことを最優先にしています。 人が画面から使う場合、ログインしている本人が誰かは分かります。しかしエージェントがユーザーの代わりに API を呼ぶようになると、この情報が途中で失われてしまいます。 今回の検証では、PATPOST 本体に手を入れないという方針のもとで、すでに利用している Cognito と利用者ごとの API キーを活かし、この課題を解決できました。 今後もこの前提を守りながら、MCP を活用したプロダクトの展開を進めていきたいと考えています。 ※ 2026 年 8 月 31 日時点 エージェントにとって「効果的なツール」 ここまでで、既存の REST API に手を入れることなく、そのまま MCP ツールとして公開できました。ただ、API をそのまま 1 対 1 でツールにすることが、エージェントにとって最適とは限りません。REST API は、リソース単位の細粒度な操作を提供し、それらをクライアント側で組み合わせて目的を達成する設計が一般的です。例えば「一覧を取る → ID を指定する → 詳細を取る」といった呼び出しの連鎖です。この粒度のまま MCP ツールとして公開すると、エージェントによる呼び出しの往復が増え、その分だけ消費するトークンやコンテキストも膨らみます。 AgentCore Gateway の Target にできるのは OpenAPI 定義だけではありません。独自の処理を実装した AWS Lambda 関数も Target にすることができます。Lambda Target を使うとバックエンドの API にもエージェント側にも手を入れずに、ツールを設計し直すことができます。たとえば、複数回に分かれた呼び出しを 1 つのツールにまとめる、返ってくるデータをエージェントが読みやすい形に整える、よく使う操作を「1 つの意図 = 1 つのツール」として提供する、といった形です。 PATPOST の API の形を模したモックバックエンドを用意し、「対象期間の請求書の合計金額を算出する」というタスクで、OpenAPI Target と Lambda Target の 2 つの構成を比較したところ、 Lambda Target では消費トークンと呼び出しの往復回数は大幅に削減され、処理時間も短縮されました。 PATPOST でも公開に向けて、適切なツール設計を意識して取り組むこととなりました。 まとめ 今回は、オリックス株式会社が提供する SaaS「PATPOST」の既存 REST API を、Amazon Bedrock AgentCore Gateway で MCP サーバー化する取り組みを振り返ってきました。分かったことを、あらためて 3 つに整理します。 まず、「MCP サーバー化する」ことは、既存の資産に手を加えずにマネージドに実現できました。既存の REST API とその OpenAPI 定義さえあれば、OpenAPI Target に登録するだけで各エンドポイントがそのままエージェントのツールになります。 次に、認証認可の観点です。PATPOST は利用者ごとにデータを出し分ける設計のため、既存の Amazon Cognito と利用者ごとの API キーを活かし、Interceptor の中で認証認可情報を API まで届けています。 この手作りの部分を、OBO のような標準的な仕組みにどこまで寄せられるかは、引き続き検討していきたいテーマです。 そして、API をそのまま 1 対 1 でツールにするのが、エージェントにとって最適とは限りません。 Lambda Target や Interceptor を使えば、バックエンドの API にもエージェントにも手を入れずに「ツールの呼び出し方」を設計し直せます。 本記事が、皆様のエージェント利活用の参考になれば幸いです。 参考リンク Model Context Protocol — Authorization: Security Considerations Using interceptors with Gateway Interceptor の設定(passRequestHeaders の挙動) Set up outbound authorization for your gateway On-behalf-of token exchange with AgentCore Identity Apply fine-grained access control with Bedrock AgentCore Gateway interceptors Implement on-behalf-of token exchange for multi-tenant agents with Amazon Bedrock AgentCore Gateway 著者について 牧野 友 / Yu Makino オリックス株式会社 法人営業本部 デジタル戦略推進室。ビジネス文書管理サービス「PATPOST」のテックリード。社内の開発チームとパートナー企業と協働しながら、 AWS 上でのアーキテクチャ設計・開発・運用を担当している。 生成 AI の実務適用に関心がある。 鯨田 連也 アマゾン ウェブ サービス ジャパン合同会社の AI Specialist Solutions Architect として、 日本における Amazon Bedrock AgentCore の技術支援をリードしており、業界を問わず様々なお客様とともに、Agent の開発、Agent 基盤の設計、LLM のファインチューニングに 取り組んでいます。AWS 入社前は、データサイエンティストとして深層学習モデルの開発や Agent を活用したソリューションの構築に従事していました。 2025年度に Japan AWS Top Engineer および AWS Community Builder に選出。 池田 優 / Yu Ikeda アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト。 金融領域のお客様を中心にご支援しています。
本ブログは 2025 年 10 月 31 日に公開された AWS Blog “ Build reliable AI systems with Automated Reasoning on Amazon Bedrock – Part 1 ” を翻訳したものです。 規制産業の企業では、すべての AI 応答が定められたポリシーとドメイン知識に準拠していることを、数学的な確実性をもって示すことがしばしば求められます。こうした業界では、AI 出力の統計的なサンプルだけをテストしてコンプライアンスを確率的に主張する従来の品質保証手法は使えません。AWS は、AWS re:Invent 2024 において Amazon Bedrock Guardrails の自動推論チェック (Automated Reasoning checks) をプレビューとして提供開始しました。この機能は、形式的検証の技術を適用し、エンコードされたビジネスルールとドメイン知識に照らして AI 出力を体系的に検証するという、新しい解決策をもたらしました。これらの技術により、検証結果は透明性が高く説明可能なものになります。 自動推論チェックは、さまざまな業界のワークフローで活用されています。金融機関は、AI が生成した投資アドバイスが規制要件を満たしていることを数学的な確実性をもって検証しています。医療機関は、患者向けのガイダンスが臨床プロトコルに沿っているかを確認しています。製薬企業は、マーケティング上の主張が FDA (米国食品医薬品局) 承認のエビデンスで裏付けられていることを確かめています。公益事業会社は災害時の緊急対応プロトコルを検証し、法務部門は AI ツールが必須の契約条項を漏れなく反映しているかを検証しています。 自動推論チェックの 一般提供開始 に伴い、AWS はドキュメント処理容量を拡張し、ポリシールールが実際に動作する例を自動的に作成するシナリオ生成などの新機能を追加しました。強化されたテスト管理システムにより、ドメインエキスパートは包括的なテストスイートを構築、保存して自動実行し、モデルやアプリケーションのバージョンをまたいで一貫したポリシー適用を維持できます。 2 部構成のテクニカルディープダイブの第 1 部となる本記事では、Amazon Bedrock Guardrails における自動推論チェックの技術的な基礎を解説し、生成 AI アプリケーションのために数学的に厳密なガードレールを構築する実装方法を紹介します。 本記事で学べる内容 AI 出力の数学的な検証を可能にする形式的検証の技術を理解する 自然言語のドキュメントから自動推論ポリシー (Automated Reasoning policy) を作成し、改善する ビジネスルールに照らして AI 応答を検証するための効果的なテストケースを設計、実装する 注釈 (annotation) を用いてポリシーを改善し、精度を高める AWS のベストプラクティスに従い、Amazon Bedrock Guardrails を使用して自動推論チェックを AI アプリケーションのワークフローに統合し、生成されたコンテンツに対する高い信頼を維持する この実装ガイドは、事実誤認やポリシー違反がエンドユーザーに届く前に、それらを体系的に防止するのに役立ちます。これは、AI システムに高い保証と数学的な確実性を求める規制産業の企業にとって、きわめて重要な能力です。 自動推論チェックの主要機能 このセクションでは、ポリシー開発のためのコンソール体験、ドキュメント処理アーキテクチャ、論理検証のメカニズム、テスト管理フレームワーク、統合パターンなど、自動推論チェックの機能を説明します。これらの中核となる構成要素の理解が、生成 AI アプリケーションのための効果的な検証システムを実装する基礎になります。 コンソール体験 Amazon Bedrock の自動推論チェックのコンソールは、ポリシー開発を論理的なセクションに整理し、作成、改善、テストのプロセスを順に案内します。インターフェイスでは一意の ID によってルールを明確に識別でき、ルール内で変数名をそのまま使用するため、複雑なポリシー構造も理解しやすく管理しやすくなっています。 ドキュメント処理容量 ドキュメント処理は最大 120,000 トークン (約 100 ページ) に対応するため、大規模なナレッジベースや複雑なポリシードキュメントを自動推論ポリシーにエンコードできます。包括的なポリシーマニュアル、詳細な手順書、広範な規制ガイドラインを取り込むことも可能です。この容量により、1 つのポリシー内でドキュメント全体を扱えます。 訳注: 上記の上限は記事公開時点の情報です。2026 年 9 月時点のユーザーガイドでは、ソースドキュメントのサイズは 5 MB、50,000 文字までと記載されています。参照: 自動推論ポリシーを作成する – Amazon Bedrock 検証機能 検証 API には、明確化が必要なステートメントを識別するあいまいさの検出、検証が失敗した理由を示す INVALID の検出結果に対する反例、境界条件を理解しやすくするために有効な例と無効な例の両方を示す SATISFIABLE の検出結果が含まれます。これらの機能は検証結果の背景となる情報を提供し、特定の応答がフラグ付けされた理由と改善方法を理解する助けになります。また、自然言語と論理構造の間の変換 (translation) に対する信頼度も示せるため、ユースケースに適したしきい値を設定できます。 反復的なフィードバックと改善のプロセス 自動推論チェックは、応答が検証に失敗した理由を説明する詳細で監査可能な検出結果を提供します。これにより、準拠していないコンテンツを単にブロックするのではなく、反復的な改善プロセスを進められます。この情報は基盤モデルにフィードバックでき、モデルはポリシールールに準拠するまで、具体的なフィードバックに基づいて応答を調整できます。このアプローチは、事実の正確さとコンプライアンスを推定ではなく数学的に検証しなければならない規制産業で特に有用です。 ポリシー例による検出結果タイプ 休日を判定するポリシーを例に考えてみましょう。自動推論チェックにおけるポリシーは、変数のスキーマ (従業員区分、勤続年数、利用可能な休暇日数などの概念を定義するもの) と、これらの変数間の関係を定める一連の論理ルール (休暇の種類ごとの適格条件など) の 2 つで構成されます。検証時には、このスキーマとルール構造を使って、基盤モデルの応答が定義したポリシー制約に準拠しているかどうかを評価します。 ここでは、基盤モデル (FM) を利用したアプリケーションにユーザーが入力した以下の内容と、生成された出力を検証します。 Input: "Is Thursday a day off if it's a public holiday?" Output: "Yes, Thursday would be a day off if it's a public holiday, since all public holidays are considered days off regardless of the day of the week." 前提 (premise) とは結論を導き出すもとになるステートメントであり、主張 (claim) とは真であると述べられた内容です。この例では、 day が「Thursday」に等しく、 is_public_holiday が true であることが前提として推論され、 is_day_off が true であることが主張されています。 この推論は、次の自動推論ポリシーに従っています。 Days Off Policy: - All weekend days (Saturday and Sunday) are days off - All public holidays are days off - A day is considered a day off if it is either a weekend day or a public holiday 一般提供開始に伴い、自動推論チェックは FM が生成した応答の検証プロセスについて的確な洞察を与える、7 種類の検出結果タイプを出力するようになりました。 VALID : Input と Output がポリシールールに完全に整合していることを示します。生成された応答の情報が、定義済みのポリシーに従って正しいという確信が得られます。主張は前提から推論され、自動推論 (AR) ポリシーによって真であると検証されており、これらの主張と矛盾する別の答えは存在しません。 Input: Today is Sunday, do I have the day off? Output: Yes, Sunday is a weekend day, you have the day off. Premises: day: Sunday is_weekend: true Claim: is_day_off: true Explanation: Given the assigned variables and policy rules that weekends are days off, the only possible answer is that it is a day off. SATISFIABLE : Input と Output が、特定の仮定によって真にも偽にもなり得ることを示します。この検出結果は、応答が一定の条件下でのみ有効となる境界条件を把握するのに役立ち、その仮定がご自身のユースケースにおいて妥当かどうかを判断できます。必要な仮定が偽である場合は、前提と整合する別の主張が存在する可能性があります。 Input: Today is Tuesday, do I have the day off? Output: Yes Premises: day: Tuesday Claim: is_day_off: true Explanation: If we assume is_public_holiday=true, this is correct, but if we assume is_public_holiday=false, the answer would be incorrect since Tuesday is not a weekend. INVALID : Input と Output にポリシー上の不正確さや事実誤認があることを示し、検証が失敗した理由を明示する反例を付加します。主張は前提と AR ポリシーからは導かれず、前提と AR ポリシーに整合する別の主張が存在します。 Input: Today is Sunday, do I have the day off? Output: No you do not have the day off. Premises: day: Sunday Claim: is_day_off: false Explanation: This is invalid because the policy states weekends are days off. The correct claim would be is_day_off = true since Sunday is a weekend day IMPOSSIBLE : 前提が AR ポリシーと矛盾している、またはポリシー自体に内部矛盾があるため、有効な 主張 を生成できない場合を示します。この検出結果は、ポリシーで定義された制約が論理的な不可能性を生み出しているときに発生します。 Input: Today is Sunday and not a weekend day, do I have the day off? Output: Yes Premises: day: Sunday is_weekend: false Claim: is_day_off: true Explanation: Sunday is always a weekend day, so the premises contain a contradiction. No valid claim can exist given these contradictory premises. NO_TRANSLATIONS : Input と Output に、AR ポリシーの評価に関連するデータへ変換できる情報が含まれていない場合に発生します。通常は、テキストがポリシーのドメインとまったく無関係な場合や、評価に利用できる情報を含まない場合に起こります。 Input: How many legs does the average cat have? Output: Less than 4 Explanation: The AR policy is about days off, so there is no relevant translation for content about cats. The input has no connection to the policy domain. TRANSLATION_AMBIGUOUS : Input  と Output があいまいなため、論理構造へ確定的に変換できない場合を示します。この検出結果が返された場合、検証を進めるには追加のコンテキストや確認のための質問が必要になる可能性があります。 Input: I won! Today is Winsday, do I get the day off? Output: Yes, you get the day off! Explanation: "Winsday" is not a recognized day in the AR policy, creating ambiguity. Automated reasoning cannot proceed without clarification of what day is being referenced. TOO_COMPLEX : Input  と Output に、レイテンシーの制限内では処理できないほど多くの情報が含まれていることを示します。この検出結果は、システムの現在の処理能力を超える、極端に大きい入力や複雑な入力で発生します。 Input: Can you tell me which days are off for all 50 states plus territories for the next 3 years, accounting for federal, state, and local holidays? Include exceptions for floating holidays and special observances. Output: I have analyzed the holiday calendars for all 50 states. In Alabama, days off include... Explanation: This use case contains too many variables and conditions for AR checks to process while maintaining accuracy and response time requirements. シナリオ生成 ポリシーから直接シナリオを生成できるようになりました。ポリシールールに適合するテストサンプルが作成されるため、エッジケースの特定や、ポリシーのビジネスロジック実装の検証に役立ちます。この機能により、ポリシー作成者はデプロイ前にルールの実際の動作を具体例で確認でき、広範な手動テストの必要性を減らせます。また、シナリオ生成は、個々のルールを見ているだけでは気付きにくい、ポリシーの適用範囲における潜在的な矛盾や抜けも浮き彫りにします。 テスト管理システム 新しいテスト管理システムでは、ポリシーテストを保存して注釈を付け、一貫した検証のためのテストライブラリを構築し、ポリシー変更を検証するためにテストを自動実行して、ポリシーのバージョンをまたいで品質保証を維持できます。ポリシーの改訂を重ねてもテスト結果を追跡できるバージョニング機能も備えており、変更が意図しない影響を及ぼしていないかを特定しやすくなっています。さらに、既存の品質保証ワークフローやドキュメント作成プロセスに組み込むために、テスト結果をエクスポートすることもできます。 ガードレールとの直接統合による選択肢の拡大 自動推論チェックは Amazon Bedrock の API と統合され、複雑なやり取り全体を通じて、AI が生成した応答を定められたポリシーに照らして検証できるようになりました。この統合は Converse アクションと RetrieveAndGenerate アクションの両方に対応しているため、さまざまな対話形式でポリシーを適用できます。検証の信頼度しきい値はドメイン要件に応じて設定でき、規制産業では厳格に、探索的な用途では柔軟に適用するといった使い分けが可能です。 ソリューション – AI を活用した病院再入院リスク評価システム ここまで自動推論チェックの機能を説明してきました。次は AI を活用した病院再入院リスク評価システムのユースケースを取り上げ、ソリューションを段階的に見ていきましょう。この AI システムは、電子カルテの患者データを分析して患者をリスクカテゴリ (低リスク、中リスク、高リスク) に分類し、CDC (米国疾病予防管理センター) のガイドラインを模した指針に基づいて個別の介入計画を推奨することで、病院再入院リスク評価を自動化します。その目的は、高リスク患者の早期特定と的を絞った介入の実施を支援して、30 日以内の再入院率を低減することです。この医療機関は、検証可能な精度と、医療ガイドラインへの準拠を数学的に証明できる説明可能な推奨を重視しています。臨床上の意思決定を支援しつつ、医療現場で一般的な厳格な監査可能性の要件も満たせるため、このアプリケーションは自動推論チェックの理想的な適用対象です。 注: 参照しているポリシードキュメントはデモンストレーション目的のみで作成した例であり、実際の医療ガイドラインや臨床上の意思決定に使用しないでください。 前提条件 Amazon Bedrock で自動推論チェックを使用するには、次の前提条件を満たしていることを確認してください。 有効な AWS アカウント 自動推論チェックが 利用可能な AWS リージョンの確認 訳注: 2026 年 9 月時点で、自動推論チェックがサポートする言語は英語 (米国) です。最新の対応状況は、Amazon Bedrock ユーザーガイドの「 Amazon Bedrock ガードレールの自動推論チェックとは 」を参照してください。 自動推論ポリシーの作成、テスト、呼び出しを行うための適切な IAM 権限 (注: 本番環境で使用する IAM ポリシーは、適切な ARN パターンを使用して必要なリソースのみに限定した、きめ細かなものにしてください) { "Sid": "OperateAutomatedReasoningChecks", "Effect": "Allow", "Action": [ "bedrock:CancelAutomatedReasoningPolicyBuildWorkflow", "bedrock:CreateAutomatedReasoningPolicy", "bedrock:CreateAutomatedReasoningPolicyTestCase", "bedrock:CreateAutomatedReasoningPolicyVersion", "bedrock:CreateGuardrail", "bedrock:DeleteAutomatedReasoningPolicy", "bedrock:DeleteAutomatedReasoningPolicyBuildWorkflow", "bedrock:DeleteAutomatedReasoningPolicyTestCase", "bedrock:ExportAutomatedReasoningPolicyVersion", "bedrock:GetAutomatedReasoningPolicy", "bedrock:GetAutomatedReasoningPolicyAnnotations", "bedrock:GetAutomatedReasoningPolicyBuildWorkflow", "bedrock:GetAutomatedReasoningPolicyBuildWorkflowResultAssets", "bedrock:GetAutomatedReasoningPolicyNextScenario", "bedrock:GetAutomatedReasoningPolicyTestCase", "bedrock:GetAutomatedReasoningPolicyTestResult", "bedrock:InvokeAutomatedReasoningPolicy", "bedrock:ListAutomatedReasoningPolicies", "bedrock:ListAutomatedReasoningPolicyBuildWorkflows", "bedrock:ListAutomatedReasoningPolicyTestCases", "bedrock:ListAutomatedReasoningPolicyTestResults", "bedrock:StartAutomatedReasoningPolicyBuildWorkflow", "bedrock:StartAutomatedReasoningPolicyTestWorkflow", "bedrock:UpdateAutomatedReasoningPolicy", "bedrock:UpdateAutomatedReasoningPolicyAnnotations", "bedrock:UpdateAutomatedReasoningPolicyTestCase", "bedrock:UpdateGuardrail" ], "Resource": [ "arn:aws:bedrock:\${aws:region}:\${aws:accountId}:automated-reasoning-policy/*", "arn:aws:bedrock:\${aws:region}:\${aws:accountId}:guardrail/*" ] } 主なサービスクォータ : 自動推論チェックを実装する際は、 サービスクォータ に注意してください。 自動推論チェックでは、処理したテキスト量に基づいて課金されます。詳細については、 Amazon Bedrock の料金 を参照してください。 ユースケースとポリシーデータセットの概要 この例で使用しているポリシードキュメントの全文は、 自動推論の GitHub リポジトリ から入手できます。自動推論チェックの結果を検証するには、ポリシーの内容をよく理解しておくと役立ちます。さらに、自動推論が作成したポリシーを改善することが、99% を超える健全性 (soundness) を達成する鍵になります。 本記事で使用するサンプル医療ポリシーの主な内容を確認しましょう。応答の検証を始める際は、元のドキュメントと照らし合わせると役立ちます。 リスク評価と層別化:  医療施設は、人口統計学的要因、臨床的要因、医療利用状況、検査値、社会的要因に基づく標準化されたリスクスコアリングシステムを導入し、患者を低リスク (0~3 ポイント)、中リスク (4~7 ポイント)、高リスク (8 ポイント以上) のカテゴリに分類しなければなりません。 必須の介入:  各リスクレベルには固有の介入が必要で、より高いリスクレベルでは下位レベルの介入に加えて追加の対策を実施します。また、一定の条件を満たす場合は、スコアにかかわらず自動的に高リスクに分類されます。 品質指標とコンプライアンス:  施設は、入院後 24 時間以内のリスク評価を 95% 以上、退院前の完了を 100% とするなど、所定の完了率を達成しなければならず、高リスク患者については退院計画を文書化する必要があります。 臨床上の監督:  スコアリングシステムは標準化されていますが、主治医は適切な文書化と退院計画コーディネーターの承認のもとで、判定を覆す権限を保持します。 Amazon Bedrock コンソールを使用した自動推論チェックのポリシーの作成とテスト 最初のステップは、対象となる知識 (ここではサンプル医療ポリシー) を自動推論ポリシーにエンコードすることです。自動推論ポリシーを作成するには、次の手順を実行します。 Amazon Bedrock コンソールのナビゲーションペインで、 [構築] の下にある [自動推論] を選択します。 [ポリシーの作成] を選択します。 ポリシー名とポリシーの説明を入力します。 自動推論がポリシーを生成する元になるソースコンテンツを追加します。取り込み方法として、ドキュメント (PDF、TXT) のアップロードとテキストの直接入力のいずれかを選択できます。 作成する自動推論ポリシーの意図を記述します。意図の記述は任意ですが、自然言語ベースのドキュメントを数学的検証に使える一連のルールへ変換する大規模言語モデル (LLM) にとって、有用な情報になります。サンプルポリシーでは、次の意図を使用できます。 This logical policy validates claims about the clinical practice guideline providing evidence-based recommendations for healthcare facilities to systematically assess and mitigate hospital readmission risk through a standardized risk scoring system, risk-stratified interventions, and quality assurance measures, with the goal of reducing 30-day readmissions by 15-23% across participating healthcare systems. Following is an example patient profile and the corresponding classification. <Patient Profile>Age: 82 years Length of stay: 10 days Has heart failure One admission within last 30 days Lives alone without caregiver <Classification> High Risk ポリシーが作成されたら、[定義] を開いて、自然言語のドキュメントから知識を論理として表現するためにどのルール、変数、型が作成されたかを確認できます。 生成されるルール、変数、型の数は、この例と異なる場合があります。これは、提供したドキュメントの処理が非決定論的であるためです。そのため、他のシステムで使用する前に、ポリシー内に生成された情報を人間がレビュー (human-in-the-loop) することをお勧めします。 自動推論チェックの定義の確認 ポリシードキュメントを対象とした自動推論における 変数 とは、特定の型の情報 (整数、実数、ブール値など) を保持する名前付きのコンテナであり、ポリシー上の個別の概念や測定値を表します。変数はルールを構成する要素として機能し、ポリシー要件の追跡、測定、評価に使用できます。以下の画像では、 admissionsWithin30Days (過去の入院回数を追跡する整数変数)、 ageRiskPoints (年齢に基づくリスクスコアを保持する整数変数)、 conductingMonthlyHighRiskReview (月次レビューを実施しているかどうかを示すブール変数) といった例が確認できます。各変数には、その目的と表現している具体的なポリシー概念についての明確な説明が付いており、ルール内でこれらの変数を使ってポリシー要件を適用し、コンプライアンスを測定できます。また、[問題] 列にも、一部の変数が使用されていないことが示されます。これらの変数がどの概念を表しているかを確認し、ルールが不足していないかを見極めることが特に重要です。 [定義] には [ルール]、[変数]、[型] が表示されます。 ルール とは、自動推論がソースドキュメントから抽出するあいまいさのない論理ステートメントです。作成された次の単純なルールを見てみましょう。 followupAppointmentsScheduledRate is at least 90.0 – このルールは「 Section III A Process Measures 」から作成されたもので、医療施設は各種のプロセス指標を監視し、退院前にフォローアップ受診の予約が完了している割合を 90% 以上にする、という内容です。 より複雑なルールを見てみましょう。 comorbidityRiskPoints is equal to(ite hasDiabetesMellitus 1 0) + (ite hasHeartFailure 2 0) + (ite hasCOPD 1 0) + (ite hasChronicKidneyDisease 1 0) ここで、ite は「If then else」を表し、条件が真なら一方の値を、偽ならもう一方の値を返します。 このルールは、ポリシードキュメントの規定どおり、患者が現在有している疾患、つまり併存疾患 (comorbidity) に基づいてリスクポイントを計算します。患者を評価する際、システムは 4 つの疾患を確認します。すなわち、あらゆる型の糖尿病 (1 ポイント)、あらゆる分類の心不全 (2 ポイント)、慢性閉塞性肺疾患 (1 ポイント)、慢性腎臓病ステージ 3~5 (1 ポイント) です。このルールはブール論理を用いてポイントを合算します。つまり、各条件の値 (true=1、false=0 として表現) に、その条件に割り当てられたポイント値を掛け、すべての値を足し合わせて併存疾患リスクスコアの合計を求めます。例えば、患者が心不全と糖尿病の両方を有する場合は合計 3 ポイント (心不全の 2 ポイントに糖尿病の 1 ポイントを加算) となります。この併存疾患スコアは、患者の全体的な再入院リスクカテゴリを判定する、より大きなリスク評価フレームワークの一部となります。 [定義] には、カスタム変数型も含まれます。 カスタム変数型 は列挙型 (ENUM) とも呼ばれ、特定のポリシー概念について、許容される値を固定された集合として定義する専用のデータ構造です。値をポリシー要件に沿った事前定義済みの選択肢に限定することで、データ収集とルール適用における一貫性と正確性を保ちます。サンプルポリシーでは、4 つのカスタム変数型が特定されています。 AdmissionType : 患者が再入院リスク評価プロトコルの対象となるかどうかを判定する、入院の種類 (MEDICAL、SURGICAL、MIXED_MEDICAL_SURGICAL、PSYCHIATRIC) を定義します。 HealthcareFacilityType : 再入院リスク評価プロトコルを実施できる医療施設の種類 (ACUTE_CARE_HOSPITAL_25PLUS、CRITICAL_ACCESS_HOSPITAL) を指定します。 LivingSituation : 患者の居住状況 (LIVES_ALONE_NO_CAREGIVER、LIVES_ALONE_WITH_CAREGIVER) を分類します。これは社会的支援とリスクレベルを判定するうえで重要な要因です。 RiskCategory : 合計リスクスコアに基づいて患者に割り当てられる 3 段階のリスク層別化レベル (LOW_RISK、INTERMEDIATE_RISK、HIGH_RISK) を定義します。 健全性 (自動推論チェックが VALID と判定したときの精度) を高めるうえで重要なのが、取り込まれたルール、変数、型が正とすべき情報源 (source of truth) を最もよく表現しているかを確認する、ポリシー改善のステップです。ここからはテストスイートに移り、テストの追加方法、テストの生成方法、そしてテスト結果を使ってルールを更新する注釈の適用方法を見ていきます。 自動推論ポリシーのテストとポリシーの改善 自動推論のテストスイートは、2 つの目的でテスト機能を提供します。1 つ目は、さまざまなシナリオを実行して自動推論ポリシー内のルールと変数をテストし、それらが正とすべき事実 (グラウンドトゥルース) を正確に表現するように改善することです。このポリシー改善のステップは、自動推論チェックの健全性を高めるために重要です。2 つ目は、定義したポリシーとユースケースに対して自動推論チェックがどの程度機能しているかを把握するための指標を得ることです。そのために、自動推論コンソールで [テスト] タブを開きます。 テストサンプルは [追加] ボタンで手動で追加できます。テストの規模を拡大するには、ポリシールールからテストを生成する方法もあります。このテスト手法は、ポリシーの意味的な正しさ (ルールが意図したポリシー制約を正確に表現していること) と、自然言語の変換能力 (ユーザーがアプリケーションを操作する際に使う言葉をシステムが正しく解釈できること) の両方を検証するのに役立ちます。以下の画像では、生成されたテストサンプルが確認できます。テストスイートに追加する前に、対象分野の専門家 (SME) はこのテストサンプルが起こり得る (サムズアップ) か、起こり得ない (サムズダウン) かを判断します。その後、テストサンプルをテストスイートに保存できます。 テストサンプルを作成したら、そのサンプル単独で実行することも、 [すべてのテストを検証] を選択してテストスイート内のすべてのテストサンプルを実行することもできます。実行すると、このテストが正常に合格したことがわかります。 入力 (任意) と出力を指定して、テストを手動で作成することもできます。これらは検証の前に論理表現へ変換されます。 変換の仕組み 変換では、自然言語のテストが、ポリシールールに照らして数学的に検証できる論理表現に置き換えられます。 自動推論チェックは複数の LLM を使用して、入力と出力を論理的な検出結果へ変換します 各変換には、その品質を示す信頼度が複数モデルの投票によって付与されます 信頼度しきい値を設定して、どの検出結果を検証して返すかを制御できます 信頼度しきい値の動作 信頼度しきい値は、どの変換を検証に足るほど信頼できるとみなすかを制御し、厳格さと網羅性のバランスを取ります。 しきい値を高くする : 変換精度の確実性は高まりますが、検出結果が 1 つも検証されない可能性も高くなります しきい値を低くする : 検証済みの検出結果が返される可能性は高まりますが、変換の確実性は低くなることがあります しきい値 = 0 : 信頼度にかかわらず、すべての検出結果が検証されて返されます あいまいな結果 信頼度しきい値を満たす検出結果がない場合、自動推論チェックは「TRANSLATION_AMBIGUOUS」を返し、コンテンツの論理的な解釈に不確実性があることを示します。ここで作成して検証するテストケースは次のとおりです。 Input: Patient A Age: 82 Length of stay: 16 days Diabetes Mellitus: Yes Heart Failure: Yes Chronic Kidney Disease: Yes Hemoglobin: 9.2 g/dL eGFR: 28 ml/min/1.73m^2 Sodium: 146 mEq/L Living Situation: Lives alone without caregiver Has established PCP: No Insurance Status: Medicaid Admissions within 30 days: 1 Output: Final Classification: INTERMEDIATE RISK 実行すると、このテストは合格し、「INVALID」という結果が期待どおりであることがわかります。さらに、自動推論チェックは、12 個のルールが前提と主張に矛盾していたことも示しています。この矛盾によって、テストサンプルの出力が「INVALID」となりました。 表示されている矛盾するルールのうち、いくつかを見てみましょう。 年齢リスク : 患者は 82 歳 トリガーされるルール: 「patientAge が 80 以上の場合、ageRiskPoints は 3 に等しい」 在院日数リスク : 患者の在院日数は 16 日 トリガーされるルール: 「lengthOfStay が 14 より大きい場合、lengthOfStayRiskPoints は 3 に等しい」 併存疾患リスク : 患者は複数の疾患を有する ルールの計算: 「comorbidityRiskPoints = (hasDiabetesMellitus × 1) + (hasHeartFailure × 2) + (hasCOPD × 1) + (hasChronicKidneyDisease × 1)」 利用状況リスク : 患者は 30 日以内に 1 回の入院あり トリガーされるルール: 「admissionsWithin30Days が 1 以上の場合、utilizationRiskPoints は 3 以上」 検査値リスク : 患者の eGFR は 28 トリガーされるルール: 「eGFR が 30.0 未満の場合、laboratoryRiskPoints は 2 以上」 これらのルールは矛盾するリスクスコアを生成している可能性が高く、そのためシステムは有効な最終リスクカテゴリを判定できません。これらの矛盾から、テストの入力テキストが INVALID と判定された根拠となるルールがわかります。 次のスクリーンショットに示すように、テストスイートに別のテストを追加してみましょう。 Input: Patient profile Age: 83 Length of stay: 16 days Diabetes Mellitus: Yes Heart Failure: Yes Chronic Kidney Disease: Yes Hemoglobin: 9.2 g/dL eGFR: 28 ml/min/1.73m^2 Sodium: 146 mEq/L Living Situation: Lives alone without caregiver Has established PCP: No Insurance Status: Medicaid Admissions within 30 days: 1 Admissions within 90 days: 2 Output: Final Classification: HIGH RISK このテストを実行すると、患者の各情報が前提として抽出され、再入院リスクが高いという主張が検証されることがわかります。この主張の検証には 8 個のルールが適用されています。主なルールとその検証内容は次のとおりです。 年齢リスク : 患者の年齢が 80 歳以上であればリスクポイント 3 が加算されることを検証 在院日数リスク : 在院日数が 14 日を超える場合にリスクポイント 3 が加算されることを確認 併存疾患リスク: 糖尿病、心不全、慢性腎臓病の有無に基づいて計算 利用状況リスク: 入院歴を評価 検査値リスク: ヘモグロビン値 9.2 と eGFR 28 に基づいてリスクを評価 各前提は真と評価され、複数のリスク要因 (高齢、在院日数の長期化、複数の併存疾患、懸念される検査値、介護者なしの独居、かかりつけ医 (PCP) の不在) が存在することから、この HIGH RISK 評価に対する全体としての検証結果が VALID であることが裏付けられました。 さらに、自動推論エンジンは、HIGH RISK 分類が正しいという結論の健全性を高めるために、93 種類の割り当てを用いてこのテストサンプルを広範に検証しました。自動推論ポリシーの関連ルールを使用して、93 種類のシナリオと変数の組み合わせに対してサンプルを検証します。これにより、この患者の HIGH RISK 分類が無効となり得る状況は存在しないことを確認できます。この徹底した検証プロセスによって、複数の慢性疾患と複雑なケアニーズを有する高齢患者に対するリスク評価の信頼性が裏付けられます。テストサンプルが失敗した場合、93 種類の割り当ては重要な診断ツールとして機能し、期待される結果と矛盾する変数とその相互作用を特定します。その結果、SME は関連するルールとその関係を分析し、臨床ロジックとリスク評価基準のいずれかに調整が必要かどうかを判断できます。次のセクションでは、ポリシーの改善と、SME が注釈を適用して自動推論ポリシーのルール、変数、カスタム型を改善・修正する方法を見ていきます。 注釈によるポリシーの改善 注釈は、テストが期待した結果にならなかった場合に、自動推論ポリシーを改善する強力なメカニズムです。注釈を通じて、SME は次の方法で体系的にポリシーを改善できます。 ロジックや条件を変更して、問題のあるルールを修正する ポリシー定義に不可欠な、不足している変数を追加する 変数の説明を更新して、精度と明確さを高める 元のポリシーの表現があいまいだったために生じた変換の問題を解決する ポリシーから冗長または矛盾する要素を削除する テスト、注釈付け、更新というこの反復的なプロセスによって、ドメインの専門知識を正確にエンコードした、より堅牢なポリシーが構築されます。以下の図に示すように、注釈を適用してさまざまなポリシー要素を変更でき、その後、改善されたポリシーをデプロイ用に JSON ファイルとしてエクスポートできます。 次の図では、注釈が適用され、ポリシー内のルールが削除される様子が確認できます。同様に、ルール、変数、カスタム型に対して追加や更新を行うこともできます。 SME がテスト、注釈の適用、ルールの検証を通じて自動推論ポリシーを検証したら、ポリシーを JSON ファイルとしてエクスポートできます。 モデル推論時における自動推論チェックの使用 作成したポリシーで自動推論チェックを使用するには、 Amazon Bedrock Guardrails に移動し、名前、説明、そしてガードレールが介入して AI システムに対するプロンプトやその出力をブロックしたときに表示するメッセージを入力して、新しいガードレールを作成します。 続いて、 [自動推論ポリシーを有効化] のトグルをオンにして、自動推論チェックをアタッチします。信頼度しきい値を設定して、ポリシーをどの程度厳格に適用するかを指定できます。しきい値の範囲は 0.00~1.00 で、1.00 がデフォルトかつ最も厳格な設定です。各ガードレールには、検証の柔軟性を高めるために最大 2 つの自動推論ポリシーを設定できます。次の図では、患者の病院再入院リスク評価に関する医療ポリシーのドラフトバージョンをアタッチしています。 これでガードレールを作成できます。作成が完了して自動推論ポリシーがリンクされたら、ガードレールの詳細ページを開き、すべてのポリシーが正しくアタッチされていることを確認してください。 クリーンアップ 実装が完了したら、作成したガードレールと自動推論ポリシーを削除してリソースをクリーンアップしてください。ガードレールを削除する前に、それを使用しているすべてのリソースやアプリケーションから関連付けを解除してください。 まとめ 2 部構成の第 1 部となる本記事では、Amazon Bedrock Guardrails の自動推論チェックが、数学的検証を通じて生成 AI アプリケーションの信頼性と正確性の維持にどのように役立つかを解説しました。拡張されたドキュメント処理容量、高度な検証メカニズム、包括的なテスト管理機能を活用して、ビジネスルールとドメイン知識に照らして AI 出力を検証できます。このアプローチは、生成 AI システムをデプロイする企業が直面する主要な課題、特に事実の正確さとポリシー準拠が不可欠な規制産業における課題に対応します。病院再入院リスク評価のデモンストレーションが示すように、この技術は複雑な意思決定プロセスの検証を支援し、生成 AI を重要なビジネス環境に適したシステムへと変えるのに役立ちます。これらの機能は AWS マネジメントコンソールと API のどちらからでも利用でき、AI アプリケーションの品質管理プロセスを確立できます。 さらに詳しく学び、セキュアで安全な AI アプリケーションを構築するには、 技術ドキュメント と GitHub のコードサンプル を参照するか、 Amazon Bedrock コンソール にアクセスしてください。 著者について Adewale Akinfaderin は Amazon Bedrock の Sr. Data Scientist–Generative AI で、AWS における基盤モデルと生成 AI アプリケーションの最先端のイノベーションに貢献しています。専門は再現可能でエンドツーエンドの AI/ML 手法と実践的な実装であり、世界中のお客様が学際的な課題に対してスケーラブルなソリューションを構想し開発できるよう支援しています。物理学で 2 つの大学院学位を、工学で博士号を取得しています。 Bharathi Srinivasan は AWS Worldwide Specialist Organization の Generative AI Data Scientist です。アルゴリズムの公平性、大規模言語モデルの真実性、説明可能性に焦点を当て、責任ある AI のためのソリューション開発に取り組んでいます。社内チームと AWS のお客様の責任ある AI への取り組みも支援しており、さまざまな機械学習カンファレンスで自身の成果を発表しています。 Nafi Diallo は Amazon Web Services の Senior Automated Reasoning Architect で、生成 AI アプリケーションのための AI 安全性と自動推論システムのイノベーションを推進しています。専門は形式的検証の手法と AI ガードレールの実装であり、世界中のお客様が信頼できるコンプライアンス対応の AI ソリューションを大規模に構築できるよう支援しています。自動プログラム修復と形式的検証を研究テーマとするコンピュータサイエンスの博士号と、WPI (Worcester Polytechnic Institute) の金融数学の修士号を取得しています。 本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。
専門的な知識が求められ、長期間にわたって保守される組み込みソフトウェアの開発では、知識や設計判断をどのように継承するかが重要になります。 2026 年 7 月、株式会社日立産業制御ソリューションズ様(以下、同社)向けに、「 Accelerating Smart Product SDLC with AI Agent 」ハンズオンワークショップを 2 回開催しました。本稿ではその開催報告をお届けします。 開発者が実際によく目にする既存プロジェクトを題材に、コードや文書を AI エージェントに読み解かせ、仕様を捉え直し、実装とテストまで進める一連の流れを、組み込みソフトウェア開発に携わる 102 名のエンジニアに体験していただきました。 AI によるソフトウェア開発支援というと、新規開発を対象にしたものだと思われたり、コーディングに絞った生産性改善の方法と受け取られたりしがちです。本ワークショップは、既存コードを対象に、AI コーディングエージェント Kiro を開発ライフサイクル全体に適用します。人が作業を指示し、AI が進め、その結果を人が承認します。この役割分担を、各工程で体験いただく構成です。 開発ライフサイクルのどの工程に AI エージェントを適用するか なぜ組み込みソフトウェア開発の現場で実施したのか 同社では、車載をはじめとする組み込みソフトウェアの開発を担う部門があります。AI エージェントの活用について議論を重ねる中で、まず現場のエンジニアに実際に体験してもらい、どこまで任せられるのかを見極めたい、というご要望をいただきました。 今回の実施に向けた同社との議論では、信頼性や規格への対応、実機での確認などを踏まえ、AI エージェントを適用する工程と人が判断する範囲を見極めることが論点となりました。加えて、受託開発として顧客企業のコードを扱う場合は、開発ツールの利用条件やデータの取り扱いの確認も必要になる、という議論になりました。こうした検討を進めるうえでも、まず AI エージェントが何をどこまでできるのかを、現場のエンジニアの方々に実際に手を動かして確かめていただく場をご用意しました。 ワークショップの内容 題材は HVAC(空調)制御システムです。引き継いだ仕様書と実装が合っていない、というソフトウェア開発でよく見かける状態から始まります。 はじめに Kiro に既存コード(サンプル)を読み解かせ、構造と振る舞いを整理します。続いて、その理解をもとに追加機能の仕様を Kiro との対話でまとめ、最後に仕様を設計に落とし、その設計を AI が実装するタスクへ分解して、実装からビルド、テストまで進めます。 対話だけで AI に指示すると、設計判断や作業の経過が残りにくくなります。透明性を確保するため、ワークショップではチケット管理システムに AI への指示を記載するアプローチを紹介しました。GitLab の Issue に作業を指示すると、Kiro が設計から実装、テストまで進め、経過を Issue のコメントに書き戻します。どこまで AI に任せ、どこで人が判断したかがチケットに残るため、担当者が変わっても経緯を追えます。長く保守されるソフトウェアと相性のよい進め方です。 ワークショップ全体では、この先のクラウド環境へのデプロイと運用までが Lab として用意されています。今回は 4 時間のプログラムとして、調査・仕様の作成・実装にあたる 3 つの Lab を実施しました。 題材は空調ですが、ライフサイクルが長く、実機の制約を前提に設計する点は、車載ソフトウェア開発にも共通します。今回は、車載ソフトウェア開発を中心に、産業機器を手がける方々にご参加いただきました。 当日は、お一人ずつに実行環境をご用意し、実際に Kiro を動かしながら進めていただきました。 Lab の進め方を説明する講師 ワークショップへの期待をお話しいただいた同社ご担当者 ワークショップのフィードバック 参加された皆様からは、次のような声をいただきました。 組み込みでも Kiro を活用できる箇所が想像より広く、いろいろな可能性を知ることができた AI によるリバースエンジニアリングを体験できた どのくらいの作業時間でどの程度のアウトプットが出るか、イメージが湧いた とりわけ手応えを感じていただけたのは、実際の開発プロジェクトで遭遇する既存コードを読み解く工程と、そこから仕様や設計を文書として残していく工程でした。AI エージェントは実装を速くするための道具にとどまらない、という受け取り方が広がったことが、今回の大きな収穫だったと感じています。ワークショップ後には、業務での利用に前向きな意見も寄せられました。 あわせて、実務に適用するうえでの検討事項も同社からご共有いただきました。ソースコードや設計情報の取り扱い、生成されたコードをどう検証するか、機能安全や規格対応との整合といった論点です。このうちデータの取り扱いについては、入力したコードが学習に使われるかどうか、通信経路や保管先を同社の管理下に置けるか、どのリージョンで AI を使うか、誰がどのような指示を出し AI が何を変更したかを記録に残せるか、という確認事項に整理したうえで、公式ドキュメントをもとにご説明しました。 今後に向けて ご要望としていただいたのは、HILS(シミュレータで制御対象を模擬する検証環境)やデバッガと連携させた実機に近い工程の扱いと、要求定義や上流設計により特化した内容です。また、今回は時間の都合で実施できなかった後半の Lab、とくにデプロイや運用の工程を試したいという声もいただきました。同社と引き続き検討していきます。 同社 執行役員 コネクティブエンジニアリング事業部長 遠藤 征樹 様からは、次のようなコメントをいただきました。 ミッションクリティカルな組み込みシステム開発においては、品質・安全性の確保と開発スピードの向上を両立することが重要な経営課題です。 今回、AI が既存コードの理解から仕様化、実装、テストまでを支援できることを実践的に確認できました。 人が品質と安全性を判断し、AI が開発を支援する役割分担の実務適用に向け、引き続き検討を進めてまいります。 まとめ 今回のワークショップは、組み込みソフトウェア開発においても AI エージェントを活用できる領域が広くあることを、実際に手を動かしながら確認いただく機会となりました。なかでも、既存コードの理解や仕様の整理といった上流の工程から始めるアプローチは、参加者が AI エージェントの適用範囲を考えるきっかけになったと考えています。 本ワークショップは公開されており、どなたでもご自身の環境で実施いただけます( AWS ブログでも紹介しています )。組み込みソフトウェア開発への AI エージェント適用にご関心をお持ちの方は、担当のアカウントチームまでお気軽にお問い合わせください。 星野 光玖 (Miku Hoshino) アマゾン ウェブ サービス ジャパン合同会社 技術統括本部 ソリューションアーキテクト 山本 直志 (Tadashi Yamamoto) アマゾン ウェブ サービス ジャパン合同会社 自動車・製造事業開発本部 シニア事業開発マネージャー
はじめに 本記事は、HR データ統合基盤を題材に、共通オントロジーの設計の考え方と、取込・質問応答・推論への使い方、それを AWS 上で組む際の構成を解説します。 RAG(Retrieval-Augmented Generation)は、検索で取得した社内データなどを LLM に渡して回答を生成する構成です。ドキュメントをベクトル化し、意味の近い断片を取得して LLM に回答させる方式は、FAQ や社内ナレッジ検索では十分に機能します。 一方で、HR ドメインではうまくいかない場面が出てきます。たとえば次のような質問です。 「田中さんの現在の所属部署は?」 「このグループ会社の子会社・孫会社を全部挙げると?」 「先月、残業が月45時間を超えた従業員は誰と誰?」 「今空いているポジションは?」 「2024年4月時点で、営業部の親部署はどこだった?」 これらはいずれもベクトル類似検索が苦手とする質問です。 質問 必要な処理 子会社を全部挙げる 親子関係を何階層もたどり、該当する会社を列挙する 空いているポジションを探す そのポジションに誰も割り当てられていないことを確認する 残業が45時間を超えた人を探す 時間や件数を正確に集計し、条件に合う従業員を抽出する 2024年4月時点の状態を調べる 過去の指定日時点で有効だった関係を調べる 意味の近い文章を拾う仕組みでは、これらに「たぶん合っている」レベルでしか答えられません。HR では、回答の誤りが労務コンプライアンス違反や人事意思決定のミスにつながります。「田中さんの残業は45時間を超えていません」という回答が誤っていれば、36協定違反の見逃しになりかねません。そのため、HR の RAG には、出典と鮮度つきの正確な答えが必要です。 さらに、これらの質問に答えるデータは、1か所にまとまっていない場合が多いです。勤怠・給与・タレントマネジメント・採用管理・人事マスタは別々のシステムとして導入され、M&A やグループ再編でさらに増え、同じ「人」がシステムごとに違う ID・違う名前で分断されています。「グループ全体のスキルギャップは?」のような部門横断の問いは、都度 CSV などにデータを出力し、突き合わせる作業になりがちです。これを解くのが MDM(マスタデータ管理)で、散らばったソースを共通の「人・組織・ポジション」に名寄せし、1つのグローバル ID に束ねます。その場合の最大の難所が、システムごとにバラバラな項目・名前・構造をどうやって同じ意味に揃えるか、です。 本記事で紹介する設計は、複数ソースの統合と、統合したグラフ上での正確な質問応答という2つの課題を、オントロジーを使ったデータ統合と質問応答で解きます。業界標準の語彙をオントロジーとして定義し、取込(名寄せ・統合)と検索(質問応答)の両方で共通の基準にします。LLM には意図の解釈を任せ、答えのデータは決定論的なグラフクエリで取得します。 全体像 先に全体の構成を示します。登場するのは 2 本のパイプラインと、その両方が参照するオントロジーです。 図1:フロントエンドとバックエンドを分離したAWS構成案。 オントロジーは Lambda Layer で取込・検索の両方に配布します。 取込パイプライン(バッチ) は、Amazon S3 に置かれた人事マスタの JSON を AWS Lambda が読み、オントロジーの写像ルールに従って RDF に変換します。ログイン ID で名寄せして不変のグローバル ID を発番し、元データを Amazon Neptune Serverless に SPARQL UPDATE で書き込みます。続いて推論・派生結果を追加し、元データの制約検証を実行します。検出結果はログと取込処理の戻り値に記録します。 質問応答パイプライン は、CloudFront と非公開の S3 で配信するチャット UI が質問を受け、API Gateway の REST API を通じて回答 API の Lambda を呼び出します。回答 API は VPC 内の検索 Lambda を呼び、検索 Lambda が「意図分類 → テンプレート SPARQL → Neptune で実行 → 出典回収」を行います。回答 API は検索結果を受け取り、Amazon Bedrock で回答文に整形して、ストリーミングで返す構成です。 層 サービス 役割 共通オントロジー Lambda Layer OWL 語彙(HR Open Standards 4.5 に基づく)・写像 JSON・LLM 向け要約。両方の Lambda に同梱する データ置場 Amazon S3 人事マスタの JSON をソースごとの形式のまま置く 取込 AWS Lambda 写像で RDF 化・名寄せ → 元データを Neptune へ書き込み → 推論・派生結果を追加 → 元データの制約検証・結果記録 グラフ DB Amazon Neptune Serverless RDF / SPARQL 1.1。レコード単位の名前付きグラフに事実を置き、出典・鮮度を付与する 検索 AWS Lambda(VPC 内) 意図分類 → テンプレート SPARQL → 実行 → 出典回収 LLM Amazon Bedrock Claude Haiku が意図分類、Claude Sonnet が回答整形を担当 フロントエンド Amazon CloudFront・Amazon S3 チャット UI の静的ファイルを配信する。非公開の S3 へ CloudFront からアクセスする 回答 API Amazon API Gateway・AWS Lambda 検索 Lambda の呼出し、Bedrock による回答整形、ストリーミング配信を担当する 出典と鮮度はどこから来るか 回答に使ったデータについて、「どのシステムから、いつ取得したものか」を確認できるようにします。 例えば、人事システムAから取得した田中さんの配属データを、その出典・取得時刻・確度と対応付けて保存します。この対応を管理するため、ソースごとの各レコードを、名前を付けたデータのまとまりである「名前付きグラフ」に格納します。 検索時には、回答に使うデータがどのまとまりに属するかを調べ、対応する出典と取得時刻も取り出します。 なぜ HR データにオントロジーが必要か オントロジーは、HR の文脈では次のように捉えると分かりやすくなります。 オントロジーとは、その分野に登場する概念と、概念同士の関係を、人と機械が同じ意味で扱える形で定義したものです。 HR で言えば、「従業員とは何か」「所属とは何か」「ポジションと人はどういう関係にあるのか」を、誰が読んでも同じ意味に取れるよう明文化したものです。用語集(言葉の定義を並べたもの)との違いは、関係やルールまで機械が処理できる形で定義する点にあります。「A は B の子会社」「この人は 2023年4月からこの部署に所属」といった関係を、コンピュータがたどれる形で持たせます。 意味の定義をテーブル設計から独立させる理由 あるプロダクトでは「社員」、別のプロダクトでは「従業員」、勤怠システムでは「要員」。同じ人を指す言葉が、システムごとに違う名前・違う列・違う型で管理されています。テーブル設計は各システムの都合で最適化されるので、統合しようとすると「どの列とどの列が同じ意味なのか」を人間が都度すり合わせることになります。 オントロジーは、この「意味の層」をデータベースのスキーマから独立させます。各ソースのバラバラな項目を共通の意味へ写像する土台になります。これは、複数ソースを共通のドメインモデルへ対応づける工程にあたります。 なぜ RAG でオントロジーが効くのか ベクトル RAG は言葉が似ている文章を拾う仕組みなので、「田中さんの上司の、そのまた上司の部門は?」のような関係をたどる質問や、「今この瞬間ではなく去年4月時点の所属」のような文脈の厳密さには、意味の定義がなければ答えられません。 オントロジーは、関係・時間・ルールを機械が処理できる形で定義します。その定義に沿って関係や時点をたどることが、正確な回答につながります。本記事の設計が HR Open Standards をオントロジーの土台に据えたのは、この理由からです。 用語ミニ解説 用語 意味 クラス / インスタンス 「従業員」という種類がクラス、「田中さん」という具体的な1人がインスタンス プロパティ 「所属する」「上司である」など、対象同士を結ぶ関係 RDF データを「主語・述語・目的語」の3つ組(トリプル)で表すデータモデル。グラフ構造になる OWL RDF の上で、クラスの定義や関係の性質(推移的など)を記述する言語。本記事では、OWL 2 RL/RDF ルールに基づく推論を、Python ライブラリ owlrl で実行します。参考: OWL 2 Profiles 、 owlrl SPARQL RDF グラフに対する問い合わせ言語 推移的な関係 「AからB、BからC」という関係から「AからC」も成り立つ関係。会社の階層をたどる場合などに使う HR Open Standards を使った共通オントロジーの設計 なぜ独自スキーマでなく業界標準か 本記事の設計では、語彙をゼロから設計せず、HR Open Standards 4.5 という国際的な HR データ標準に準拠させています。HR Open Standards は、HR Open Standards Consortium という非営利団体が策定・公開している、HR データ交換のための標準です。採用・給与・勤怠・組織・人物・スキルといった HR ドメインの概念を「型」として定義し、JSON / XML スキーマの形で配布しています。 今回のオントロジーが使う主な型は、次のようなものです。 型 表すもの 主な項目 Person(人物) 個人そのもの 氏名、生年月日、連絡先、不変のグローバルID Worker(従業員) 「組織で働く」というロール 社員番号、入社日、等級。氏名などは Person を参照 Organization(組織) 会社・部門 組織名、種別(会社/部門)、親組織 Position(ポジション) 職務・席 役職名、充足状況。人とは独立 WorkAssignment(配属) 人と組織・ポジションの結びつき 開始日・終了日、配属先組織、ポジション Skill / Certification スキル・資格 スキル名、資格名(保有は熟練度つきで別途表現) 型の作法にも特徴があります。たとえば識別子は単なる文字列ではなく「値(value)と採番体系(schemeId)の組」で持ちます。社員番号もグローバルIDも同じ形で表せるので、ソースごとに違う ID 体系を一様に扱えます。こうした型と作法が標準として決まっているため、各社が独自に持つ「社員」「組織」を標準の型に写像するだけで、システム間で意味を揃えられます。 標準を使う狙いは、複数プロダクト・複数ソースで異なる項目を、共通の語彙に対応付けることです。ソースごとにばらばらな「社員」「従業員」「要員」を、標準が定める「従業員」という1つの型に写像すれば、統合後は同じ語彙で扱えます。自前でモデルを作るより、多くの企業で検討・改訂されてきた語彙を使うほうが、抜け漏れの確認や他システムとの相互運用性の面で有利です。 業務要件をクラス設計に反映する オントロジーを実課題に結びつけるうえで大事なのは、業務要件がそのままクラス設計として表れる点です。HR Open のモデルには、次のような設計が織り込まれています。 従業員(ロール)と人物を分離する :氏名や生年月日は「人物」が持ち、雇用に関する属性は「従業員」が持つ。これにより「従業員番号は転籍で変わっても、人物としての同一性は不変」を表現できます。人物には不変のグローバル ID を与え、従業員番号とは別に扱います。 配属が開始日・終了日を持つ :所属を「今の状態」ではなく「いつからいつまでの配属」として持つことで、異動履歴も、過去のある時点の組織断面も再構成できます。 ポジションを人と独立させる :ポジションを人から切り離すことで、「誰も割り当たっていないポジション=空席」を表現できます。 「田中さん」という1人の従業員を例に、人物・従業員・配属・組織・ポジションの関係をグラフ図で示します。 図2:人物・従業員・配属と、組織・ポジションの関係。 矢印は参照元から参照先を示します。 人物には氏名・生年月日・不変のグローバル ID、従業員には入社日・等級などの雇用属性を持たせます。配属は2023年4月1日から現在までの期間を持ち、従業員・組織・ポジションを結び付けます。 同じ「田中さん」でも、氏名は人物に、入社日は従業員に、所属は配属にぶら下がります。所属を人に直接持たせず配属を挟むことで、「2024年4月時点ではどの組織だったか」を後から再構成できます。組織どうしは親組織の関係でつながり、部から本部、本部から会社まで一本で辿れます。ポジション(営業課長)は配属から参照される独立した型なので、配属がなければ「空席の営業課長」として残ります。 クラス設計を見るだけで、この基盤が履歴も空席も時点断面も扱えると読み取れます。業務要件がオントロジーの構造に反映されているのです。 設計上の3つの判断 今回の設計判断を3つ挙げます。 (1) 標準準拠と運用拡張を分けて管理する 標準(HR Open)に含まれる語彙と、運用のために独自に足した語彙(出典管理・時制の表現・名寄せなど)を、名前空間で分けています。加えて、それぞれの語彙が「標準のどの型に相当するか」「標準にないため拡張したものか」を語彙自身に注記しています。こうすると、どこまでが標準でどこからが独自かが一目で分かり、標準への準拠範囲が運用の中で曖昧になりません。 (2) 属性を持つ関係は「中間ノード」で表す 「田中さんは Python スキルを上級レベルで持つ」。この「上級」のように、関係そのものに付く属性があります。RDF は「主語-述語-目的語」という単純な3つ組なので、関係に属性を直接足せません。そこで人物とスキルを直接つながず、間に中間的なノードを置いて熟練度を持たせます。同じ考え方は、手当(金額・期間つき)、休暇残数、承認ステップなどにも一貫して使えます。グラフで「属性付きの関係」を表現するときの定石です。 (3) 状態は「フラグ」でなく「関係の有無」で表す ポジションが埋まっているかどうかを、ステータスのフラグで持つこともできます。本記事の設計では、現在有効な配属がそのポジションを参照しているかという関係の有無で判定します。配属と充足フラグを別々に更新すると、更新漏れで両者がずれることがあります。配属との関係を判定の基準にすることで、二重管理を避けています。 1つの語彙で取込と検索を揃える オントロジーを共通語彙として据える利点は、取込と検索が同じ言葉で書ける点に表れます。ソースを取り込む写像ルールと、質問に答える検索クエリの両方に、同じ語彙が同じ意味で現れます。 取込ルールは、宣言的に「このソース項目を、この語彙のクラス・関係に対応づける」と書くだけです。 イメージをつかむために、配属レコードの写像を簡略化して示します。 入力・項目 写像ルール 配属レコード WorkAssignment クラスに対応付ける 従業員への参照 ログイン ID を名寄せしてグローバル ID に解決する ポジションへの参照 任意( 指定時点で有効な配属から参照されていないポジションを空席と判定する ) ここで2つの設計が効いています。ログイン ID を名寄せしてグローバル ID に解決することが「複数ソースの統合」であり、ポジションへの参照を任意にすることが「空席とは参照が存在しないこと」というモデリングです。 検索側も同じ語彙で組み立てます。「今空いているポジションは?」は、取込で決めた「参照がなければ空席」の裏返しで、ポジションへの参照が存在しないものを探すだけで結果を得ることができます。「グループ会社を全部辿る」は、親組織という関係を「推移的」と定義しておけば、何階層でも子孫をたどれます。 つまり、モデリングの意味は語彙に一元化され、取込と検索はそれを参照するだけになります。「空席=参照なし」と取込で決めておけば、検索側は追加の取り決めなしに同じ定義で答えられます。ソースを取り込むときの解釈と、質問に答えるときの解釈が、1つの語彙で揃います。 同じ語彙の要約を LLM に渡すことで、質問から検索を組み立てる際に、使う概念や関係を限定します。次のセクションでは、この質問応答の設計を説明します。 質問応答の設計 自然文をそのままクエリに変換する方式の落とし穴 自然文の質問を LLM にそのままクエリへ変換させる方法では、構文エラーのあるクエリや、存在しないクラス・プロパティを使ったクエリが生成されることがあります。長いクエリの生成には時間がかかり、生成された内容をそのまま実行するリスクもあります。 意図の分類は LLM、クエリ生成は決定論 本記事の設計では、LLM にクエリ本文を書かせません。LLM の役割を「質問が何を訊いているか(意図)と、そのパラメータを取り出す」ことだけに絞ります。取り出した意図とパラメータは、あらかじめ検証済みのクエリテンプレートに機械的に流し込みます。 順番 担当 処理 1 LLM 質問の意図と、対象者・年月などのパラメータを取り出す 2 コード パラメータを検証し、意図に対応するテンプレートから SPARQL を組み立てる 3 Amazon Neptune・検索処理 クエリを実行し、結果と出典・鮮度を取得する 4 LLM 取得した結果を根拠に回答文へ整形する たとえば「2026年7月に残業が45時間を超えた従業員は?」という質問に対して、LLM が返すのは次の2項目です。 項目 抽出結果 意図(intent) 残業の確認(overtime) 対象年月(yearMonth) 2026-07 コードはこの意図に対応する検証済みテンプレートを選び、形式を検証した値を埋めて SPARQL を組みます。Neptune から返る結果には、事実の所在グラフから回収した出典と鮮度が付いており、最後に Claude Sonnet がその結果だけを根拠に日本語の回答文へ整形します。 鍵は、LLM に許す出力を狭く固定することです。意図は「従業員照会」「空席」「グループ構造」「時点断面」といった、あらかじめ定義した限られた選択肢からしか選べないようにします。語彙にない質問は「その他」に落とし、無理にクエリを組み立てません。取り出したパラメータ(従業員番号や日付など)も、形式や質問文中に実在するかを検証してから使います。LLM がクエリを創作する余地がないので、構文エラーも語彙のハルシネーションも原理的に起きません。 この設計には、速度と安全性の面でも効果があります。LLM に生成させるのは短い意図データだけなので、長いクエリを書かせる場合より応答が大幅に速くなります。テンプレートに渡す値も検証済みのものだけなので、インジェクションのような注入も成立しません。 共通オントロジーは、質問応答で使う概念や関係の定義も担います。意図の選択肢、パラメータの検証、テンプレートは、すべてオントロジーで定義した語彙に紐づいています。この語彙を統合の基準として使うとともに、LLM が選べる検索条件を限定する基準にもしています。 推論と制約検証の実装 取込処理では、 OWL推論による分類・関係の導出、Python/SPARQLによる派生データの生成、SHACLによるデータの制約検証 を行います。OWL推論で得られるのは新しい分類や関係であり、SHACL制約検証で得られるのは、データが定義した条件を満たすかを確認した結果です。 これらの処理は取込用の Lambda で実行します。現在の実装は、元データを Neptune に保存し、推論・派生結果を追加した後に、元データを対象として制約検証を実行する順序です。検索時には、保存済みの分類や関係を利用します。 以下では、処理を説明するための架空の従業員Aと勤怠レコードBを用いて、入力から何が得られるかを示します。 OWL推論:評価データから昇進候補を算出 例えば、従業員Aに2025年上期・下期の評価レコードが結び付き、どちらも S 評価だったとします。現行のオントロジーには、この2期の評価条件を満たす従業員を昇進候補とする定義があります。OWL推論によって「従業員Aは昇進候補である」という分類が導出され、 orca:PromotionCandidate 型を付与するトリプルがグラフに追加されます。これにより、昇進候補を検索するクエリで従業員Aを取得できます。 推論エンジンには、Python ライブラリの owlrl を使用し、 OWL 2 RL/RDF ルールを適用しています。データから新しい事実を導く前向き推論(forward chaining)で、新しいトリプルが増えなくなるまでルールを適用します。なお、オントロジーには厳密な OWL 2 RL プロファイルの構文制約を外れる定義も含むため、ここでは実際に使用する推論ルールを明示しています。 昇進候補などの分類を複数の質問で再利用できるよう、取込時に推論結果を保存し、検索時はその結果を取得する構成としています。このため、求める結論から推論ルールを逆にたどって条件を確認する後ろ向き推論は使用していません。 分類条件は、 owl:equivalentClass などの OWL 公理 で表し、Turtle 形式で記述します。クラスや関係の定義である TBox と、従業員や評価などの個体データである ABox を同じグラフに読み込んで推論します。主な用途は、従業員がどの分類に属するか、どの対象と関係するかを導出する ABox の実体化です。適用するルールには、クラス階層などの TBox 側の関係を導出するものも含まれます。 日付の比較、回数の集計、順序付けを伴う処理は、 Python/SPARQL で計算します。例えば、現在有効な配属からポジションの充足関係を求め、その結果を補助トリプルとして追加してから OWL 推論を実行します。こうして、手続き的に計算した結果も、宣言的な分類条件の入力として使います。 SHACL制約検証:条件に違反する勤怠データを報告する データの制約検証には、 SHACL-SPARQL と、その検証エンジンである pyshacl を使用します。検証対象や違反条件を SHACL の形状として記述し、条件の判定に SPARQL を使います。ここで確認するのは、入力データが定義した制約を満たしているかどうかです。 例えば、勤怠レコードBの種別が「残業」で、時間が50時間だったとします。現行の制約は、残業の勤怠エントリごとに時間が45時間を超えているかを確認します。この例では、勤怠レコードBが閾値を超えるものとして検出され、対象レコードと違反メッセージを含む検証結果が返されます。 検証時の追加推論は無効にしています。取込処理は、検証結果から対象レコードの識別子を取り出し、違反件数と識別子の例をログに記録します。取込処理の戻り値には違反件数を含めます。 推論結果の保存と再利用 グラフに追加するのは、推論・派生処理後のグラフから、元データと元のスキーマに存在するトリプルを除いたものです。追加トリプル数には、OWL推論による導出と、Python/SPARQLによる派生生成の両方が含まれます。 もう1つ重要なのが決定論性です。基準日・評価対象の期・閾値を固定し、同じ入力データ・定義・実行条件から同じ導出結果を得られるようにしています。保存した分類を使うことで、「昇進候補を挙げて」という質問のたびに評価条件を計算する必要がなくなり、検索クエリを単純に保てます。 まとめ 本記事の設計を貫いているのは、「決定論に書けるものは決定論に寄せ、LLM は意図の解釈だけに使う」という方針です。 設計 方針 オントロジーの設計 業界標準(HR Open 4.5)を共通の定義とし、取込と検索を同じ語彙で書く。履歴・空席・時点断面という業務要件をクラス設計に反映する 質問応答の設計 LLM に意図を解釈させ、クエリは検証済みテンプレートで決定論的に組み立てる。共通語彙に沿って検索条件を限定し、速度を上げ、構文エラーや注入を防ぐ 推論・制約検証の実装 分類・関係はOWL推論、集計や順序付けはPython/SPARQL、データの制約検証はSHACLで処理する。推論・派生結果を保存して検索に使い、制約違反は検証結果として記録する この3つの設計で、HR で「出典と鮮度つきで正確に答える」質問応答が成立します。意味の近い文章を取得するだけでなく、オントロジーで定義した関係や条件をたどって答えることが、労務管理や人事の意思決定に使える質問応答の条件だと考えています。 本記事では、HR Open Standards を使って業務上の概念や関係を定義し、その共通オントロジーをデータ統合、LLM の検索条件の制御、取込時の推論に使う設計を紹介しました。オントロジーを業務要件と具体的な処理に結び付けることが、この設計の要点です。   このブログの著者 安達 翔平 (さばみそ) アマゾン ウェブ サービス ジャパン合同会社 ISV/SaaS ソリューションアーキテクト 和智 大二郎 アマゾン ウェブ サービス ジャパン合同会社 シニアソリューションアーキテクト
イントロダクション 送配電事業( T ransmission & D istribution Business)に携わる皆様は、これまでにない変化の波を肌で感じていらっしゃるのではないでしょうか。熟練技術者の高齢化や定年退職が加速し暗黙知が失われる一方で、再エネ大量導入に伴う系統の複雑化、設備の老朽化と新規投資の削減圧力、そして量子コンピュータ時代を見据えたサイバー脅威の高度化 ― 複合的な課題が同時に押し寄せ、従来の「人海戦術+経験則」だけでは対処しきれない時代が到来しています。 こうした業界共通の課題を議論し、クラウドと AI による新たな解決策の可能性を探る場として、2026 年 8 月 7 日に電気新聞(日本電気協会新聞部)主催・アマゾン ウェブ サービス ジャパン合同会社(AWS)協賛にて「 T&D エグゼクティブ・ラウンドテーブル ~送配電事業におけるクラウド活用と AI 技術の最前線~ 」を開催しました。 本セミナーでは、構造変化を「 守る (量子・AI 時代のセキュリティ対応)」「 支える (インフラ保守の高度化・自律化)」「 備える (AI Ready となる仕組みづくり)」の 3 つの視点から捉え、4 つの講演を通じて具体的な事例と知見を共有しました。本記事ではその概要と当日の様子をお伝えします。 イベント概要 項目 内容 イベント名 T&D エグゼクティブ・ラウンドテーブル「送配電事業におけるクラウド活用とAI技術の最前線」 日時 2026 年 8 月 7 日(金)14:00〜17:00 会場 日本電気協会・会議室(東京都千代田区有楽町 電気ビル北館 4 階) 主催 / 協賛 電気新聞(日本電気協会新聞部)/ アマゾン ウェブ サービス ジャパン合同会社 対象 送配電事業者の皆様 参加者 61 名(32 社・組織) 全国の送配電事業者を中心に 32 社・組織から 61 名にご参加いただきました。 電気新聞主催・AWS協賛「T&Dエグゼクティブ・ラウンドテーブル」会場案内板 講演プログラム オープニング アマゾン ウェブ サービス ジャパン合同会社 常務執行役員 エンタープライズ事業統括本部長 堤 浩幸 テクノロジーの進化、グローバル化の進展、人口構成の変化、社会変容、エネルギー・環境問題の深刻化という「未来を形作る 5 つの要因」を概観した上で、送配電事業を取り巻く 4 つの構造変化 ― 人的リソースの枯渇、系統複雑性の爆発、設備投資の膨張、サイバー脅威の高度化 ― を整理しました。そして本セミナーの 3 つの視点「守る」「支える」「備える」を提示し、各講演への導入としました。 オープニングで講演する AWS 常務執行役員 エンタープライズ事業統括本部長 堤 浩幸 講演① 量子時代のサイバーセキュリティと電力インフラの課題 ―「守る」 株式会社東芝 ICTソリューション事業部 QKD事業推進室 シニアフェロー 村井 信哉 氏 株式会社東芝 総合研究所 AIデジタルR&Dセンター セキュリティ基盤研究室 エキスパート 秋山 浩一郎 氏 電力インフラにとって、サイバーセキュリティは「いつか対応すればよい」課題ではなくなりつつあります。東芝の村井氏・秋山氏からは、量子コンピュータの出現がもたらすリスクとその対策について解説いただきました。 量子コンピュータが既存の公開鍵暗号(RSA 等)を解読可能になる日 ―「Q-Day」― は 2030 年代前半と予測されています。しかし問題は Q-Day だけではありません。攻撃者が現在の暗号通信を傍受・蓄積しておき、将来の量子コンピュータで解読する「データ・ハーベスティング攻撃」が存在するため、5 年後・10 年後も価値を持つ長期秘匿データは 今すでにリスクにさらされている のです。 送配電事業にとって特に重要な点として、情報漏えいだけでなく 改ざんやなりすまし が生じうることが挙げられます。スマートメーターや制御系システムなど、フィールドに展開される長寿命インフラはハードウェア改修に長い期間を要するため、通常の IT システムよりも早い段階で対策の計画を立てる必要があります。 対策技術としては、拠点間の回線防護に適した QKD(量子鍵配送) と、ソフトウェア実装によりフィールド機器にも展開可能な PQC(耐量子計算機暗号) の 2 つが紹介されました。両技術は相互補完的であり、ネットワーク拠点間には QKD を、フィールド側には PQC を適用する「ハイブリッド対策」が有効とされています。 村井氏は「Q-Day がいつ来るかの予測は難しいが、今から複数のシナリオに備え、計画的に移行を進めることが重要」と強調しました。 量子コンピュータがもたらす脅威について解説する村井氏 QKD・PQC の対策技術について解説する秋山氏 講演② 通信業界におけるクラウド活用と AI によるオペレーション変革 ―「支える」 アマゾン ウェブ サービス ジャパン合同会社 技術統括本部 通信・メディア技術本部 通信第一ソリューション部 ソリューションアーキテクト 宮崎 友貴 送配電事業と通信事業には多くの共通点があります。ともに 24 時間 365 日の安定運用を担い、膨大なフィールド設備を保守し、社会インフラとしての高い信頼性が求められます。そして、熟練オペレーターの高齢化・不足やシステムの複雑化による運用負荷の増大という課題も同様です。 本講演では、こうした共通課題に対して通信業界がどのようにクラウドと AI を活用しているかを、大手通信事業者 3 社の事例を交えて紹介しました。 NTT ドコモ ― 100 万台超のネットワーク機器の障害対応を、自律的に思考・行動する AI エージェント(Agentic AI)で自律化。異常検知から被疑箇所の推定・措置提案までを AI が自動実行することで、障害復旧時間の大幅短縮を実現しています。なお、本取り組みの詳細は「 NTT ドコモ、AWS 上で 5G コアネットワークの商用運用を開始 」でも紹介されています。 KDDI ― 基地局のトラフィック増加を AI で予測し、無線基地局の負荷を事前に分散・最適化。開発プロセスにも AI を組み込み、基地局パラメータの全国展開期間を約 50% 短縮しています。 ソフトバンク ― ネットワーク全体のトポロジー情報をグラフ DB で管理し、時系列の状態変化をリアルタイムに可視化。「障害発生前後でネットワークがどう変わったか」を即座に比較できる環境を構築し、原因特定の高速化に活用しています。 3 社に共通する特徴として、「定型作業の自動化」にとどまらず、「ゴールに対して AI が自ら考えながらタスクを遂行する自律化」を目指している点が挙げられます。通信業界の標準化団体(TM Forum)も「自律ネットワーク」を業界共通のゴールとして定義しており、AI Agent とデータ基盤の整備がその実現に不可欠な要素として位置づけられています。 エネルギー業界においても「データはあるが活用できる状態にない」という課題は広く共有されています。通信業界の事例は、自律化への道のりは一朝一夕ではないものの、クラウドを活用して「まず小さく始め、データを蓄積しながら段階的にスケールする」アプローチが有効であることを示しています。 通信業界の AI 活用事例を紹介する AWS ソリューションアーキテクト 宮崎 友貴 講演③ モバイルネットワークの自律オペレーションを実現する自動化とAI活用 ―「支える」 株式会社NTTドコモ サービスオペレーション部 オペレーションシステムデザイン室 担当課長 今井 識 氏 NTT ドコモでオペレーション変革を推進する今井氏が、100 万台超のネットワーク機器を AI で自律運用する取り組みの詳細を共有しました。 講演ではまず、取り組みの背景となる 3 つの課題が示されました。 社会インフラとしての通信の重要性が増大し、重大事故と見なされるケースが拡大傾向。30 分以内の初報が求められる報告制度改正もあり、迅速な対応が不可欠に ハードウェアとソフトウェアの分離(Open RAN 化)によりシステムが複雑化し、従来の人手による運用では対処しきれなくなっている 熟練オペレーターの高齢化・不足が進行 これらは、送配電事業が直面する「人材不足 × システム複雑化 × 運用負荷の増大」の構図と重なる課題です。 NTT ドコモはこれらの課題に対し、複数の AI エージェントが連携してネットワーク保守を自律的に遂行する仕組みを構築しました。観察系エージェントがリアルタイムにデータを収集し、被疑箇所推定エージェントが分析を行うことで、人がエスカレーション判断を行う段階ではすでに必要な情報が揃っている状態を実現しています。この仕組みはグラフ DB を中心に AWS のサービスを組み合わせて構築され、2026 年 2 月に商用利用を開始。複雑故障のリカバリ時間を 50% 以上短縮する成果をあげています。 NTTドコモの自律オペレーションへの取り組みを紹介する今井氏 講演④ 自律運用グリッドへの道筋 ―「備える」 アマゾン ウェブ サービス ジャパン合同会社 常務執行役員 技術統括本部長 巨勢 泰宏 送配電事業における 4 つの構造変化を踏まえ、AI を活用した「自律運用グリッド」のロードマップを提示しました。 AWS は世界各地でエネルギー事業者のクラウド活用を支援しており、また自社のグローバルインフラを 24 時間 365 日運用する中で培ったオペレーション自動化の知見を持っています。こうした経験を踏まえ、送配電事業の課題解決に向けた具体的なアプローチを提案しました。 海外事例として以下を紹介しました。 Duke Energy (米国)― 系統連系申請の審査自動化。膨大な申請書類の処理を AI で効率化 GE Vernova (米国)― 復旧作業者の最適配置。災害時に限られた人的リソースを最も効果的に配置 Endeavour Energy (豪州)― ドローンによる自律点検で点検時間を 70% 削減 自律運用グリッド実現に向けて、 セキュアインフラ × データ × AI エージェント の 3 要素を組み合わせることが鍵であり、その第一歩は「データの整備」から始まるという提言がなされました。 自律運用グリッドへのロードマップを提示する AWS 常務執行役員 技術統括本部長 巨勢 泰宏 参加者の声 アンケートでは 5 点満点中 4.8 という高い満足度をいただきました(「大変満足」+「やや満足」= 100%)。自由記述の一部をご紹介します。 「クラウドと AI の活用は早期に実現する必要がある。先駆者の取り組みや苦労話を聞けたのは非常に勉強になった」 「通信での AI 活用の実践が数年後の電力に届くシナリオがよく理解できた」 「いずれのトピックも、これからの送配電事業の在り方を考えさせられる内容だった」 「量子コンピュータの出現に備えてセキュリティ対策を施しておかねばならないとの指摘に目が覚める思い」 「通信業界の OT 活用が進んでいることに感銘した」 「データ利活用について、自社でも取り組んでいる最中であり大変参考になった」 おわりに 今回のセミナーでは、業界や企業の垣根を越えて「自社も同じ課題を抱えている」と共感し合う場面が多く見られました。通信インフラと電力インフラは共に社会を支える基盤であり、直面する構造的な課題 ― 人材不足、システムの複雑化、セキュリティの高度化 ― には多くの共通点があります。他業界の先行事例を知ることで、各社の次の取り組みを具体化する一助となれば幸いです。 AWS では今後もエネルギー業界のお客様に対し、最新の技術や世界中の業界を超えた実践知をお届けしながら、社会インフラの持続的な発展に貢献してまいります。 著者について 宮城 康暢(Koyo Miyagi) アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト。前職にて IaaS やストレージサービスの企画・開発に従事した後、2022 年に AWS に入社。AWS ではエネルギー業界のお客様およびパートナー様の技術支援を担当しています。