AWS、AI エージェントのツール呼び出し誤りを防ぐ「Dogwood」を公開
本文の状態
日本語全文を表示中
詳細モードで約8分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
The New Stack AI
AWS は AI エージェントのツール呼び出しシーケンスを統制するオープンソース言語「Dogwood」を発表し、既存の Cedar を拡張して時間的・順序的な制約の実装を可能にした。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るAI深層分析を開く2026年8月7日 05:16
AI深層分析
キーポイント
シーケンス制御の新言語 Dogwood の発表
AWS は AI エージェントが複数のツール呼び出しを行う際のシーケンス全体を統制できるオープンソースポリシー言語「Dogwood」を発表した。
Cedar を超える時間的・文脈的判断機能
既存の認可言語 Cedar は単発の判断に特化しているが、Dogwood は過去のイベントや直近の動作履歴を考慮し、レート制限や順序制約を実装できる。
Amazon Bedrock AgentCore Policy への統合
同社は Dogwood のサポートを管理型サービスである Amazon Bedrock AgentCore Policy に追加し、Apache 2.0 ライセンスで言語と実装を提供している。
LLM を介さない決定層の強化
Dogwood は大規模言語モデル自体を強制ループから外したまま、エージェントの複雑なワークフローに対する厳格な制御レイヤーとして機能する。
並行ツール呼び出しへの対応
Dogwood は完了していないリクエストも含めてすべての呼び出しをカウントするため、並行処理による制限超過を防ぐ。
重要な引用
"Point-in-time decisions make sense for many forms of access control, but when agents compose multiple actions into longer workflows, the sequence itself becomes something teams want to govern."
"Dogwood gives them a language for expressing policies over sequences, in order to capture constraints on prerequisites, rate limits, and ordering."
But Dogwood has the context and can count all transfer requests, including those currently being evaluated.
It's worth noting that Dogwood doesn't replace Cedar but extends it.
編集コメントを表示
編集コメント
エージェントの自律性が向上する中で、単発の判断ではなくワークフロー全体の制御が必要となるタイミングで、AWS が具体的な解決策を提示したのは意義深い。Dogwood の登場により、複雑な自動化システムにおけるリスク管理が一段階進化する可能性がある。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。

