导语:
当日与近期的AI热度从“能写能画”转向“能执行”。Agent 能调用工具、触达真实系统,带来了巨大的效率,也带来越权、错误执行与不可追溯风险。要让 Agent 在生产中可控,必须把“安全工具调用、责任链记录、在线评测”做成默认能力。本文给出一套工程化落地方案,并附上可直接复用的SOP与检查表。
1. 目标与指标:明确“可控”意味着什么
为避免空泛,先用指标定义可控:
- 权限最小化:每个工具调用有独立的权限范围和过期时间;越权事件=0。
- 可审计:每次调用有责任链:谁触发、用什么策略、在哪个上下文、结果如何。
- 可复现:同一输入 + 同一策略 + 同一知识库/配置,可重放得到等价结果。
- 可降级:触发风险时自动降级为“只读”或“拒绝执行”模式。
2. 架构最小闭环:策略、沙箱、证据包
- 策略中心:把可调用工具、参数白名单、敏感操作列表、预算上限写成策略(Policy-as-Code)。
- 执行沙箱:工具调用在隔离环境执行(网络白名单、文件系统隔离、超时与资源配额)。
- 证据包(Evidence Pack):每次对话/执行输出一份 JSON,记录策略版本、输入输出、调用链、成本与评测。
证据包推荐字段:
request_id、user_id/tenant、policy_version、kb_versiontool_calls: 工具名、参数、执行结果、耗时、退出码、限制条件decision_trace: 模型思考/路由决策摘要eval: 在线评测得分(安全/质量/成本)
3. 安全工具调用:三层硬措施
3.1 权限与范围
- 每个工具定义动作级权限(读/写/删除/配置),绑定租户/项目/区域。
- 参数白名单+正则校验;危险参数需要二次确认。
- 设定预算:调用次数、时延、费用上限;超额自动拒绝。
3.2 沙箱与隔离
- 执行容器使用最小镜像,限制网络到特定域名,禁止 0.0.0.0/内网。
- 文件系统只读,输出通过挂载的
/out目录回传;必要时使用临时 token。 - 设定超时与并发上限,记录超时与拒绝事件。
3.3 风险拦截
- 关键词/命令黑名单(如
rm -rf /、大规模导出、敏感路径)。 - 行为级拦截:检测高风险模式(循环创建资源、爆量请求)。
- 触发拦截后写入审计日志并进入人工复核队列。
4. 在线评测与门禁:让质量与安全自动化
4.1 评测集
- 质量集:高频任务 + 关键流程(如工单、报表、审批)。
- 安全集:越权、数据泄露、提示注入、防钓鱼场景。
- 成本集:复杂任务的时延与 token 预算。
4.2 门禁流程
- 离线回归:每日定时跑全量评测集,生成趋势图。
- 影子评测:线上请求抽样,做“影子执行”并评分,不影响用户。
- 灰度门禁:新策略/新模型上线前跑一轮评测;阈值不达标自动阻断。
5. 可执行SOP(团队可直接使用)
步骤 1:策略落库
- 将工具、参数白名单、敏感动作写入策略仓库(YAML/JSON),走 PR 审核。
- CI 校验策略格式与冲突,生成
policy_version。
步骤 2:接入沙箱
- 将工具执行封装成受限容器,限制网络、文件与超时。
- 在运行时注入仅当前请求可用的短期 token。
步骤 3:记录证据包
- 在对话/执行结束后写入 Evidence Pack(存储到对象存储/日志系统)。
- 对敏感字段做脱敏;为复盘提供完整链路。
步骤 4:上线门禁
- 运行离线评测与影子评测,生成报告;未达阈值阻断。
- 灰度 1%-10%-50%-全量,设置停止条件(质量/安全/成本)。
步骤 5:复盘与改进
- 每周抽取失败案例复盘:策略缺口、工具返回异常、模型幻觉。
- 形成“策略修订-评测验证-上线”的闭环。
6. 风险与对策
- 越权执行:默认“只读+白名单参数”,敏感操作需二次确认或人工审查。
- 幻觉导致错误指令:先检索,再“引用驱动”的提示模板;对高风险操作要求引用匹配。
- 成本失控:路由分层(高价值任务走强模型,低价值走轻量/缓存),并设置 token 预算。
结语:
Agent 的生产化关键不在“智商”,而在“规矩”。把策略、沙箱与证据包做成默认流程,再用评测门禁持续收敛,Agent 就能在真实业务里安全、可控、可审计地工作。