首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Open SWE |和 Anrothpic 同款能在聊天频道接任务的 Claude Tag

Open SWE |和 Anrothpic 同款能在聊天频道接任务的 Claude Tag

作者头像
勇哥AI笔记
发布2026-07-06 13:51:42
发布2026-07-06 13:51:42
30
举报
文章被收录于专栏:技术人生黄勇技术人生黄勇

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 中。

1. Agent 骨架:组合于 Deep Agents 之上

Open SWE 没有 fork 现有 Agent 或从零构建,而是组合在 Deep Agents 框架之上,类似于 Ramp 在 OpenCode 上的构建方式。

这为你提供了升级路径(吸收上游改进),同时让你可以为组织定制编排、工具和中间件。

代码语言:javascript
复制
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, ...],
)

2. 沙箱:隔离的云环境

每个任务运行在自己的隔离云沙箱中:一个拥有完整 Shell 访问权限的远程 Linux 环境。

代码仓库被克隆进来,Agent 获得完整权限,任何错误的爆炸半径被完全控制。没有生产环境访问权限,没有确认提示。

Open SWE 开箱支持多种沙箱提供商:Modal、Daytona、Runloop 和 LangSmith,你也可以接入自己的方案。详见定制指南。

这遵循了三家公司共同认可的原则:先隔离,然后在边界内授予完整权限。

  • • 每个线程拥有持久沙箱(跨后续消息复用)
  • • 沙箱不可达时自动重建
  • • 多任务并行运行,每个在各自沙箱中,无需排队

3. 工具:精选,而非堆砌

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 形式。

4. 上下文工程:AGENTS.md + 来源上下文

Open SWE 从两个来源收集上下文:

  • AGENTS.md:如果代码仓库根目录包含 AGENTS.md 文件,它从沙箱中读取并注入到系统提示中。
  • 这是你在仓库层面相当于 Stripe 规则文件的东西:编码约定、测试要求和架构决策,每个 Agent 运行都应遵循。
  • 来源上下文:完整的 Linear 工单(标题、描述、评论)或 Slack 线程历史被组装并传递给 Agent,使其一开始就拥有丰富的上下文,而不是通过工具调用逐步发现一切。

5. 编排:子 Agent + 中间件

Open SWE 的编排有两个层次:

子 Agent:Deep Agents 框架通过 task 工具原生支持生成子 Agent。

主 Agent 可以将独立子任务分发给隔离的子 Agent,每个子 Agent 拥有自己的中间件栈、待办列表和文件操作。这类似于 Ramp 用于并行工作的子会话。

中间件:确定性的中间件钩子在 Agent 循环周围运行:

  • • check_message_queue_before_model:在下一次模型调用前注入后续消息(运行中途到达的 Linear 评论或 Slack 消息)。
  • 你可以在 Agent 工作时给它发消息,它会在下一步接收你的输入。
  • • notify_step_limit_reached:Agent 达到模型调用限制后的钩子,在 Slack 中发布回复,让用户收到明确信号而非沉默。
  • • ToolErrorMiddleware:优雅地捕获和处理工具错误。

6. 调用方式:Slack、Linear 和 GitHub

文章中提到的三家公司都收敛于以 Slack 作为主要调用入口。Open SWE 同样如此:

  • Slack:在任意线程中 @ 机器人。支持 repo:owner/name 语法指定操作的仓库。Agent 在线程中回复状态更新和 PR 链接。
  • Linear:在任意工单上评论 @openswe。Agent 读取完整工单上下文,用 👀 回复表示确认,并将结果作为评论发布回来。
  • GitHub:在 Agent 创建的 PR 评论中标记 @openswe,让它处理审查反馈并将修复推送到同一分支。

每次调用生成确定性线程 ID,因此同一工单或线程上的后续消息路由到同一个运行中的 Agent。

7. 验证:提示驱动

Agent 被指令在提交前运行 linter、格式化工具和测试,并端到端地负责提交、推送、打开/更新草稿 PR 以及在来源频道中回复。

这是你可以为组织扩展 Open SWE 的一个领域:添加确定性 CI 检查、可视化验证或审查关卡作为额外的中间件。详见定制指南。

对比

功能特性

  • 从 Linear、Slack 或 GitHub 触发任务:在评论中 @openswe 启动任务
  • 即时确认:收到消息时立刻用 👀 表情回复
  • 运行时发消息:任务中途发送后续消息,Agent 会在下一步前接收
  • 多任务并行:每个任务运行在各自隔离的云沙箱中
  • GitHub OAuth 内置:自动使用你的 GitHub 账户认证
  • 自动创建 PR:完成后提交更改并创建草稿 PR,链接回你的工单
  • 子 Agent 支持:Agent 可生成子 Agent 处理并行子任务
  • Web 仪表盘:配套应用(ui/ 目录),支持 GitHub 登录、用户模型/配置文件设置、团队默认值、已启用仓库和审查风格管理、用户映射,以及 Agent 聊天界面

快速开始

  • 安装指南:覆盖本地开发(后端 + 仪表盘)、GitHub App 创建、LangSmith、Linear/Slack/GitHub 触发器和生产部署:
  • https://github.com/langchain-ai/open-swe/blob/main/INSTALLATION.md
  • 定制指南:展示如何替换沙箱、模型、工具、触发器、系统提示和中间件:
  • https://github.com/langchain-ai/open-swe/blob/main/CUSTOMIZATION.md
  • 官方仓库:https://github.com/langchain-ai/open-swe
  • -END-
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技术人生黄勇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构
    • 1. Agent 骨架:组合于 Deep Agents 之上
    • 2. 沙箱:隔离的云环境
    • 3. 工具:精选,而非堆砌
    • 4. 上下文工程:AGENTS.md + 来源上下文
    • 5. 编排:子 Agent + 中间件
    • 6. 调用方式:Slack、Linear 和 GitHub
    • 7. 验证:提示驱动
  • 对比
  • 功能特性
  • 快速开始
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档