
6月底,Anthropic 推出 Claude Tag。团队成员在 Slack 频道@claude 就可以委派多步任务,支持跨成员接力任务、主动推送进度、连接代码库与外部工具。
这类 Agent 连接着内部系统,具备正确的上下文、权限和安全边界,能够在最小的人工监督下运行。
Open SWE 则是这一模式的开源版本。
基于 LangGraph 和 Deep Agents 构建,它提供了与这些公司内部构建的系统相同的架构:云沙箱、Slack 和 Linear 调用、子 Agent 编排和自动 PR 创建,随时可针对你自己的代码库和工作流进行定制。
Open SWE 做出了与最佳内部编码 Agent 相同的核心架构决策。
以下是它如何映射到 Stripe Minions、Ramp Inspect 和 Coinbase Cloudbot 的模式:
Stripe(Minions):全球最大的在线支付处理平台之一,估值超 700 亿美元。
他们的内部编码 Agent 叫 Minions,2025 年公开了技术细节。
核心做法:工程师在 Slack 里下达任务,Minions 在预热的 AWS EC2 开发机上自动完成编码、测试和提 PR。
机器人拥有约 500 个工具但按场景精选,部署了三层验证体系(本地检查 + CI + 失败自动重试一次)。
Stripe 是最早公开分享这套架构的公司之一,对行业影响很大
Ramp(Inspect):企业信用卡和费用管理平台,美国增长最快的 Fintech 之一。
他们的 Agent 叫 Inspect,基于 OpenCode 框架构建,运行在 Modal 云容器上。
特色是"全上下文后台编码":Inspect 在后台静默运行,不打断开发者当前工作流。验证手段是可视化 DOM 验证,通过截图对比 UI 变化。
调用入口除了 Slack 还有 Web 界面和 Chrome 浏览器扩展。
Coinbase(Cloudbot):美国最大的合规加密货币交易所,纳斯达克上市公司。
他们的 Agent 叫 Cloudbot,完全从零自建。
最大特点是"Agent 委员会 + 自动合并":多个 Agent 组成委员会互相审查代码,通过后自动合并 PR,人工干预最少。
Coinbase 的工程博客里详细讲了他们如何设计安全边界和权限模型,整体最激进。调用方式完全原生集成在 Slack 中。
Open SWE 没有 fork 现有 Agent 或从零构建,而是组合在 Deep Agents 框架之上,类似于 Ramp 在 OpenCode 上的构建方式。
这为你提供了升级路径(吸收上游改进),同时让你可以为组织定制编排、工具和中间件。
create_deep_agent(
model="openai:gpt-5.5",
system_prompt=construct_system_prompt(...),
tools=[http_request, fetch_url, linear_comment, slack_thread_reply],
backend=sandbox_backend,
middleware=[ToolErrorMiddleware(), check_message_queue_before_model, ...],
)每个任务运行在自己的隔离云沙箱中:一个拥有完整 Shell 访问权限的远程 Linux 环境。
代码仓库被克隆进来,Agent 获得完整权限,任何错误的爆炸半径被完全控制。没有生产环境访问权限,没有确认提示。
Open SWE 开箱支持多种沙箱提供商:Modal、Daytona、Runloop 和 LangSmith,你也可以接入自己的方案。详见定制指南。
这遵循了三家公司共同认可的原则:先隔离,然后在边界内授予完整权限。
Open SWE 遵循了 Stripe 的架构原则:工具筛选比工具数量更重要。
依据这个原则,使用小型聚焦的工具集:
工具 | 用途 |
|---|---|
execute | 在沙箱中执行 Shell 命令 |
fetch_url | 将网页内容抓取为 Markdown |
http_request | API 调用(GET、POST 等) |
linear_comment | 向 Linear 工单发布更新 |
slack_add_reaction | 对 Slack 消息做出表情反应 |
slack_thread_reply | 在 Slack 线程中回复 |
GitHub 操作通过沙箱内 GH_TOKEN=dummy gh 执行,由 LangSmith 代理支持。
再加上 Deep Agents 的内置工具:read_file、write_file、edit_file、ls、glob、grep、write_todos 和 task(子 Agent 生成)。
可选的可观测性工具(服务端):
管理员可以通过团队设置(管理 → 可观测性凭据)连接 Datadog 和 LangSmith。
连接后,Agent 获得 Datadog 工具(通过 Datadog 托管的 MCP 服务器,默认 toolsets=core)和只读 LangSmith 工具(langsmith_get_trace、langsmith_list_runs)。
这些工具在 LangGraph 服务端进程中使用静态加密的凭据运行,沙箱永远不持有 Datadog 或 LangSmith 密钥。
它们仅对授权用户触发的运行加载(管理员,以及OBSERVABILITY_AUTHORIZED_EMAILS 中的所有邮箱),因此来自不受信任贡献者的提示注入运行无法触及团队的可观测性数据。
无论如何,请使用作用域内、只读导向的密钥:可观测性数据(日志、追踪)是攻击者可影响的内容,可能携带提示注入,且 Agent 有网络出口,与 web_search/fetch_url 属于相同的残余风险类别。
可选的 Corridor 安全护栏(服务端 MCP):
设置 CORRIDOR_API_TOKEN(或 CORRIDOR_MCP_TOKEN / CORRIDOR_TOKEN)以在每次 Agent 运行时加载 Corridor 托管的 MCP 服务器。
Open SWE 仅暴露 Corridor 的 analyzePlan 工具。
CORRIDOR_MCP_URL 默认为 https://app.corridor.dev/api/mcp;如果显式设置,Open SWE 仅接受相同的 HTTPS 主机和 /api/mcp 路径。
令牌通过 LangGraph 服务端进程的 Authorization: Bearer 头发送,永远不会被放入沙箱。
旧的 ?token= URL 形式会被接受并规范化为 header 形式。
Open SWE 从两个来源收集上下文:
Open SWE 的编排有两个层次:
子 Agent:Deep Agents 框架通过 task 工具原生支持生成子 Agent。
主 Agent 可以将独立子任务分发给隔离的子 Agent,每个子 Agent 拥有自己的中间件栈、待办列表和文件操作。这类似于 Ramp 用于并行工作的子会话。
中间件:确定性的中间件钩子在 Agent 循环周围运行:
文章中提到的三家公司都收敛于以 Slack 作为主要调用入口。Open SWE 同样如此:
每次调用生成确定性线程 ID,因此同一工单或线程上的后续消息路由到同一个运行中的 Agent。
Agent 被指令在提交前运行 linter、格式化工具和测试,并端到端地负责提交、推送、打开/更新草稿 PR 以及在来源频道中回复。
这是你可以为组织扩展 Open SWE 的一个领域:添加确定性 CI 检查、可视化验证或审查关卡作为额外的中间件。详见定制指南。
