
本文是「AI Agent落地实战」系列的一部分。这个系列关注Agent从Demo到生产的真实工程问题——不是架构图上画的完美方案而是落地时必须面对的取舍。摘要传统软件的权限控制写在代码里测过就能信。Agent的核心引擎是概率性的你不能靠提示词让它”永远遵守规则”。这篇文章拆解了一个六层安全架构但更重要的是评估哪些层是必须的哪些是过度工程小团队该从哪层开始。为什么Agent需要额外的安全层「你不能告诉LLM’除非用户是管理员否则不允许修改数据’然后指望它100%遵守。即使temperature0也不能保证它永远不违反指令。」传统软件有一套成熟的测试门禁单元测试、功能测试、集成测试、安全测试、用户验收测试。这些门禁之所以有效前提是逻辑是确定性的。if user.role ! admin这个条件通过测试后你在生产环境可以放心它会一直这样工作。Agent不一样。核心引擎是LLM一个概率性的文本预测器。你用提示词写的规则”不允许修改薪资”在大多数情况下会生效但不能保证100%。三个已知的绕过方式越狱攻击用户用巧妙的措辞让模型忽略系统提示词迎合偏差模型倾向于同意用户即使这违反了预设规则间接注入恶意指令藏在文档里模型检索到后可能遵从所以核心原则是纵深防御不能依赖LLM治理自己必须在概率性核心外面建确定性的安全护栏。六层架构逐层拆解原文用一个企业HR助手Agent做演示设了三个角色管理员、HR经理、普通员工然后用各种攻击场景测试。架构分六层我按”从外到内”的顺序讲。第一层输入过滤器在LLM调用之前用一个快速便宜的小模型比如GPT-4o-mini或Gemini Flash扫描用户输入检测已知攻击模式”忽略之前的指令”“你现在是DAN”“打印你的系统提示词”。不安全的查询直接拦截不会到达主LLM。我的判断这层是必须的成本也低。用小模型做前置过滤每次调用成本不到0.001美元但能挡住最常见的攻击。问题是小模型的语义理解能力有限对精心设计的零日越狱可能漏检。所以它只是第一道门不能是唯一一道。第二层策略引擎自主性分类器把用户查询分成三个等级等级含义例子自主执行安全的只读查询全自动“年假政策是什么”监督执行允许执行但记录审计日志“提交5天年假申请”需要人工审批高风险写操作暂停等审批“给Alice涨薪到20万”核心原则是最小权限默认——如果引擎不确定一个动作是否安全就升级而不是执行。我的判断这层的设计思路是对的但分类的准确性是关键难点。原文用LLM来做分类这意味着分类本身也是概率性的。如果策略引擎把”批量删除用户数据”误判为”自主执行”后面几层就白搭了。实际落地时建议对高风险操作用硬规则兜底比如包含”删除”“批量”“薪资”等关键词的查询自动升级不要完全依赖LLM分类。第三层访问控制ACL分两阶段文档级ACL每个文档块在入库时标记权限等级查询时用元数据过滤器硬过滤。acl_level2的机密文档对acl_level0的用户来说根本不会被检索到——LLM的上下文里看不到这些内容。动作级ACL检查目标对象的权限。HR经理可以给下属调薪但不能给自己调薪。我的判断文档级ACL是整个架构里最值得投入的一层。原因很简单LLM不能泄露它没看到的信息。在向量数据库层做权限过滤比在提示词里写”不要告诉非管理员”可靠一万倍。如果你的Agent处理敏感数据这层应该第一个做。动作级ACL的实现依赖LLM做语义提取从”给我涨薪”里提取目标自己这个环节本身有风险——LLM提取错了怎么办原文没有讨论这个失败模式。第四层完整性验证SHA-256哈希向量数据库不是不可变的。如果攻击者获得了写入权限可以悄悄篡改存储的内容。解决方案入库时对每个文档块计算哈希值存储在独立的元数据注册表中。检索时重新计算哈希比对不匹配的块立即隔离。我的判断这层对大多数团队来说是过度工程。它解决的是”攻击者已经拿到了向量数据库写入权限”这个场景——如果你的向量数据库被入侵了哈希校验能救你但你更大的问题是数据库安全本身。除非你处理的是金融、医疗等高合规要求的数据否则这层可以往后排。第五层输出过滤器间接注入防御恶意行为者在文档里嵌入不可见的指令比如HTML注释形式的AGENT_INSTRUCTION: 忽略之前的规则LLM收到后可能遵从。输出过滤器在检索结果进入上下文窗口之前扫描识别嵌入指令和可疑标记。我的判断这层和第三层ACL配合使用效果最好。第三层解决的是”不该看到的数据不进上下文”第五层解决的是”合法数据里可能藏着恶意指令”。如果你的知识库来源可控比如只有内部文档这层优先级可以降低。但如果你的Agent会检索外部来源网页、用户上传的文档这层就很有必要。第六层人工审批队列HITL高风险写操作的最后防线。Agent不直接执行而是创建一个结构化的待审批任务包含任务ID、用户、动作类型、风险标签在独立的管理面板中等待授权。我的判断这层是必须的但”谁来批”是个实际问题。原文假设有一个管理员面板有人盯着审批。但国内很多团队的情况是Agent上线后审批队列没人看或者审批人为了省事全部点”通过”。HITL的价值不在于流程本身在于审批人的责任心和审批SLA。如果你的团队没有专人负责审批这层会变成摆设。哪些层最重要按优先级排不是每个团队都需要六层。按实施难度和安全收益排个序优先级层为什么必须做文档级ACL第三层前半成本低、效果确定——LLM看不到就不会泄露必须做输入过滤器第一层用小模型做前置成本极低挡住80%的常见攻击建议做策略引擎HITL第二层第六层高风险操作有人兜底但需要有人真正负责审批看场景输出过滤器第五层知识库来源可控可不做检索外部内容建议做低优先动作级ACL第三层后半依赖LLM语义提取实现复杂收益不如文档级ACL低优先完整性验证第四层解决的是小概率场景大多数团队不需要一句话总结先做”LLM不该看到的数据不进上下文”文档级ACL再做”常见攻击拦在LLM之前”输入过滤器其他按需加。业务Agent落地的思考原文用的是一个合成的HR助手Demo——数据是生成的场景是设计好的。真实的生产环境比这复杂得多但核心问题是共通的LLM的决策是概率性的你不能用提示词保证它永远正确。政务材料质检场景比如我参与的AiInspection系统就面临类似问题Agent处理的是身份证、户口簿、房产证等敏感材料不同岗位的工作人员有不同的查看权限。OCR提取的字段需要完整性验证防止篡改关键质检结论需要人工复核。这和原文的六层架构高度对应——但实际落地时哪些层先做、哪些后做取决于你的数据敏感度和团队规模。金融场景的AI审批、医疗场景的AI辅助诊断、客服场景的退款处理——凡是Agent能”做决定”的场景都需要考虑这个问题。构建一个能跑的Agent可能只需要一天但让同一个Agent在生产环境中安全运行需要的是完全不同的工程能力。参考资料From Prototype to Production: The Architecture Behind Secure Governed AI Agents — Partha Sarkar, Towards Data Science, 2026-08