Harvey是一家专注于法律AI的公司,工程团队最近公开了内部协作云Agent平台Spectre的设计复盘。
为什么企业需要云Agent而非本地Agent
本地Agent继承了工程师的整台机器——所有凭证、所有文件、所有上下文。云端运行时则给出明确、可复现、可审计的权限边界。
Spectre解决的核心问题是:让Agent在企业环境里真正成为团队成员,而不是某个人电脑里的孤岛。
核心架构
持久化run,短生命周期worker:run记录是持久对象,worker是短生命周期的执行单元。重启不会丢失上下文。
沙箱作为执行边界:隔离环境 + 作用域化的代码仓库访问权限 + 注入的工具配置。worker无法直接访问控制面数据库。
Harness作为系统核心组件:组装上下文、管理状态、协调多个模型提供商。
协作界面是一等公民:Slack线程、Web界面、CLI都指向同一个持久化run。这意味着你在Slack里看到的讨论和本地CLI跑的是同一个执行上下文。
定时任务和交互任务共用同一运行时:不是两个独立子系统,是同一个架构同时支持。
安全设计
worker和控制面完全隔离。Worker拿到的仓库访问权限是作用域化的、短期凭证,且不能直接访问控制面数据库。
一个有意思的类比:代码仓库/PR对应法律的事务/审查工作流;diff对应文档版本和来源追踪;沙箱对应伦理墙/客户隔离。
Spectre的设计逻辑很清晰——把协作这件事做进了runtime里,而不是外面套一层。这意味着协作不是"加了功能",是"架构决定了"。企业级Agent的方向一定是这个。