Meta与哈佛推出孔子代码代理,专为大规模代码库设计

2026/1/13·来源:MarkTechPost
MetaAI软件工程孔子代码代理SWE Bench ProClaude

Meta和哈佛研究人员发布了孔子代码代理,这是一个基于孔子SDK的开源AI软件工程师。该系统针对真实GitHub项目和复杂测试工具链,在SWE Bench Pro等基准测试中实现可复现结果。孔子SDK通过分层工作内存、持久笔记系统和模块化扩展接口,提升代理在长期编码任务中的性能。

Meta和哈佛研究人员发布了孔子代码代理,这是一个基于孔子SDK的开源AI软件工程师,专为工业规模软件仓库和长期运行会话设计。该系统针对真实GitHub项目、评估时的复杂测试工具链,以及在SWE Bench Pro和SWE Bench Verified等基准测试中的可复现结果,同时向开发者开放完整脚手架。孔子SDK是一个代理开发平台,将脚手架作为主要设计问题处理,而非语言模型的薄包装。它围绕三个轴组织:代理体验、用户体验和开发者体验。代理体验控制模型所见内容,包括上下文布局、工作内存和工具结果。用户体验专注于可读跟踪、代码差异和人类工程师的安全保障。开发者体验专注于代理本身的可观察性、配置和调试。SDK引入了三个核心机制:一个具有分层工作内存的统一编排器、一个持久笔记系统,以及一个用于工具的模块化扩展接口。一个元代理通过构建、测试、改进循环自动化合成和优化代理配置。孔子代码代理是这一脚手架在软件工程中的一个具体实例。在SWE Bench Pro上的真实软件任务通常需要推理数十个文件和许多交互步骤。孔子SDK中的编排器维护分层工作内存,将轨迹划分为范围,总结过去步骤,并为后续回合保留压缩上下文。这种设计有助于保持提示在模型上下文限制内,同时保留重要工件,如补丁、错误日志和设计决策。关键点在于,有效的基于工具的编码代理需要一个明确的内存架构,而不仅仅是先前消息的滑动窗口。第二个机制是一个笔记系统,使用专用代理从执行跟踪中编写结构化Markdown笔记。这些笔记捕获任务特定策略、仓库约定和常见失败模式,并存储为长期内存,可在会话间重用。研究团队使用Claude 4.5 Sonnet在151个SWE Bench Pro实例上运行孔子代码代理两次。在第一次运行中,代理从头解决任务并生成笔记。在第二次运行中,代理读取这些笔记。在此设置下,平均回合数从64降至61,令牌使用量从约104k降至93k,Resolve@1从53.0提升至54.4。这表明笔记不仅是日志,还作为有效的跨会话内存功能。孔子SDK将工具作为扩展公开,例如文件编辑、命令执行、测试运行器和代码搜索。每个扩展可以维护自己的状态和提示连接。研究团队使用SWE Bench Pro的100个示例子集进行消融研究,探讨工具使用复杂性的影响。使用Claude 4 Sonnet时,从没有高级上下文功能的配置移动到具有高级上下文的配置,Resolve@1从42.0提升至48.6。使用Claude 4.5 Sonnet时,简单工具使用配置达到44.0,而更丰富的工具处理达到51.6,中间变体为51.0。这些数字表明,代理如何选择和排序工具几乎与骨干模型选择一样重要。

背景阅读

AI软件工程代理是近年来AI领域的热点方向,旨在自动化代码编写、调试和维护任务。早期代理如GitHub Copilot主要基于代码补全,而更先进的系统如SWE Bench Pro基准测试则评估代理在真实软件项目中的综合能力。孔子代码代理的发布反映了AI代理从单纯模型能力向系统架构优化的转变。孔子SDK强调脚手架设计,包括分层工作内存和持久笔记系统,这些机制有助于处理大规模代码库和长期任务,减少上下文限制的影响。类似技术在其他AI代理中也有探索,例如通过记忆增强或工具链优化提升性能。Meta和哈佛的合作结合了学术研究和工业实践,推动AI在软件工程中的应用向更高效、可扩展的方向发展。

评论 (0)

登录后参与评论

加载评论中...