AWS は木曜日、AI エージェントのツール呼び出しを個別に評価するのではなく、一連の呼び出しシーケンス全体を管理できるオープンソースのポリシー言語「Dogwood(ドグウッド)」とその参照実装を発表しました。
同社はまた、エージェントがどのツールを呼び出せるか、どのような条件下で呼び出せるかを制御するためのマネージドサービス「Amazon Bedrock AgentCore Policy」にも Dogwood のサポートを追加しました。この言語と参照実装は、現在 Apache 2.0 ライセンスの下で公開されています。
Dogwood は、すでに AgentCore Policy を支えているオープンソースの認可言語「Cedar(シーダー)」を基盤としています。AWS が 2025 年後半に CNCF のサンドボックスプロジェクトとして寄贈した Cedar は、例えば特定の引数セットを使ってリファウンドツールを呼び出す権限がユーザーやエージェントにあるかどうかを判断できます。Dogwood はこれをさらに一歩進め、過去のイベントも考慮対象とします。具体的には、誰かがそのリファンドを承認したか、過去 1 時間以内にエージェントがどれほどの金額を返金したか、あるいは外部サービスへの連絡を妨げるべき情報を以前にアクセスしていたかどうかといった判断が可能です。
「特定の時点での意思決定は多くのアクセス制御の形態において有効ですが、エージェントが複数のアクションを組み合わせてより長いワークフローを構成するようになると、そのシーケンス自体をチームが管理したくなるのです。」
AWS チームの説明によると、「ポイントインタイムの判断は多くのアクセス制御の形態において有効ですが、エージェントが複数のアクションを組み合わせて長いワークフローを構築する際には、その「シーケンス自体」を管理したいという要望が生じます。Dogwood は、事前条件やレート制限、実行順序に関する制約を捉えるために、シーケンス全体を対象としたポリシーを記述するための言語を提供します。
ツール呼び出しからシーケンスへ
昨年の re:Invent 会議で AWS は、大規模言語モデルの外部に位置する決定論的な制御層として「AgentCore Policy」を発表しました。この仕組みでは、モデルがツール呼び出しを提案すると、ポリシーエンジンがそれを受け入れるか拒否するかを判断します。これにより、モデル自体が強制ループ(エンフォースメント・ループ)から外れることになります。
AgentCore Gateway はエージェントとツールの間に位置し、各リクエストに対してサービス内のポリシーエンジンが Cedar ルールを評価します。このルールは、リクエストを実行する主体(プリンシパル)、要求されたアクション、対象のリソース、そしてツールの入力パラメータについて記述したものです。デフォルトの動作はリクエスト拒否であり、明示的な禁止事項は許可よりも優先されます。
しかし、これらのルールが確認できるのは現在のリクエストのみです。同じリクエストであれば、以前の活動内容やポリシーの実行順序に関係なく、Cedar は常に同じ判断を返します。この特性により Cedar ポリシーの分析は容易になりますが、アクションの連続性(シーケンス)に依存するポリシーを記述することはできません。
Dogwood が追加する機能の一つに、過去のツール呼び出しやそのレスポンスを検証する「時間条件(temporal conditions)」があります。これにより、あるリクエストが発生した時点での状況や、それがいつ起こったかといった情報を把握できます。
AWS はこの仕組みを説明するため、株式取引を行うエージェントの例を挙げています。例えば、ポリシーでは「過去 1 時間以内に同じ銘柄と同一数量に対して承認ツールが肯定的なレスポンスを返した場合のみ、株の売却が可能」といったルールを設定できます。ここで重要なのは、その承認行為がエージェントの履歴内で別個のイベントとして検出されなければならない点です。
開発者は、特定の事象が発生したかを確認したり、一定時間枠内での呼び出し回数を数えたり、支払い先のような一意の値をカウントしたり、送金総額のような数値を加算したりすることが可能です。これらの機能は、時間の経過に伴うイベントの性質を記述するための形式体系である「メトリック第一階層時相論理(Metric First-Order Temporal Logic)」の一部に基づいて構築されています。
並行実行されるツール呼び出しが複雑さを増す
これらをさらに複雑にするのが、並列的なツール呼び出しです。
AWS の例では、エージェントは 1 時間あたりの送金上限を 5,00 ドルに制限されているとします。もしポリシーが完了済みの送金分のみを合算する仕組みであれば、最初のリクエストが完了する前に複数の 2,000 ドルのリクエストが提出され、合計額が上限を超えてしまう可能性があります。なぜなら、各リクエストをチェックした時点ではまだ完了した取引がゼロであるためです。
ポリシーが完了済みの送金のみを合算する仕組みだと、エージェントは最初の処理が完了する前に複数の 2,000 ドル分のリクエストを送信してしまい、各リクエストチェック時点では完了合計がまだゼロであるため、制限を超えてしまう可能性があります。
しかし Dogwood は文脈を理解し、現在評価中の送金リクエストも含めてすべてのリクエストをカウントできます。AWS の例ではこれにより、最初の 2 つの送金が結果を返していない場合でも、3 番目の 2,000 ドル分のリクエストは拒否されます。
AgentCore Gateway を介して接続されたエージェントの場合、AWS はゲートウェイの MCP マニフェストにあるツールから Dogwood のアクションスキーマを生成できます。各ツールはポリシーが参照できるアクションとして機能します。
Dogwood は Cedar を置き換えるものではなく、拡張するものである点に留意してください。AWS によると、既存の Cedar ポリシーはそのまま有効な Dogwood ポリシーとなるため、チームが現在のルールを書き直す必要はありません。時間依存型のポリシーについては、Dogwood が履歴依存条件を Cedar のコンテキストフィールドに変換します。参考実装では、Cedar が認可判断を行う前に Dogwood がイベント履歴からそのフィールドに値を設定します。
Dogwood は信頼できるイベント履歴を必要とする
Dogwood は状態を保持するため、Cedar よりも実行コストが高くなります。イベントレコードの保存と検索が必要であり、AWS によれば評価時間は履歴の長さに依存する可能性があります。
現時点では、付属のオープンソース参照インタプリタは言語の探索やテスト用であり、本番環境での認可エンジンとしての使用を想定したものではありません。
ただし、このオープンソースプロジェクトをすぐに導入したいと考えている人にはいくつかの注意点があります。リポジトリの記述によると、ユーザーは信頼できるタイムスタンプを提供し、イベントを検証し、フィールド名とアクション名の一貫性を保ち、トレースを永続的に保存し、権限付与の決定をログ記録し、テナント間で履歴を分離する必要があります。また、ツール呼び出しの履歴には機密データが含まれる可能性があるため、チームは保持ポリシーも策定する必要があります。
オープンソース版を利用するチームにとって、より難しい課題は、イベント履歴が完全で信頼性が高く、権限付与に使用できるかどうかという点です。
今後、AWS は真夜中にリセットされるクォータなど絶対時刻に関連するルールや、期待されたアクションが最終的に発生したかを確認する「活性(liveness)」プロパティの追加を計画しています。また、Dogwood を個々のエージェントからマルチエージェントシステムへと拡張し、ポリシーでハンドオフや共有ロックなどを管理できるようにすることも目指しています。
現時点では AWS は直接の貢献は受け付けていませんが、「言語設計と将来の方向性に関するコミュニティからのフィードバック」は歓迎すると述べています。オープンソース版を利用するチームにとって、より難しい課題は、イベント履歴が完全で信頼性が高く、権限付与に使用できるかどうかという点です。
この記事「Your AI agent's next tool call may be valid but wrong. AWS's Dogwood promises to fix that.」は、The New Stack に最初に掲載されました。
原文を表示

