Outtake 如何确保长达数小时的智能体会话始终聚焦于揭露攻击网络运作
在我们的系列文章“初创公司如何用 Claude 构建”中,我们聚焦初创公司如何借助 AI 变革行业。本文分享 Outtake 如何构建一个自主网络调查员,用于检测、调查并瓦解数字威胁——从克隆登录页面到完整的敌对网络。
快速概览
| 项目 | 内容 |
|---|
| 名称 | Outtake |
| 成立时间 | 2023年 |
| 创始人 | Alex Dhillon(CEO),曾任职于 Palantir 的登月团队 |
| 增长情况 | 年经常性收入增长6倍,客户数量同比增长超10倍,仅2025年就扫描了超过2000万次潜在网络攻击 |
即使拥有强大的防护和控制措施,恶意行为者仍能将其 AI 使用伪装成看似良性的目的,从而隐藏恶意意图。代码生成平台可以创建逼真的登录门户,智能体化的市场推广工具可以驱动钓鱼攻击的分发,图像生成能力可以伪造身份。传统的网络安全防御手段难以跟上这种变化。
“如果你戴上恶意行为者的帽子,现在其实是发动攻击的好时机,”AI 网络安全平台 Outtake 的创始人兼 CEO Alex Dhillon 表示。“由于 AI 的助力,普通攻击不仅执行得更快,而且还能获得更深层次的访问权限。”
Outtake 将完整的数字信任攻击链统一为单一防御体系,利用多组 AI 智能体自主检测、调查并瓦解针对其客户的威胁——这些客户包括领先的 AI 实验室、大型对冲基金以及美国联邦机构。
以下将介绍 Outtake 团队如何利用 Claude Code 和 Agent SDK,在 Claude 上构建 Recon Agent(侦察智能体)——一个长期运行的自主网络调查员。
智能体化的进攻需要智能体化的防御
Agentic offense needs agentic defense
当攻击者针对一家公司时,通常会经历相同的过程:将公开数据武器化 → 构建诱饵进行冒充 → 利用内部系统。这一过程已被 AI 加速。
在入侵任何系统之前,他们会收集有关组织及其高管和员工的公开可用信息。
然后,他们将情报转化为诱饵,例如一个带有欺诈性登录页面的虚假网站,以诱骗受害者交出凭证。通过这些诱饵获得的访问权限,帮助攻击者突破外围防线,接触到组织最有价值和最敏感的资产。
这一三阶段序列是可预测的,但传统安全工具一次只能防护其中一环:
- 威胁情报工具监控公开数据阶段,
- 品牌保护工具监控冒充行为,
- 端点工具保护内部系统。
Outtake 的 Recon Agent 调查冒充行为背后的完整网络。例如,它不仅仅拆除一个克隆的登录页面,而是从冒充事件中收集并分类证据。
它沿着这些线索追踪到关联的基础设施,比如一个伪装成“客户支持”的虚假 Telegram 账号,并将这个敌对网络以图谱形式呈现。智能体的最后一步是生成一份报告,解释调查过程、威胁行为者的画像,以及重建的攻击者行为时间线。
为了执行这一复杂的工作流,Recon Agent 能够读取、编写和运行代码。它甚至可以直接与恶意登录页面交互,以查看被盗凭证的实际去向。
这些调查可能需要智能体长时间自主运行。智能体会话的中位时长为16分钟,但通常会延长到一小时甚至更久;迄今为止最长的一次运行持续了两小时的智能体工作后才返回结果。
或阅读文档:尝试 Claude Code | 开发者文档 | 电子书
Outtake 如何用 Claude 构建复杂的长期运行智能体
How Outtake built a complex long-running agent with Claude
Outtake 大致分四个阶段构建了 Recon Agent。每个阶段都围绕理解“好的调查”是什么样的,然后逐步将该判断能力交给智能体。

