Composio 的 SWE 代理在开源软件工程领域取得了显著进展,在 SweBench 基准测试中获得了 48.6% 的成绩。这一成就突显了代理的能力,该代理利用 LangGraph 和 LangSmith 来有效应对现实世界的软件工程挑战,据 LangChainAI 所述。
在 SweBench 上的表现
SweBench 是一个严格的基准测试,旨在评估代码代理在现实任务中的有效性。它包括来自知名 Python 库(如 Django、SymPy、Flask 和 Scikit-learn)的 2,294 个 GitHub 问题。在经过人类验证的 500 个问题子集中,SWE 代理成功解决了 243 个问题,总体排名第四,并在开源贡献中排名第二。
创新代理架构
SWE 代理的架构基于 LangGraph,其将代理建模为状态机,以实现高效的状态管理。这种方法超越了传统的代理通信方法,通过使用状态图来有效管理代理交互和隐藏状态。每个代理功能如同状态机,确保工作流程的可靠性和透明度。
使用 LangSmith 进行监控
LangSmith 在监控代理行为的非确定性方面起着关键作用,提供全面的日志记录和对代理操作的整体视图。与 LangGraph 的集成增强了系统改进工具的能力,通过提供问题解决过程的每一步的详细可见性来增强工具的改进能力。
增强性能的专用代理
SWE 代理采用专用代理,每个代理配备用于特定任务的不同工具包。这包括用于任务分配的软件工程代理,用于代码库分析的代码分析器代理,以及用于代码导航和修改的编辑器代理。这种专业化确保每个代理专注于定义明确的任务,从而提高整体性能。
状态管理和工作流程
LangGraph 的架构促进了多代理系统中的有效状态管理。它实施了复杂的状态管理系统,以避免隐藏状态陷阱,同时保持清晰的边界和过渡。代理由使用消息标记的路由器功能引导,以控制状态转换,确保它们仅参与相关任务。
LangGraph 工作流程由三个代理节点和工具节点组成,每个节点都有预定义的任务和工具。这种结构化的方法确保了明确的任务分配和模块化,防止重叠和意外副作用。
赋予开发者力量
SWE-Kit 平台提供了一种模块化设计,使开发者能够创建适应其特定工作流程的定制代理。这种灵活性不仅限于软件工程,还扩展到 CRM、HRM 和行政任务的应用。Composio 旨在赋予开发者构建智能代理的能力,能够在各个行业中改变工作流程。
Image source: Shutterstock