Palantir 的 AI 平台跑在地球上最注重安全的那些组织里;有人把它的架构文档拆开,总结出一份"agent 栈到底需要什么"的清单,并指出其中大部分可以直接抄进你自己的项目。(转述自原帖,细节以 Palantir 官方文档为准)
六层设计,每层都对应一个常见事故的预防。一,本体层代替裸数据:agent 看到的是业务对象(订单、客户、资产)与一份固定动作清单——像 update_order_status 这样的类型化工具,永远不给裸 SQL;二,agent 与模型之间必须有一层网关:PII 在 prompt 出门前就脱敏、响应缓存、失败重试、限流与 token 计量,所有 LLM 调用只走一个入口(LiteLLM 或自建包装);三,模型可换:目录加自带模型,模型名放配置里,切换供应商是一行改动;四,三种启动方式——定时(cron)、事件(webhook)、API 调用,背后是同一个 agent;五,evals 内嵌生命周期:发布前测一次、每次变更后再测一次,一小撮跑在 CI 里的评测覆盖 prompt 的每处编辑;六,每个动作都记日志:token、工具调用、谁触发的,用 Langfuse 或 OpenTelemetry 端到端可追。
之上还有一道总闸:权限三重检查——按角色、按数据密级、按用途,agent 只拿到运行者本人的那份权限。
这张清单的价值在于它把今晚散落的几条线一次收拢了。"评测不是质检、是变更的准入证"那篇讲的第五层,Palantir 直接放进了 CI:prompt 一改就跑那张小表;"能随时撤"讲的回滚底气,藏在第二层的网关与缓存里;"护栏不该拆"的三重权限检查,则把"模型聪明不代表可以放行"落成了可执行的判断。
最安全的公司没有发明新轮子——他们把每一条朴素纪律都写成了架构位置;六层没有一层依赖"模型会自觉",全部是结构。
尤其值得抄的是"本体层"那一笔。多数团队的 agent 事故不是模型笨,是入口就给错了:裸 SQL、自由文件读写、无边界 API——把世界的形状交给模型自己猜,猜错就是事故。Palantir 的做法是先把业务对象与合法动作写死,模型的自由度被限制在"选择"而非"定义"上:你不是在约束它的能力,是在声明这个系统允许存在的动作集合。这一层做完,后面的缓存、重试、日志才有意义——顺序反了,全是空中楼阁。
给要搭企业 agent 的人一句落地的:别从选模型开始,从那六层开始——先划本体(对象与动作清单)、再立网关(脱敏与计量)、然后才是模型、触发、评测与日志,最后叠三重权限。照这个顺序,模型只是配置里的一行;反过来做,六层都会变成补丁。
今晚那句"塔尖留订阅、长尾搬回家"的姊妹版可以写在这里:能力可以外采,结构必须自持——六层缺一层,安全感就得从别人的产品页里找了。













