推出 Open SWE:一款开源异步编码代理
Open SWE 是一款开源、云端托管的编码代理,能够自主处理 GitHub 任务,包括规划、编码、测试和提交拉取请求。它采用多代理架构,包含规划器、程序员和审查器,并支持人类参与循环和异步执行。
Open SWE 是 LangChain 团队推出的一款开源、异步、云端托管的编码代理,旨在自动化 GitHub 上的软件开发任务。它能够自主处理从问题分析到代码编写、测试,再到提交拉取请求的完整流程,如同团队中的另一位工程师。
与传统的编码助手不同,Open SWE 专注于长时间运行的异步任务。它直接连接到用户的 GitHub 仓库,用户可以通过 GitHub Issue 或自定义界面分配任务。代理会先研究代码库,制定详细的执行计划,然后编写代码、运行测试、自我审查,最后提交拉取请求。
Open SWE 的核心架构基于 LangGraph,由三个专门的代理组成:管理器负责处理用户交互和任务路由;规划器在编写代码前分析请求并研究代码库,生成逐步执行计划;程序员执行计划,编写代码并在沙箱中运行测试。程序员完成任务后,审查器会检查代码质量,如果发现问题,会将任务返回给程序员进行迭代。这种行动-审查循环会持续到代码完美为止。
Open SWE 还提供了强大的控制功能。用户可以在代理运行时中断它,查看工作进度或调整方向。当代理生成计划时,它会暂停并等待用户批准、编辑或请求更改。此外,用户可以在代理运行期间发送额外消息,新请求会无缝集成到当前会话中。
为了安全,每个任务都在隔离的 Daytona 沙箱中运行,无需担心恶意命令。Open SWE 的云原生架构允许并行处理多个任务,而不消耗本地资源。用户可以在早上分配一系列任务,下午回来查看已完成的拉取请求。
目前,Open SWE 已在其自身的仓库以及 LangGraph 仓库中做出了显著贡献。LangChain 团队表示,虽然 Open SWE 非常适合复杂、长时间运行的任务,但对于简单的单行修复或样式更新,当前架构并非最优。他们正在开发一个本地 CLI 版本,能够跳过规划和审查阶段,直接执行代码,从而成为一站式工程工具。
Open SWE 完全开源,基于 LangGraph 构建,并设计为可扩展。社区可以 fork 仓库,自定义提示、添加新工具或修改代理的核心逻辑。开发者文档提供了详细的设置和部署指南。