真实面经题目 · 原创解析
高风险在线环境中的 Agent 异常管控体系应如何设计,覆盖权限分级、执行隔离、熔断止损和审计追踪?
这题考的是高风险在线 Agent 的工程治理能力,重点不是说模型更聪明或加人工确认,而是把权限、工具、执行环境、熔断止损、可观测性和审计恢复设计成一套闭环。
真实面经题目 · 原创解析
这题考的是高风险在线 Agent 的工程治理能力,重点不是说模型更聪明或加人工确认,而是把权限、工具、执行环境、熔断止损、可观测性和审计恢复设计成一套闭环。
我会把高风险在线 Agent 的异常管控拆成事前、事中和事后三层。事前先做风险分级:把工具和动作按只读查询、低风险写入、高风险状态变更、资金或权限相关操作分层,不同层级对应不同授权、参数校验、幂等要求和人工确认。事中要做执行隔离和实时保护:Agent 不能直接拿到无限权限,而是通过受控工具网关调用白名单工具,带上租户、用户、任务、权限和 trace 信息;高风险工具需要沙箱、配额、超时、重试上限、二次确认、dry-run 或审批;模型输出要经过 schema 校验、策略校验和业务规则校验后才能执行。运行中还要有熔断和止损,例如循环次数、连续失败、异常调用频率、风险分数、外部系统错误率、成本和延迟超过阈值时停止自动执行,降级到只读、建议模式或人工处理。事后要有完整审计和恢复:记录 prompt、模型版本、工具入参出参、决策原因、审批人、执行结果和回滚动作,便于复盘、追责、补偿和规则迭代。回答时要强调核心原则是最小权限、可验证执行、可停止、可回滚、可追踪,而不是让 Agent 在高风险环境里自由行动。
高风险不是一个情绪词,而是指 Agent 的动作可能改变线上状态、影响用户权益、触发财务损失、泄露敏感数据、扩大故障或绕过权限边界。回答时先把风险对象说清楚:读操作、写操作、跨系统调用、批量操作、权限操作、资金相关操作和外部通知的风险级别不同,对应的防护也不能一样。
Agent 不应该拿一个全能凭证直接访问业务系统。更合理的是通过工具网关暴露能力,每个工具声明 scope、参数 schema、幂等键、最大影响范围、是否可回滚、是否需要人工确认和审计等级。只读工具可以自动执行,低风险写入需要严格参数校验,高风险操作需要审批、二次确认或先生成执行计划,资金、权限和批量变更默认不能静默执行。
模型自然语言不能直接等同于业务动作。Agent 应先输出结构化计划,包括目标、涉及对象、调用工具、关键参数、预期影响、回滚方式和风险等级。执行器再做 schema 校验、权限校验、业务规则校验、对象归属校验和影响面估算。校验不通过时进入澄清、拒绝或人工处理,而不是让模型继续猜。
在线 Agent 要限制每个任务的工具调用次数、最大运行时长、token 或成本预算、并发量、重试次数和外部系统写入量。工具调用应有超时、幂等、退避、熔断和降级策略;连续失败、重复计划、循环调用、命中敏感工具、风险分数升高或下游错误率升高时,要停止自动执行并切到只读解释或人工接管。
高风险环境通常既要求安全,也要求业务可用。因此异常处理要分级:低风险异常可以重试或换工具;模型不确定可以澄清;依赖超时可以返回部分结果;高风险动作失败要冻结后续写操作;疑似越权或批量误操作要立即熔断并告警。好的回答会说明每类异常的处理路径,而不是只说失败了就报警。
所有关键决策都要可追踪,包括用户输入、系统提示词版本、模型或策略版本、检索证据、工具调用、审批记录、执行结果、错误码和回滚动作。审计日志既用于事故复盘,也用于离线评估、规则更新和权限收敛。高风险操作还要预先设计补偿或回滚机制,否则即使能拦截一部分问题,也无法承担线上误执行的后果。
通常是不可逆、影响资金或权限、批量影响用户、跨系统写入、外部通知、低置信度但高影响面的操作。人工确认最好确认结构化计划和影响面,而不是只确认一段自然语言。
可以看连续相同或相似工具调用、计划反复改写但状态不前进、同一错误码重复出现、token 和调用次数快速消耗、任务状态机长时间停在同一节点,以及模型反复尝试越权参数。
无限重试会放大下游压力、重复写入风险和成本,也可能把一次外部依赖故障变成 Agent 自身事故。需要幂等键、重试上限、退避、错误分类和熔断。
至少包括任务 id、用户和租户、模型和 prompt 版本、风险等级、工具名、入参出参、权限校验结果、审批记录、执行结果、错误码、trace id 和回滚或补偿动作。
可以用离线红队用例、工具误调用回放、越权参数测试、循环任务测试、依赖超时注入、灰度流量监控和事故演练来验证,并看拦截准确率、误杀率、止损耗时、回滚成功率和审计可复盘率。