Amazon Novaを使ったBedrock AgentsでのDependency resourceエラーメッセージの解決策

概要

先日、Amazon Bedrock Agentsを使ってエージェントを開発していたとき、以下のエラーメッセージが出力されかなり悩みました。

Dependency resource: received model timeout/error exception from Bedrock. Try the request again.

本記事では、私の環境における上記のエラーメッセージの対処方法について記します。

前提

今回、私が実装したエージェントは以下の通りです。

  • リージョンは東京リージョン
  • モデルはAmazon Nova Lite
    • ここがキーポイント。Amazon Novaのシリーズは同様かなと思います。
  • アクショングループで実装したLambda関数のランタイムはPython

手元の検証のために、AWSが公開しているハンズオン「倉庫業務におけるAmazon Bedrock Agentsを活用したチャットアプリケーション」でも試してみましたが、モデルをAmazon Novaにした場合、再現しました。

catalog.us-east-1.prod.workshops.aws

調査

原因調査をすると、そもそもLambda関数が呼ばれていないことがわかりました。このため、Lambda関数の実装になんらかの問題があるとは思えず、ひたすらAmazon Bedrock Agentsの設定を見直しました。

その後、アクショングループ名にハイフンを含んでいないエージェントにおいてはうまく動くことをたまたま発見しました。エラーメッセージが出力されていたアクショングループ名にはバッチリハイフンが含まれていました(以下は検証用で再現したときのもの)。

対策

にわかには信じられなかったのですが、ものは試しということでアクショングループ名をハイフンを除いた名前にすると...動いた〜。

ただ、上記のエラーメッセージからこの対策は紐付けすることが難しく、さすがに不親切すぎるだろうという気持ちがあります。

深掘り

類似の事象が何か報告されていないかなと思って探してみたら、以下のre:Postの記事が見つかりました。

repost.aws

原因として推察されているものとしては、以下のAPI命名ルールに反しているのではないか?という推察がされているのですが、みた感じハイフンも命名ルールに含まれており、完全な原因としてはわかりませんでした。

docs.aws.amazon.com

なお、再現のために、Bedrock Agentsを色々と作成しようとしてみたところ、アクショングループ名のデフォルト値だけがハイフンではなく、アンダースコアになっていることに気がつきました。

単なる偶然なのか、意図的なのかは分からないのですが、アクショングループ名にハイフンを使うのはやめておこうという結論に至りました。