
过去两年,AI 在软件工程中的角色不断演进:
- 从最初的 代码补全,
- 到 IDE 中的 “副驾驶”,
- 再到如今在云端 自主运行的端到端编码智能体。
我们正进入一个新阶段:长期运行、异步执行、具备上下文感知与自我审查能力的 AI 工程师。
在这一趋势中,软件工程是最早落地的领域之一。然而,目前尚无一个开源项目能完整体现这些特性。
为此,LangChain 团队推出 Open SWE —— 首个开源、异步、云托管的编码智能体,直接连接 GitHub,像真实工程师一样完成从任务理解、代码编写到 PR 提交的全流程。

它能做什么?像团队成员一样工作
Open SWE 不是一个简单的自动化脚本或代码生成器。它更像你团队中的一名远程工程师:
- 理解需求:通过 GitHub Issue 或自定义界面接收任务
- 研究代码库:分析项目结构、依赖关系和已有实现
- 制定计划:生成详细、可执行的开发步骤
- 编写代码:在隔离环境中实现功能、运行测试
- 自我审查:检查代码质量、格式、测试通过情况
- 提交 PR:完成后发起拉取请求,并关联原始 Issue
我们已在内部使用 Open SWE 加速 LangGraph 和 Open SWE 自身仓库 的开发。目前,它已是这些项目中贡献量排名前列的开发者之一。
如何使用?三步接入,快速上手
你可以在几分钟内启动托管版 Open SWE:
- 访问 swe.langchain.com
- 连接 GitHub 账号,授权目标仓库
- 在设置中填入 Anthropic API 密钥(支持 Claude 系列模型)
然后,只需创建一个新任务,就可以看着它自动运行。
📌 建议起点:查看官方文档中的示例页面,了解典型使用场景。
为什么是 Open SWE?不只是“另一个编码助手”
市面上已有许多开源编码项目。Open SWE 的不同之处在于,我们关注的不仅是提示词或工具集成,而是整个智能体系统的流程设计与用户体验。
我们认为,异步智能体的成功关键,在于“控制”与“集成”。
✅ 更多控制:人在回路 + 双向沟通
1. 人在回路(Human-in-the-Loop)
在生成执行计划后,Open SWE 会主动暂停,等待你确认:
- 接受计划
- 编辑步骤
- 删除不合理部分
- 或要求重新调研
如果遗漏了关键上下文?只需说“继续深入研究”,它将重新规划。
2. 运行时可干预(Bidirectional Communication)
大多数智能体一旦启动就无法中途调整。而 Open SWE 支持运行时反馈:
- 产品需求变更?发条消息即可
- 发现方向偏差?及时纠正
- 想追加功能?直接补充说明
它会动态调整当前会话,无需重启任务。
✅ 深度集成:无缝融入现有开发流程
Open SWE 不要求你改变工作方式,而是融入你已有的 GitHub 流程。
- 每个任务对应一个 GitHub Issue
- 任务状态、执行计划、进度更新实时同步到 Issue 评论区
- 完成后自动发起 Pull Request,并关联原 Issue
你也可以直接从 GitHub 触发任务:
只需为 Issue 添加标签(如 open-swe-auto),Open SWE 即可自动开始工作,完成后提交 PR。
它就像一个无需休假、不会请假的队友,安静地完成分配的任务。
系统设计:安全、可靠、可扩展
除了人机交互体验,Open SWE 在底层架构上也做了关键设计。
🔒 在隔离沙箱中运行
每个任务都在独立的 Daytona 沙箱环境中执行:
- 完全隔离,避免对本地或生产环境造成影响
- 可自由执行 shell 命令、安装依赖、运行测试
- 无需为每条命令请求人工批准,提升效率
这意味着 Open SWE 可以更快速、更自主地行动。
☁️ 云端异步运行
Open SWE 是云原生架构,具备以下优势:
- 不占用本地计算资源
- 支持多任务并行处理
- 可长时间运行(最长可达数小时)
你可以早上提交一组任务,下午回来查看一组已准备好的 PR。
✅ 提交前计划与审查
许多智能体“想到就写”,导致代码错误频出、CI 失败。Open SWE 采用多智能体协作架构,确保质量:
| 智能体角色 | 职责 |
|---|---|
| Manager | 接收任务,协调流程 |
| Planner | 分析需求,研究代码库,制定详细执行计划 |
| Programmer | 按计划编写代码,执行测试 |
| Reviewer | 审查代码质量、运行测试、格式化,发现问题则反馈迭代 |
只有当 Reviewer 确认无误后,才会发起 PR。这种“行动-审查”循环显著减少了无效提交和返工。
技术栈:LangGraph 驱动的智能工作流
Open SWE 基于 LangGraph 构建,这是 LangChain 推出的状态化智能体工作流框架。
🧠 为什么用 LangGraph?
- 支持多智能体协作,每个智能体有独立状态与输入输出
- 可精确控制流程跳转、条件判断与错误恢复
- 内置持久化,支持长时间运行与人工中断后恢复
这使得 Open SWE 能够稳定处理复杂、长期任务。
🚀 运行在 LangGraph Platform(LGP)
Open SWE 部署于 LangGraph Platform,专为长期运行智能体设计:
- 支持任务状态持久化(保障“人在回路”)
- 自动扩缩容(可同时运行数百个沙箱)
- 内置监控与日志追踪
🛠️ 使用 LangSmith 优化性能
作为一个复杂的多智能体系统,Open SWE 的核心挑战是上下文工程:
- 是否获取了正确的文件?
- 工具调用指令是否清晰?
- 计划生成是否合理?
我们使用 LangSmith(AI 可观察性平台)进行:
- 实时调试
- 链路追踪
- A/B 测试不同提示策略
- 评估召回率、任务完成率等指标
这让我们能持续优化智能体的稳定性与准确性。
开源与可扩展:为社区而建
Open SWE 完全开源,并设计为高度可扩展:
- ✅ 支持分叉与定制
- ✅ 可修改提示词、添加内部 API 工具
- ✅ 可替换模型、调整智能体逻辑
我们提供了详细的开发者文档,帮助你:
- 部署私有化实例
- 集成企业内部系统
- 构建专属的工程自动化流水线
当前适用场景与未来规划
✅ 适合的任务类型
Open SWE 特别适合:
- 功能开发(如新增 API 接口)
- 技术债清理(如重构模块)
- 文档生成与同步
- 测试用例补全
这些是复杂、需上下文理解、多步骤协作的任务。
⚠️ 暂不推荐的场景
对于单行修复、样式调整等简单任务,当前架构略显“重”。我们正在开发:
本地 CLI 版本的 Open SWE
- 命令行驱动,轻量快速
- 支持跳过计划与审查阶段
- 适合简单修复与即时修改
未来,Open SWE 将覆盖从“一行代码”到“完整产品实现”的全谱系工程任务。
数据统计
相关导航


Memex

CatPaw

CodeBuddy IDE

LazyLLM

Builder.io

马卡龙(Macaron AI)






