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

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

优化工具说明

使用清晰的 MCP 工具说明,以及这些工具所需的参数的清晰说明。

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

注意说明的限制

语义治理系统对说明强制执行以下长度限制:

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

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

语义治理政策何时介入

语义治理政策专门作为对建议的工具调用 的运行时安全检查运行。在头脑风暴、规划或多轮推理期间,它不会拦截、阻止或修改用户与智能体的 LLM 之间的标准对话。只有当模型建议调用工具来执行操作时,政策引擎 (Conseca) 才会拦截和评估请求。

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

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

  • 约束 “不允许在没有明确的经理批准的情况下创建或启动任何营销活动。”
  1. 对话规划:用户询问智能体:“请帮助我为我们即将推出的秋季新品设计一项多渠道营销活动。”LLM 会与用户进行多轮自由对话,概述策略、起草电子邮件内容并优化目标受众特征。政策引擎不会 阻止或拒绝这些轮次,因为模型正在进行对话推理,而不是建议执行操作。
  2. 工具调用:策略确定后,用户会说:“看起来不错,现在启动营销活动。”LLM 会生成建议的工具调用作为响应:

    initiate_marketing_campaign(campaign_name="Fall Launch", budget=50000)
    
  3. 政策介入和拒绝 :智能体网关会拦截此建议的工具调用,并将其路由到政策引擎 (Conseca)。政策引擎会根据约束评估操作,确定会话历史记录中不存在经理批准,并发出 DENY 判决。工具调用在执行之前被阻止,并且结构化的拒绝理由会返回给智能体。

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

假设在记录适当的监督授权后,同一营销智能体:

  1. 提供批准 :用户指定:“我的经理、企业营销副总裁 (jordan@example.com) 审核了简报,并批准了我们为秋季新品发布活动提供的 50,000 美元预算。请启动该活动。”
  2. 工具调用 :LLM 建议调用操作:

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

有效约束的示例

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

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

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

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

  • 场景 :发放账号积分。
  • 工具apply_account_credit(参数:account_idcredit_amountreason_category)。
  • 有效约束“将账号积分限制为每次互动最多 50 美元。如果 reason_category 为 ‘shipping_delay’且原始订单日期距离现在不到 5 天,则不应用任何积分。”
  • 为何有效 :设置严格的金额阈值,并将其与基于时间和类别的逻辑条件相结合。

无效约束的示例

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

IT 云基础架构(主观)

  • 无效约束"确保不要创建过于 昂贵的服务器。将持续时间保持在合理的时间范围内。”
  • 为何无效 :与“合理”或“昂贵”等抽象概念相比,LLM 在处理具体数字(例如“50 美元限制”)时表现更好。

客户服务(术语不一致)

  • 无效约束 “不要在正常营业时间以外向愤怒的购物者退款。”
  • 为何无效 :“退款”与工具参数 (refund_amount) 不匹配。“愤怒的购物者”是主观的,“营业时间”在没有时区的情况下是未定义的。

语言指南

在编写约束时,请遵循以下准则:

  • 使用简单的人类语言:使用陈述句或 祈使句中的完整句子(例如,“您不得允许…”“不允许…”)。
  • 避免使用语气较弱的措辞:避免使用“我认为最好是…”“尽量 避免…”。措辞对于 LLM 评判员很重要。
  • 具体说明 :使用直接说明的限制(例如“1000 美元”“美国东部时间上午 8 点至下午 4 点”)指定约束。使用与工具和参数说明一致的措辞。
  • 避免矛盾 :确保智能体范围和工具范围约束不冲突(例如,不同的金额阈值)。

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

后续步骤