AWS on Thursday launched Dogwood, an open-source policy language and reference interpreter that lets developers govern sequences of AI agent tool calls instead of evaluating each action in isolation.
The company has also added Dogwood support to Amazon Bedrock AgentCore Policy, its managed service for controlling which tools an agent may call and under what conditions. The language and its reference implementation are now available under the Apache 2.0 license.
Dogwood builds on Cedar, the open source authorization language that already powers AgentCore Policy. Cedar, which AWS contributed to the CNCF as a sandbox project in late 2025, can decide whether a user or agent may call a refund tool with a given set of arguments, for example. Dogwood takes this a step further because it can also take earlier events into account. That may be whether somebody approved the refund, how much the agent has refunded in the past hour, or whether it previously accessed information that should prevent it from contacting an outside service.
“Point-in-time decisions make sense for many forms of access control, but when agents compose multiple actions into longer workflows, the sequence itself becomes something teams want to govern.”
As the AWS team explains, “Point-in-time decisions make sense for many forms of access control, but when agents compose multiple actions into longer workflows, the sequence itself becomes something teams want to govern. Dogwood gives them a language for expressing policies over sequences, in order to capture constraints on prerequisites, rate limits, and ordering.”
From one tool call to a sequence
At its re:Invent conference last year, AWS introduced AgentCore Policy as a deterministic control layer outside the large language model. The model proposes a tool call, which the policy engine then accepts or rejects. This keeps the model itself out of the enforcement loop.
AgentCore Gateway sits between an agent and those tools. For each request, the service’s policy engine evaluates Cedar rules describing the principal making the request, the requested action, the resource, and the tool’s input parameters. The default is to deny requests, and any explicit prohibition always takes precedence over a permission.
But those rules only see the current request. Given the same request, Cedar will always return the same decision, regardless of earlier activity or the order in which its policies run. That makes Cedar policies easier to analyze, but it also means they can’t express policies that depend on a sequence of actions.
What Dogwood adds, among other things, is temporal conditions that examine earlier tool requests and responses. A temporal condition can look at what happened before a request and how long ago it happened.
AWS uses a stock-trading agent as its example to show how this works. A policy can allow the agent to sell shares only if an approval tool returned a positive response for the same stock and number of shares during the previous hour — and that approval is a separate event that the policy engine must find in the agent’s recent history.
Developers can check whether an event occurred, count calls during a time window, count distinct values such as payment recipients, or add values such as the total amount transferred. Those operations are built on a subset of Metric First-Order Temporal Logic, a formal system for describing properties of events over time.
Concurrent tool calls complicate simple limits
What can make all of this even more complicated is parallel tool calls.
In AWS’s example, an agent may be restricted from transferring more than $5,000 per hour. If the policy only adds up already completed transfers, the agent could submit several $2,000 requests before the first one finishes, exceeding its limit because the completed total may still be zero when each request is checked.
If the policy only adds up already completed transfers, the agent could submit several $2,000 requests before the first one finishes, exceeding its limit because the completed total may still be zero when each request is checked.
But Dogwood has the context and can count all transfer requests, including those currently being evaluated. In AWS’s example, that causes the third $2,000 request to be denied even if the first two transfers have not returned a result.
For agents connected through AgentCore Gateway, AWS can generate Dogwood’s action schema from the tools in the gateway’s MCP manifest. Each tool then becomes an action the policy can reference.
It’s worth noting that Dogwood doesn’t replace Cedar but extends it. According to AWS, any existing Cedar policy is also a valid Dogwood policy, so teams don’t have to rewrite their current rules. For temporal policies, Dogwood translates the history-dependent condition into a Cedar context field. In the reference implementation, Dogwood fills that field from the event history before Cedar makes the authorization decision.
Dogwood needs a reliable event history
Dogwood is more expensive to run than Cedar because it is stateful. It must retain and search event records, and AWS notes that evaluation time can depend on the length of that history.
As of now, the included open source reference interpreter is meant for exploring and testing the language, not for use as a production authorization engine.
There are some caveats, though, for anyone who wants to adopt the open-source project right away. As the repository notes, users would have to provide trusted timestamps, authenticate events, keep field and action names consistent, store traces durably, log authorization decisions, and isolate histories between tenants. Teams would also need a retention policy because tool-call histories can contain sensitive data.
For teams using the open source release, the harder question is whether the event history is complete and trustworthy enough to use for authorization.
In the future, AWS plans to add rules tied to absolute times, such as quotas that reset at midnight, as well as “liveness” properties that check whether an expected action eventually happens. The company also wants to extend Dogwood from individual agents to multi-agent systems, where a policy may need to govern handoffs and shared locks, for example.
As of now, AWS is not accepting direct contributions but says it welcomes “community feedback on the language design and future directions.” For teams using the open source release, the harder question is whether the event history is complete and trustworthy enough to use for authorization.
The post Your AI agent’s next tool call may be valid but wrong. AWS’s Dogwood promises to fix that. appeared first on The New Stack.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み