You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Claude 3.5 Sonnet创建AWS Bedrock Agent动作组失败:工具名称验证错误

问题原因与解决方案

核心原因

AWS Bedrock Agent 为 Claude 3.5 生成工具名称时,会遵循固定拼接规则:{HTTP方法大写}__{动作组名称}__{operationId},这个完整字符串必须完全匹配正则规则 ^[a-zA-Z0-9_-]{1,64}$。你之前只修改了 operationId,但忽略了以下两个关键问题:

  1. 拼接后的总长度超过了64字符限制
  2. 动作组名称(ActionName)包含了正则不允许的字符(比如空格、点、特殊符号等)

错误数量从4个减少到2个,说明部分操作的拼接字符串已经符合要求,剩余两个仍存在上述任一问题。

具体解决步骤

  1. 拆解拼接字符串并逐一验证
    对每个REST端点,手动拼接出完整工具名:

    <HTTP_METHOD>__<ACTION_GROUP_NAME>__<OPERATION_ID>
    

    检查两点:

    • 总字符数≤64
    • 所有字符仅包含大小写字母、数字、下划线(_)、连字符(-)
  2. 优先缩短动作组名称
    动作组名称会被每个操作的工具名重复使用,是影响总长度的关键。比如将长名称 UserAccountManagementRESTAPIActionGroup 缩短为 UserAcctAG,直接减少每个工具名的长度占用。

  3. 精简operationId
    避免冗长的命名,比如将 getUserFullProfileWithBillingDetailsById 简化为 getUserProfileById,在保留语义的前提下尽量缩短。

  4. 检查动作组名称的合法性
    确认Terraform资源 aws_bedrockagent_agent_action_group 中的 name 字段没有特殊字符(如空格、.、/等),仅使用允许的字符集。

  5. 预验证拼接结果
    在部署前,手动验证每个拼接后的工具名是否符合正则:

    • 长度在1-64之间
    • 无违规字符

示例修正

假设原拼接字符串为:

GET__UserAccountManagementRESTAPIActionGroup__getUserFullProfileWithBillingDetailsById

总长度远超过64,修正后:

GET__UserAcctAG__getUserProfileById

该字符串长度符合要求,且所有字符均在允许范围内。

内容的提问来源于stack exchange,提问作者tuffant21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 15:52:36