第一步:先成为专家
Step 1: Become the expert first.
在构建智能体的任何部分之前,Outtake 的工程师亲自进行了真实的网络调查,并从客户和设计合作伙伴那里汲取了领域专业知识。
目标是定义“好”的标准。对于这类调查,这意味着识别哪些证据是重要的、如何组织证据,以及区分可操作的结论与猜测。这一标准成为他们在后续每个阶段反复参照的固定基准。
“构建长期运行智能体最重要的一点是,你必须真正理解‘好的结果是什么样的?’‘智能体应该做什么?’”Outtake 智能体平台工程负责人 Jack Hayford 说。“因为最终你要确保智能体每次都能做到这一点。”
第二步:在 Claude Code 中构建原型
Step 2: Prototype in Claude Code
最初,Outtake 团队使用传统的智能体框架来逐步自动化他们正在标准化的调查流程。
但他们很快意识到,Recon Agent 不能只是一个简单的调查员。它需要编写和运行代码、即时构建工具,并实际与恶意域名交互。
“每次调查都不同,而且技术性很强,”Hayford 说。“智能体需要编码能力和灵活性,而 Claude Code 为我们提供了一个强大的初始框架,来验证这些假设并开始进行更多实验。”
正是在 Claude Code 中原型化的过程中,他们形成了核心设计原则:在编排层严格约束智能体(“调查域名时始终执行 X、Y、Z”),但在需要判断时让它自由发挥。
第三步:升级到生产级框架
Step 3: Graduate to a production-grade harness
“我们非常喜欢 Claude Code 引入的模式,但我们需要更底层原语的访问权限,而我们并不想自己构建这些,”Hayford 说。
使用 Claude Agent SDK 是将 Recon Agent 投入生产的自然下一步。从 Claude Code 中继承技能和模式,确保团队在获得对 Recon Agent 内存、上下文和文件系统的更紧密控制时,不会降低开发速度,同时无需重新发明智能体循环和会话处理的轮子。
第四步:构建由评估驱动的紧密迭代循环
Step 4: Build a tight iteration loop driven by evals.
在网络安全领域,低成本且快速响应的迭代能力尤为关键,因为攻击者一旦发现防御工具存在,就会立即调整策略。团队从一开始就集成了智能体评估,并构建了一套强大的评估套件,可以同时运行多个场景。这使他们能够安全且自信地进行大规模更改,例如模型升级和完整的内存系统重构。
这也让团队能够将自己从智能体循环中抽离出来。例如,当 Recon Agent 完成一项调查并报告说,如果拥有某个工具本可以做得更好时,另一个独立的编码智能体会读取这些建议,编写新工具,并构建一个测试场景来试用它。
只有在最后阶段,人类才会介入查看结果:有了这个工具,智能体是否更好地完成了调查?“我们是瓶颈,当你构建这些长期、复杂的智能体时,自动化反馈循环非常重要。这样不仅速度更快,作为开发者也会更有成就感,”Hayford 说。
构建长期运行智能体的经验教训
Learnings from building a long-running agent
在智能体发展的早期,构建者会预先用硬编码的、确定性的、逐步的路径来编写智能体行为,以防止它偏离轨道。现在,复杂的工作流正在被一个框架所取代:一个由内存、工具、技能和护栏组成的支持性环境。
以下是 Outtake 团队在实施 Recon Agent 构建过程中的一些经验。
工具:文件系统和 bash 就足够了
Tools: a filesystem and bash is all you need
文件系统使内存能够在压缩后存活。智能体通常被赋予非常具体和精细的工具,但赋予智能体文件系统以及编写、读取和运行代码的能力,有助于智能体应对障碍。
“将这些极其强大的开放式工具和能力交给智能体是一个巨大的进步。我们观察到很多案例,智能体的某个工具因网络故障或其他原因而失败,但它会找到合适的变通方法并继续运行,”Hayford 说。“因为我们构建的框架其余部分足够强大,并且它给智能体留下了利用这些强大开放式工具进行即兴发挥的机会,它仍然能够取得成功的成果。”
提示词只是建议
Prompts are suggestions
提示词在需要时提供灵活性,但在可能的情况下进行硬编码可以确保稳定性。“当你构建这些长期运行且随时间变得复杂的智能体时,提示词只是建议,”Hayford 说。“当智能体没有按你的意愿行事时,自然的反应是向智能体最可塑的部分添加内容。在系统提示词中塞入‘当 X 发生时,确保你执行 Y’可能最初有效,但随着智能体运行时间变长,提示词中的每一个字最终都可能被忽略。”
正确的方法是围绕这种可能性进行构建,识别智能体每次都应该做的事情,并将其纳入智能体的护栏中。“把这些东西从提示词中拿出来,放到框架里,”他说。“这样智能体就不必再考虑它们了,它就有更多的上下文空间和注意力投入到它真正擅长的领域。”
💡 译者注:更多关于指导 Claude 的最佳实践,以及每种方法的上下文成本和权威性,请参阅相关文档。
评估是为了速度,而不仅仅是可靠性
Evals are for speed, not just reliability
将手动的“反思”作为自动化评估的路线图,以缩短开发周期。传统观点认为,评估是可靠性的质量关卡。但对于长期运行的智能体来说,更大的回报在于速度。
早期,每次 Recon Agent 运行时,团队都会对其表现进行手动审查。但阅读智能体30分钟的全部操作记录既痛苦又不可扩展。
“在现代智能体开发中,评估输出是循环中最昂贵的步骤,”Jack 说。
评估只是这种反思的结构化、可评分、可自动化的版本。一旦你将“好”的标准编码为可重复的检查,你就可以让一个智能体担任评判者,阅读30分钟的记录并给运行结果打分。
“我认为有些工程师对构建评估感到担忧,因为这像是构建一个完美案例的想法,”Jack 说。“从一开始就构建某种版本的评估,无论它们多么‘官方’或‘完美’,都会让你更快地构建出那个智能体。”
保护你的智能体
Protecting your agents
提示注入(Prompt injection)是一个真实的威胁,因此将智能体放入沙箱或为其提供防护至关重要。Outtake 团队选择 Claude 的部分原因正是其对抗提示注入的强大能力。
“安全对我们构建 Recon Agent 来说是一个重要问题,”Hayford 说。“我们给了它文件系统和 bash,并将它送到敌对环境中,因此我们必须解决的最重要问题是构建一种‘防爆箱’,你可以在不阻碍智能体的情况下,将其与敏感内部系统隔离开。”
他们的方法假设智能体可能被劫持,因此周围系统被设计为能够控制损害。然而,安全措施因智能体的目的而异,并非所有智能体都需要“防爆箱”方案。
Outtake 现在正在智能体连接到互联网的确切时刻评估信任级别,实现一个检查点,评估智能体即将接触的内容:“这个页面是冒充吗?是恶意软件吗?它现在正试图对智能体进行提示注入吗?”这或许正是智能体在日益充满敌意的互联网中穿行时所需的防护。
Outtake 团队的最佳实践
| 问题 | 实践 |
|---|
| 你知道“好”是什么样的吗? | 先成为智能体。亲自执行真实任务,并从客户和设计合作伙伴那里汲取领域专业知识,这样你就有了一个固定的标准来对照后续每次迭代。 |
| 每个复杂性是否都值得? | 找到最简单的可行版本,然后逐步自动化。只有当结果证明有必要时才增加复杂性——与传统软件开发的纪律相同。 |
| 你的框架是否匹配工作负载? | 在 Claude Code 中快速验证假设,然后在需要更底层控制内存、上下文和会话时升级到 Agent SDK。不要自己重新构建智能体循环。 |
| 智能体应该在哪些方面受到约束? | 在编排层硬编码护栏,但不要让这些约束触及底层判断。即兴发挥的空间才是产生最佳结果的地方。 |
下一步计划
What's next
Recon Agent 现已上线并正在运行调查。如果你想更深入了解 Outtake 如何使用 Claude 大规模绘制敌对基础设施图谱:
- 观看完整网络研讨会,了解 Outtake 如何使用 Claude 自主调查和绘制威胁基础设施图谱的现场演示和深入讨论。
- 查看 Recon Agent 的实际运行,探索智能体如何从单个冒充行为发展到完整的威胁行为者画像。
- 获取免费的 Recon Agent 评估,了解调查在你自身暴露面上会发现什么。