Abnormal AI:用 Amazon Bedrock AgentCore 大规模构建智能邮件安全防护

AWS ML Blog 2026-09-15T06:21:09.512869

AI 智能体如今已在生产环境中大规模运行,每天执行数十亿次操作。一个反复出现的架构模式也随之浮出水面:智能体需要一个“计算暂存区”。不光写代码时需要,在做数据聚合、分析、验证,以及任何光靠语义推理不够用的工作流时,都用得上。

Abnormal AI 是一家行为安全服务商,为超过 25% 的《财富》500 强企业提供防护。他们部署了 Amazon Bedrock AgentCore Code Interpreter(AgentCore 代码解释器),这是 Amazon Bedrock AgentCore 的一项能力,用于支撑其实时在线邮件威胁检测的智能体。这些系统目前已在生产环境运行,每天处理数十亿封邮件,并以同等规模执行智能体驱动的代码,在邮件进入收件箱之前就检测并拦截威胁。这也是 Abnormal AI 开发方式的一部分:如今他们有 80% 的代码变更借助智能体完成,其中 40% 完全由后台智能体端到端构建(纯 AI 生成,而非 AI 辅助)。把 AgentCore Code Interpreter 用于威胁检测,正是这套 AI 原生思路在生产运行时的延续。

本文将介绍 Abnormal AI 如何设计这些系统、其沙箱方案背后的设计取舍,以及开发者在大规模部署 Code Interpreter 时的实战经验。

什么是 Amazon Bedrock AgentCore Code Interpreter?

Amazon Bedrock AgentCore Code Interpreter 提供了一个全托管、无服务器的运行时,让智能体可以动态执行代码。主要特性包括:

内置可观测性:日志会发送到 Amazon CloudWatch 和 AWS CloudTrail,方便监控。更关键的是,Code Interpreter 本身以 API 的形式对外暴露,因此它不会规定智能体必须走什么流程,只是提供一个「盒子」——智能体可以在里面执行命令、上传文件、取回结果。对于已经有一套智能体基础设施的团队来说,这种即插即用的设计让集成变得非常简单。

图 1:Amazon Bedrock AgentCore Code Interpreter 架构。智能体调用 Code Interpreter API,创建一个临时的 MicroVM 沙箱会话,用于执行代码、输入输出文件以及取回结果

智能体为什么需要一块「计算草稿纸」

大语言模型(LLM)擅长推理和语义连贯,但现实中的很多操作根本用不上语义推理:

把大语言模型和 Code Interpreter 搭配起来,就能让智能体的能力超出单纯推理所能达到的范围。

「几乎任何智能体,不管它写不写代码,都需要一个代码解释器沙箱,让它能真正把数据算一算、得出答案。」
—— Shrivu Shankar,Abnormal AI 人工智能战略副总裁

Abnormal AI 的架构:十亿级消息下的三层检测

Abnormal AI 每天要处理数十亿封邮件,走的是一套三层检测架构,如图 2 所示。

图 2:Abnormal AI 的三层邮件检测流水线。第一层(启发式规则,每天数十亿封)、第二层(机器学习模型,每天数百万封)、第三层(内联智能体配合 Code Interpreter,每天数万封)。每一层处理的都是上一层拿不太准、难度更高的案例

第一层——大吞吐量轻量分类(每天数十亿封)

用小型模型、启发式规则和轻量分类器(逻辑回归)来处理最大的流量。

这个规模下,跑更大的模型既费钱又没必要,因为大多数邮件不做深度分析也能分类。

第二层——中等模型处理不确定的邮件(每天数百万封)

第一层拿不准的邮件会进入深度学习和机器学习(ML)模型做更深入的行为信号分析。

第三层——Code Interpreter 内联代理(每天数万封)

最难判断的邮件通常需要人类分析师介入,现在交给内联代理处理。这些代理接收威胁情报数据,在沙箱里分析,动态编写脚本,然后评估它如何融入整体行为模型并做出判断。误判由另一套系统处理,它会从中学习并持续改进整个系统。还有多种监控系统对线上系统进行验证。

分析师代理——批量情报

除了图 2 中的实时分类流水线,Abnormal 还部署了一个批量模式运行的分析师代理(图 3):

图 3:分析师代理反馈循环,批量代理从实时流水线接收误判数据,用 Code Interpreter 会话分析模式,再把改进后的启发式规则和模型反馈给第一层和第二层

这些批处理任务可以运行超过 30 分钟,期间 Code Interpreter 会话保持活跃。它们也能跨越一整天的操作,代理间歇性地使用 Code Interpreter。比如,它先运行一个会话,在外部训练模型,然后重新调用 Code Interpreter 来处理结果。

安全:零信任沙箱设计

Abnormal 选择无出口(no egress)配置的 Code Interpreter 沙箱,出于两点考虑:

其他安全实践:

经验与最佳实践

Abnormal AI 在生产环境运行 Code Interpreter 的过程中,总结出几条实践:

1. 给智能体想要的东西

轻量、通用的框架比死板的逐步工作流效果更好。给出解决问题的高层原则,让智能体自己决定怎么做。

2. 每个智能体都需要草稿纸

Code Interpreter 不只服务于编码类智能体。分析邮件的安全智能体也能借助计算草稿纸做数据聚合、模式分析和验证。

3. 用程序化验证器当护栏

有了程序化验证工具,智能体的输出质量更高。单元测试、集成测试和 lint 检查让智能体能在沙箱内自测,再交付最终结果。

4. 用文件系统做长任务的恢复点

对于超出 Code Interpreter 会话时长的操作(比如模型训练),用文件系统做检查点。用 Code Interpreter 做计算,把状态写入文件,在外部执行长时操作,再重新调用 Code Interpreter 处理结果。

分析师智能体(图 3)就用这套模式,完成长达一整天的模型训练任务。

结论

Abnormal AI 的实践揭示了一个关键认知:对生产级智能体系统来说,Code Interpreter 不只是写代码的工具,而是智能体用来做计算推理的基础设施。他们把 AgentCore Code Interpreter 提供的托管安全沙箱,和自己轻量的智能体框架结合起来,实现了两件事:

不管你是做安全智能体,还是搭建需要智能体处理数据、验证自己输出的系统,这套模式的思路都很清楚:给智能体一张草稿纸,并且更相信它的验证结果,而不是它的口头结论。

下一步

Abnormal AI 是 AWS 客户。本文中的观点和意见来自该客户,不代表 Amazon Web Services 的立场。

关于作者

Aswin Vasudevan

Aswin 是 AWS 安全与 ISV 领域的资深解决方案架构师。他热衷于生成式 AI 和无服务器架构,喜欢与客户合作,打造能带来业务价值的方案。

Felipe Lopez

Felipe 是 AWS 的首席 AI/ML 专家解决方案架构师。加入 AWS 之前,他曾在 GE Digital 和 SLB 工作,负责工业应用的建模与优化产品。

Shrivu Shankar

查看原文