使用语义治理政策的最佳实践

有效的治理依赖于对工具及其参数提供准确、清晰且完整的描述。智能体系统(包括智能体本身和语义治理政策等治理层)需要比人类更多的细节才能了解可用工具的适用性。

优化工具说明

清晰描述 MCP 工具,并清晰描述这些工具所需的参数。

  • 工具说明不够充分:“搜索商品”。
  • 有效的工具说明:“按关键字、演员、流派或格式搜索内容目录。当用户想查看哪些电影或电视节目可供观看时,请使用此 intent。返回按相关性排序的前 10 个商品。

注意广告内容描述的限制

语义治理系统会强制实施以下广告内容描述长度限制:

说明项 适用对象 长度限制
工具 MCP 服务器或其他工具公开实体 1000 个字符
操作 MCP 服务器中的单个工具,或可供智能体使用的函数调用 750 个字符
参数 工具或函数调用中使用的形参 300 个字符

如果语义治理运行时收到的说明超出上述任何限制,它会将说明截断到指定限制,并记录一条消息。

语义治理政策的介入时机

语义治理政策专门用于对提议的工具调用执行运行时安全检查。在多轮头脑风暴、规划或推理期间,它不会拦截、屏蔽或修改用户与代理的 LLM 之间的标准对话式对话。政策引擎仅在模型提议调用工具来执行操作时拦截并评估请求。

场景 1:对话优化与工具执行(工具调用被拒绝)

假设有一个智能体,它具有 initiate_marketing_campaign 工具,并受以下限制的约束:

  • 限制: “禁止在未经经理明确批准的情况下创建或发起任何营销广告系列。”
  1. 对话规划:用户向代理提出问题:“帮我为我们即将推出的秋季新品设计一项多渠道营销活动。”LLM 可以与用户进行多轮自由对话,概述策略、起草电子邮件内容并优化目标受众特征。政策引擎不会阻止或拒绝这些对话轮次,因为模型是在进行对话推理,而不是提出行动建议。
  2. 工具调用:当策略最终确定后,用户说:“看起来不错,现在开始启动营销活动。”LLM 会生成建议的工具调用作为回答:

    initiate_marketing_campaign(campaign_name="Fall Launch", budget=50000)
    
  3. 政策干预和拒绝:Agent Gateway 会拦截此提议的工具调用,并将其路由到政策引擎。政策引擎会根据限制条件评估操作,确定会话历史记录中不存在经理审批,并发布 DENY 判定。工具调用在执行之前被阻止,并向代理返回结构化的拒绝理由。

场景 2:符合政策的工具执行(允许的工具调用)

在适当的监督授权记录在案后,同一位营销代理会发生以下变化:

  1. 提供审批:用户指定:“我的经理(公司营销副总裁,jordan@example.com)已审核简报,并批准了我们为秋季发布活动设定的 5 万美元预算。请发起对话。”
  2. 工具调用:LLM 建议调用以下操作:

    initiate_marketing_campaign(campaign_name="Fall Launch", budget=50000, approval="jordan@example.com")
    
  3. 政策评估和审批:政策引擎拦截工具调用,在对话轮次历史记录中验证是否记录了经理审批,并发布 ALLOW 判决。Agent Gateway 会将调用转发到基础工具端点,从而使操作正常进行。

有效限制条件示例

良好的约束条件可消除歧义,指定确切的限制(财务、时间或地理位置),并使用与代理使用的工具相匹配的语言。

IT 云基础架构(安全性和费用控制)

  • 场景:测试环境。
  • 工具: provision_cloud_server(参数:region、instance_type、duration_hours)。
  • 工具说明:提交请求以在特定区域中使用特定实例类型预配云服务器,并持续给定的时间时长。
  • 有效限制条件: “仅允许在‘us-east’或‘eu-west’区域中预配云服务器。拒绝任何预配“gpu-large”或“gpu-xlarge”实例类型的请求。将 duration_hours 参数限制为最多 72 小时。”
  • 为何有效:使用的语言与工具说明一致,并明确提及工具接受的参数。

电子商务客户服务(财务保障措施)

  • 场景:发放账号抵扣金。
  • 工具: apply_account_credit(参数:account_id、credit_amount、reason_category)。
  • 有效限制: “将每次互动的账号抵扣金额限制为最高 50 美元。如果 reason_category 为 'shipping_delay' 且原始订单日期距今不到 5 天,则不应用任何赠送金额。”
  • 原因:设置严格的金额阈值,并将其与基于时间和类别的逻辑条件相结合。

无效的限制条件示例

不良的限制条件通常含糊不清、使用主观语言,或者无法直接映射到工具或工具参数的说明。

IT 云基础设施(主观)

  • 低效的限制条件: “请确保不要创建过于昂贵的服务器。将时长控制在合理范围内。”
  • 失败原因:与“合理”或“昂贵”等抽象概念相比,LLM 在处理具体数字(例如“50 美元限额”)时表现更好。

客户服务(术语不一致)

  • 无效的限制: “不要在正常营业时间以外的时间向愤怒的买家退款。”
  • 失败原因:“退款”与工具参数 (refund_amount) 不匹配。“愤怒的买家”是主观的,“营业时间”未定义时区。

语言使用指南

在撰写限制条件时,请遵循以下准则:

  • 使用通俗易懂的人类语言:使用陈述句或祈使句形式的完整句子(例如“您不得允许…”或“禁止…”)。
  • 避免使用语气较弱的措辞:避免使用“我认为最好是…”或“尽量避免…”。措辞对于 LLM 评判员来说至关重要。
  • 具体说明:直接说明限制条件(例如“1000 美元”“美国东部时间上午 8 点到下午 4 点”)。使用与工具和参数说明一致的措辞。
  • 避免出现矛盾:确保代理范围和工具范围限制不会相互冲突(例如,不同的美元阈值)。

测试限制条件:您可以使用试运行模式测试自然语言限制条件,该模式会评估政策,但不会强制执行。

后续步骤