Dogwood是什么?
最近,亚马逊云科技把Dogwood这门语言开源了。它是专门用来编写智能体工具调用策略的。简单说,智能体在调用外部工具时,这次调用到底允不允许,Dogwood能给出明确的判断。和之前的Cedar策略语言相比,Dogwood最大的不同在于:它的规则能“回头看”,检查智能体之前已经执行过的操作,再决定当前请求是放行还是拒绝。
Dogwood采用Apache 2.0许可证,而且已经被AgentCore Policy支持。AgentCore Policy是去年re:Invent上推出的服务,它跑在模型之外,扮演一个确定性的控制层。模型提出工具调用,策略引擎决定接受还是拒绝,模型本身接触不到执行机制。
为什么需要Dogwood?Cedar的局限
Cedar原本是编写这些决策的语言。2025年末,Cedar已经贡献给CNCF,成为沙箱项目。Cedar的设计很优雅:每次只评估一个请求,无状态、可重复,所以支持审计和自动推理。但代价也很明显——它只能限制单个操作,没法表达“操作序列”的约束。比如“用户先转账再提现,总额不能超过X”这种跨步骤规则,Cedar就写不出来。
智能体场景恰恰需要这种能力。一次任务可能涉及多个工具调用,这些调用之间有先后、有依赖。如果每个请求都孤立判断,攻击者就能通过并发或顺序操作绕过限制。Dogwood就是为了解决这个问题而出现的。
Dogwood的时序操作符与正确性陷阱
Dogwood新增了时序条件,写在when temporal子句里。它能读取智能体的事件历史,这些事件包含工具调用请求及其结果,操作模式来自MCP工具清单。底层时序条件会被转换成Cedar上下文字段,所以Dogwood并不是完全另起炉灶。
它提供了四个操作符:formerly、count_within、count_distinct_within和sum_within。这些操作符基于一阶时序逻辑子集,以标准库宏实现。还有一个bind操作符,可以把聚合结果命名,方便和当前请求比较。
这里有个特别容易踩的坑。公告里举了一个例子:假设策略规定“5分钟内转账总额不超过5000美元”。如果对“响应事件”做求和,而不是对“请求事件”做求和,并发操作就可能绕过限制。比如三笔2000美元的转账同时发生,对响应求和时,每一笔响应返回时可能都还没超过5000,结果三笔全通过了。但对请求求和,第三笔请求一来就会触发拒绝。这个例子说明,写时序策略时,必须想清楚你是基于请求还是响应。
Dogwood与Cedar的关系及部署挑战
好消息是,现有Cedar策略无需重写。任何有效的Cedar策略都是有效的Dogwood策略,默认拒绝机制和forbid优先于permit的规则保持不变。团队选择构建独立语言而不是扩展Cedar,是因为时序求值需要状态化地追踪事件,求值时间可能随事件日志长度增长,而且时序条件不支持Cedar的自动推理分析工具。与其破坏Cedar的优雅特性,不如做一层兼容扩展。
但Apache 2.0许可证不代表你能直接拿去生产。参考解释器只是用来探索和测试的,实际部署还需要考虑可信时间戳、事件认证、持久化日志和租户隔离。这些都不是开源代码本身能给你的。
对企业上云和云服务器ECS的启示
Dogwood的出现,给企业上云的用户提了个醒:智能体权限控制不是简单写几条静态规则就完事了。尤其是跑在云服务器ECS上的业务,如果接入了大模型智能体,工具调用的安全边界必须动态化、时序化。
对国内用户来说,如果你正在规划企业上云,或者已经在使用云服务器ECS,不妨关注一下阿里云优惠。找阿里云代理商(易枫顺 - 阿里云官方旗舰级代理商)可以领取阿里云代金券,降低上云成本。当然,Dogwood本身是AWS的技术,但思路是通用的——不管用哪家云,智能体策略都需要从“单点判断”进化到“序列感知”。
FAQ
Q: Dogwood和Cedar有什么区别?
A: Cedar无状态,每次只评估一个请求,适合静态权限控制。Dogwood在Cedar基础上增加了时序条件,能读取智能体历史操作,表达操作序列约束,比如速率限制和累计金额限制。
Q: Dogwood能直接用于生产环境吗?
A: 不能。Apache 2.0许可证只代表代码开源,参考解释器主要用于探索测试。实际部署需要自己实现可信时间戳、事件认证、持久化日志和租户隔离,否则时序判断可能被伪造或篡改。
Q: 现有Cedar策略需要重写吗?
A: 不需要。任何有效的Cedar策略都是有效的Dogwood策略,默认拒绝和forbid优先的规则都不变。你可以逐步引入时序条件,不用推倒重来。
Q: 为什么针对响应事件写速率限制会不安全?
A: 因为响应事件是异步返回的,并发操作可能让多个响应在检查时都“看起来”没超过阈值。而请求事件在发起时就记录,能准确反映真实的操作意图,所以对请求求和更安全。
关于易枫顺
深圳市易枫顺网络科技有限公司是阿里云官方旗舰级代理商。提供云服务器ECS、云数据库RDS、对象存储OSS等阿里云全系产品官方特惠折扣与代金券申请,以及多云成本优化、企业上云一站式服务。客服热线:19520841949 - 易枫顺
来源:InfoQ