Abnormal AI 在十亿级邮件场景下部署 Bedrock AgentCore Code Interpreter 实
详细分享了将 Bedrock AgentCore Code Interpreter 作为临时计算草稿板用于实时邮件威胁检测的沙箱设计、架构决策和生产落地教训。
完整中文译文
AI Agent 现在已在生产环境中运行,日均数十亿次操作,一个反复出现的架构模式浮出水面:Agent 需要一块计算草稿板。这不仅适用于编码任务,还适用于数据聚合、分析、验证,以及任何仅靠语义推理不够的工作流。
Abnormal AI 是一家行为安全服务提供商,守护着超过 25% 的 Fortune 500 企业。他们已部署了 Amazon Bedrock AgentCore Code Interpreter,这是 Amazon Bedrock AgentCore 的一项能力。Abnormal AI 将其用于支持实时内联邮件威胁检测的 Agent。这些系统目前在生产环境中运行,日均处理数十亿条消息,并以同等规模执行 Agent 驱动的代码,在威胁到达收件箱之前对其进行检测和拦截。
这项工作是 Abnormal AI 构建软件的方式的一部分。目前,其代码变更中有 80% 以某种方式借助 Agent 构建,其中 40% 由后台 Agent 从头到尾完成构建(完全由 AI 构建,而非 AI 辅助)。他们将 AgentCore Code Interpreter 用于威胁检测,体现了同样 AI 原生的方法应用于生产运行时的方式。
在本文中,我们将分享 Abnormal AI 如何构建这些系统、其沙箱方案背后的设计决策,以及面向大规模部署 Code Interpreter 的实践者的经验教训。
什么是 Amazon Bedrock AgentCore Code Interpreter?
Amazon Bedrock AgentCore Code Interpreter 为 Agent 提供了一个完全托管的无服务器运行时,用于动态执行代码。其关键特性包括:
临时 MicroVM 会话:可配置存活时间,默认 15 分钟,最长可达 8 小时,适用于长时间运行的任务。
安全性:会话在安全沙箱中运行,在主机操作系统层面完全隔离,有助于防止会话之间的意外数据泄露。
灵活的网络:可配置为沙箱 VPC 模式或公共互联网访问。
文件处理:通过 API 直接处理最多 100 MB,或连接到 Amazon S3 以处理更大的数据集。
预加载运行时:Python 和 Node.js 环境,内置常用可视化、统计和数据处理库。
内置可观测性:日志发送至 Amazon CloudWatch 和 AWS CloudTrail 用于监控。
关键在于,Code Interpreter 以 API 形式暴露。这意味着它不决定 Agent 的工作流,而是提供了一个盒子,让 Agent 可以在其中运行命令、上传文件并获取结果。对于已有 Agent 基础设施的团队来说,这种即插即用的设计使集成变得简单。
图 1:Amazon Bedrock AgentCore Code Interpreter 架构,其中 Agent 调用 Code Interpreter API 来配置临时 MicroVM 沙箱会话,用于代码执行、文件输入输出和结果检索
为什么 Agent 需要计算草稿板
大型语言模型(LLM)在推理和语义连贯性方面表现出色,但许多现实世界的操作并不映射到语义推理:
基础数学和计数:"过去一小时我们检测到多少封钓鱼邮件?"这需要计算,而非语言生成。
数据处理和可视化:将原始数据转换为图表、PDF 或结构化报告。
代码验证:运行单元测试、linting 和集成测试来验证 Agent 生成的输出。
通过将大型语言模型与 Code Interpreter 配对,你可以将 Agent 的能力扩展到单纯推理无法达到的水平。
"几乎任何 Agent,无论是否在写代码,都需要一个代码解释器沙箱,让它能够真正处理数据并得出答案。"
—— Shrivu Shankar,Abnormal AI AI 战略副总裁
Abnormal AI 的架构:十亿消息规模的三层检测
Abnormal AI 通过三层检测架构处理数十亿封邮件消息,如图 2 所示。
图 2:Abnormal AI 的三层邮件检测管道,第一层(启发式规则,日均数十亿)、第二层(机器学习模型,日均数百万)和第三层(配备 Code Interpreter 的内联 Agent,日均数万),每层处理前一层不确定的、难度逐步递增的案例
第一层 —— 大容量轻量级分类(日均数十亿)
小型模型、启发式规则和轻量级分类器(逻辑回归)处理最大量的流量。在这个规模下,运行更大规模的模型既成本高昂也没有必要。大多数消息无需深度分析即可分类。
第二层 —— 中等规模模型处理不确定案例(日均数百万)
第一层不确定的消息流入深度学习和机器学习(ML)模型,执行更细致的行为信号分析。
第三层 —— 配备 Code Interpreter 的内联 Agent(日均数万)
最难处理的案例,通常需要人工分析师评估的案例,由内联 Agent 处理。这些 Agent 接收威胁情报数据并使用沙箱进行分析,动态编写脚本。然后评估其如何融入整体行为模型并做出判断。误分类由单独的系统处理,该系统会学习并改进系统。各种监控系统验证生产系统的运行状况。
分析师 Agent —— 批量智能
除了图 2 所示的实时分类管道,Abnormal 还部署了一个以批量模式运行的分析师 Agent(图 3):
从检测管道中摄入误分类和调优信号。
识别大型消息集中的模式和趋势。
自主为第一层编写启发式规则的候选草案,基于 Abnormal AI 自身的检测管道特征和信号运行。
改进第二层的模型。
每周约运行 100 个批量作业的规模运行。
图 3:分析师 Agent 反馈循环,其中批量 Agent 从实时管道中摄入误分类,使用 Code Interpreter 会话分析模式,并将改进的启发式规则和模型反馈给第一层和第二层
这些批量作业可以运行超过 30 分钟,期间保持 Code Interpreter 会话。它们还可以跨越长达一天的操作,Agent 间歇性地使用 Code Interpreter。例如,它运行一个会话,在外部训练模型,然后重新调用 Code Interpreter 来处理结果。
安全:零信任沙箱设计
Abnormal 为 Code Interpreter 选择了沙箱(无出口)配置,驱动因素有两个:
可复现性 —— 由于沙箱没有外部网络访问,在会话期间任何超出 Abnormal AI 控制范围的因素都无法影响 Agent 的行为。环境设计为完全确定性。
数据泄露防范 —— 威胁情报数据进入沙箱进行分析。即使 Agent 通过提示注入或随机行为变得恶意,它也被设计为能够防止该数据泄露到互联网。
其他安全实践:
受控数据摄入:对进入 Code Interpreter 的数据类型和允许的写入操作进行刻意管控。
子处理者对齐:Code Interpreter 在现有的 AWS 子处理者关系下运营,减少合规负担。
网络隔离分层:沙箱隔离叠加其现有的网络隔离测试工具,提供纵深防御。
经验教训和最佳实践
在 Abnormal AI 的生产环境中运行 Code Interpreter 时,几项实践应运而生。
1. 给 Agent 它想要的东西
与僵化的逐步工作流相比,Agent 在轻量级通用测试工具下表现更好。为解决问题提供高级原则,让 Agent 运用其智能来决定方法。
2. 每个 Agent 都需要一块草稿板
Code Interpreter 不仅仅适用于编码 Agent。分析邮件的安全 Agent 从计算草稿板中获益,用于数据聚合、模式分析和验证。
3. 使用程序化验证器作为护栏
当 Agent 拥有程序化验证工具时,它们能交付更高质量的输出。单元测试、集成测试和 linting 允许 Agent 在沙箱中自我测试,然后再交付最终结果。
4. 使用文件系统作为长时间运行任务的恢复点
对于超过 Code Interpreter 会话时间的操作(例如模型训练),使用文件系统作为检查点。运行 Code Interpreter 进行计算,将状态持久化到文件,在外部执行长时间运行的操作,然后重新调用 Code Interpreter 来处理结果。分析师 Agent(图 3)在长达一天的模型训练操作中使用此模式。
Abnormal AI 的实现为生产 Agent 系统展示了一个关键洞察:Code Interpreter 不仅仅是一个编码工具。它是 Agent 用于计算推理的基础设施。通过将 AgentCore Code Interpreter 的托管安全沙箱与其自身的轻量级 Agent 测试工具相结合,Abnormal 实现了:
通过沙箱隔离实现零信任安全姿态,有助于防止数据泄露。
通过将 Agent 计算留给最难处理的案例,实现十亿消息级别的规模(图 2)。
无论你是在构建安全 Agent 还是需要 Agent 处理数据并验证自身输出的系统,模式都很清晰。给你的 Agent 一块草稿板,并更多地信任它们的评估,而非它们的断言。
立即开始使用 Amazon Bedrock AgentCore Code Interpreter。
探索 AgentCore 能力和其他工具(Gateway、Memory、Runtime、Identity)。
在 abnormalsecurity.com 了解更多关于 Abnormal AI 的信息。
Abnormal AI 是 AWS 客户。本文中的观点和看法仅属于客户本人,不一定反映 Amazon Web Services 的观点。