Open SWE

4个月前发布 240 00

LangChain 团队构建了 Open SWE,首个开源、异步、云托管的编码代理。它直接连接到你的 GitHub 仓库,允许你通过 GitHub 议题或自定义用户界面委托任务。Open SWE 就像你团队中的另一名工程师:它可以研究代码库,制定详细的执行计划,编写代码,运行测试,审查自己的工作以发现错误,并在完成后发起拉取请求。

所在地:
美国
收录时间:
2025-08-07
其他站点:
Open SWEOpen SWE

过去两年,AI 在软件工程中的角色不断演进:

  • 从最初的 代码补全
  • 到 IDE 中的 “副驾驶”
  • 再到如今在云端 自主运行的端到端编码智能体

我们正进入一个新阶段:长期运行、异步执行、具备上下文感知与自我审查能力的 AI 工程师

在这一趋势中,软件工程是最早落地的领域之一。然而,目前尚无一个开源项目能完整体现这些特性。

为此,LangChain 团队推出 Open SWE —— 首个开源、异步、云托管的编码智能体,直接连接 GitHub,像真实工程师一样完成从任务理解、代码编写到 PR 提交的全流程。

Open SWE

它能做什么?像团队成员一样工作

Open SWE 不是一个简单的自动化脚本或代码生成器。它更像你团队中的一名远程工程师:

  1. 理解需求:通过 GitHub Issue 或自定义界面接收任务
  2. 研究代码库:分析项目结构、依赖关系和已有实现
  3. 制定计划:生成详细、可执行的开发步骤
  4. 编写代码:在隔离环境中实现功能、运行测试
  5. 自我审查:检查代码质量、格式、测试通过情况
  6. 提交 PR:完成后发起拉取请求,并关联原始 Issue

我们已在内部使用 Open SWE 加速 LangGraph 和 Open SWE 自身仓库 的开发。目前,它已是这些项目中贡献量排名前列的开发者之一

如何使用?三步接入,快速上手

你可以在几分钟内启动托管版 Open SWE:

  1. 访问 swe.langchain.com
  2. 连接 GitHub 账号,授权目标仓库
  3. 在设置中填入 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 将覆盖从“一行代码”到“完整产品实现”的全谱系工程任务。

数据统计

相关导航

暂无评论

none
暂无评论...