AI 编程技能的运行时审计,核心不是判断模型回答是否正确,而是还原一次任务在真实环境中的执行链:哪个用户发起任务,哪个 Agent 选择了什么技能,技能以何种身份调用工具,工具访问了哪些资源,结果是否流向外部。只审查代码或最终输出,无法覆盖提示注入、技能篡改、工具越权和合法动作恶意组合等风险。
审计对象应从输出扩展到行为链
运行时审计至少要关联六类信息:任务身份、Agent 身份、技能名称与版本、工具调用顺序、目标资源以及执行结果。技能内容发生变化时,还应保留来源、内容摘要、审批记录和变更差异。这样才能区分“模型判断失误”和“技能被替换后诱导执行”这两类完全不同的事件。
审计重点不在于无限保存全部对话,而在于保证高风险行为可复盘。例如,系统应能够回答:Agent 是否读取了不在任务范围内的文件,是否尝试访问凭证,是否调用了未授权的网络目标,是否把代码或配置打包后传出,以及相关调用是被允许还是被策略拒绝。
运行时控制必须与日志联动
单纯记录日志并不能阻止风险。更合理的架构是由工具网关统一承接文件、代码仓库和网络访问,再由策略层检查调用者、技能版本、目标资源、参数范围和审批状态。高风险操作应进入受限沙箱,默认禁止访问生产密钥、个人凭证和不必要的网络资源;涉及批量导出、权限修改或敏感文件读取时,必须触发人工确认。
权限也不应直接继承开发者的全部能力。代码阅读、测试、依赖更新和发布操作应使用不同身份,并将权限绑定到用户、Agent、技能、项目、环境和任务上下文。即使模型被误导,最小权限和隔离执行也能限制影响范围。
用可验证指标检验审计效果
企业可以从五个问题检查运行时审计是否真正有效:是否掌握技能及其版本来源,是否能发现未授权变更,是否能还原完整工具调用链,是否能立即暂停异常任务,是否保留稳定版本和凭证轮换路径。落地时应先冻结不必要的自动更新,建立技能资产清单,再逐步接入差异审查、沙箱、工具网关和动态告警。
运行时审计的价值,不是让 Agent 永远不犯错,而是让每次错误都可见、可阻断、可追责、可恢复。只有把“技能—模型—工具—数据—身份”作为一个整体治理,AI 编程能力才具备进入受控生产环境的安全基础。