让 Agent 读取销售数据、生成周报并发送给负责人,至少涉及三种不同权限:访问数据、保存文件和发送消息。配置时应按动作分别授权,再限定表、目录、收件人和有效期。能读数据,不代表能修改原表;能生成报告,也不自动获得发送权限。模型写出了执行计划,每个真实动作仍要经过执行层检查。
这类边界需要放进智能体运行时(Agent Runtime)。ZGI 是可自托管的 Agent Runtime,可绑定知识、数据库、技能和工作流,并将数据库操作、文档处理、通知与审批组织为执行步骤。周报任务可以沿着这些步骤梳理必要资源,再用运行状态、步骤和输出核对实际执行情况。

一份周报,拆开四种动作
读取权限要回答"能看哪一份数据"。周报需要本部门的销售汇总,就应限定相应数据视图和时间范围,按需提供字段。查询工具仍需检查目标资源,不能只限制工具名称;同一个查询接口,也可能访问不同部门的数据。
写入权限要回答"结果能放在哪里"。生成报告所需的文件保存权限,可以限定在周报输出目录,并约定覆盖旧文件还是创建新版本。若任务只负责报告生成,就没有必要同时开放销售原表的修改和删除操作。
发送权限单独处理。报告保存成功后,发送步骤还要确认收件人、附件和渠道,必要时先呈现待发送内容。人工确认应对应这份报告和这组收件人;确认后改了目标或附件,就需要重新核对。一次同意不能变成后续任意发送的通行证。
管理权限负责改连接、改授权或调整共享范围。日常周报 Agent 通常不需要这类权限,管理动作交给负责配置的人处理。执行中遇到无权访问,应保留缺少什么权限和需要谁处理的记录,避免模型为了完成任务自行寻找权限更大的账号。
这四种动作可形成一条配置规则:读取限定来源,写入限定位置,发送限定对象,管理保留给配置人员。每条规则还应注明执行身份和有效期。这里的权限控制要求需要由接入服务、数据库或工具执行层落实,提示词中的"只访问指定目录"只能表达任务约束。
每次执行都要核对授权
工具连通,只能证明连接在测试时可用。任务真正发起请求时,还需要确认当前执行身份是否有权对目标资源执行该动作。连接授权、Agent 可用资源和外部服务权限需要分别核对,避免用一个绿色连接状态代替全部检查。
权限也会在长任务中变化。负责人撤销了发送权限,后续发送步骤就应按当前授权重新判断;若返回拒绝,任务保留已有报告,并记录未完成的交付步骤。判断依据应来自执行层的当前授权,不能只沿用模型上下文里早先的"已允许"。
人工审批应放在权限核对之后。先确认动作处于可授权的范围,再让人确认本次提交内容;审批通过后、真正执行前,还要核对身份、目标和权限是否变化。这样接手人能看见自己批准的具体对象,也能区分授权拒绝与内容未确认。
在 ZGI 中配置这类任务时,可以围绕资源绑定和工作流步骤逐项验收:读取步骤使用的表,写入步骤使用的目录,通知步骤使用的连接,以及审批后传给下一步的内容。把具体范围和拒绝条件交给实际执行组件检查,再结合运行记录判断,才能确认配置是否覆盖了整条链路。
上线前安排一次允许操作和几次越界操作:读取获准视图、访问范围外的数据、把报告保存到其他目录、向未确认对象发送,以及撤销授权后继续调用。允许路径应产出报告,拒绝路径应停在对应步骤,记录动作、目标、判断结果和待处理事项,日志中避免保存凭证或整份敏感内容。通过这组验证,再决定是否扩大任务范围。
GitHub:https://github.com/zgiai/zgi