如果你关注过 Stripe 的 Minions、Ramp 的 Inspect 或 Coinbase 的 Cloudbot,会发现这些顶级公司的内部编码 Agent 架构惊人地相似。今天,LangChain 正式开源了 Open SWE 框架,将这些经过生产验证的架构模式打包成可复用的开源方案。
核心架构:五大生产级模式
Open SWE 不是从零构建,而是基于 Deep Agents 和 LangGraph 组合而成,这种做法本身就值得学习——它允许企业在享受上游更新的同时,保留自己的定制化工具链。
隔离沙箱执行是首要原则。每个任务在独立的云沙箱中运行(支持 Modal、Daytona、Runloop、LangSmith 等提供商),沙箱内拥有完整权限,但错误被严格限制在边界内。这遵循了"先隔离,再授权"的安全哲学。
精选工具集而非堆砌工具。Open SWE 只提供约 15 个核心工具:execute( shell 命令)、fetch_url、http_request、commit_and_open_pr、linear_comment、slack_thread_reply,加上 Deep Agents 内置的文件操作工具。Stripe 的经验表明,工具 curated 比数量更重要。
上下文工程采用双层设计:仓库根目录的 AGENTS.md 文件注入系统提示词,编码团队规范、测试要求和架构决策;同时,完整的 Linear 议题或 Slack 线程历史在启动前组装,减少 Agent 通过工具调用发现需求的时间。
编排机制:Agent 与确定性分离
Open SWE 的编排分为两层:子 Agent 通过 task 工具派生独立子任务,每个子 Agent 有自己的中间件栈和待办列表;中间件在 Agent 循环周围运行确定性逻辑,如 check_message_queue_before_model 允许在 Agent 运行时发送跟进消息,open_pr_if_needed 作为安全网确保 PR 一定被创建。
这种分离平衡了灵活性与可靠性——模型负责创造性工作,确定性代码保证关键步骤不遗漏。
invocation 表面:开发者在哪里,Agent 就在哪里
所有三家参考公司都选择 Slack 作为主要入口,Open SWE 同样支持 Slack、Linear 和 GitHub 三种触发方式:在 Slack 线程中提及机器人、在 Linear 议题评论@openswe、在 GitHub PR 中标记反馈。每个触发创建确定性线程 ID,后续消息路由到同一运行中的 Agent。
对开发者的实际价值
如果你所在团队正在考虑构建内部编码 Agent,Open SWE 提供了经过验证的起点:不需要从零设计架构,可以直接部署并根据组织需求定制沙箱提供商、工具集、中间件逻辑。更重要的是,它展示了企业级 Agent 系统的关键设计原则——隔离、精选、上下文丰富、确定性兜底。
开源地址:https://github.com/langchain-ai/open-swe
安装指南与定制文档:https://github.com/langchain-ai/open-swe/blob/main/INSTALLATION.md
文章评论