词元无限智能体 InfCode 斩获 SWE-Bench-Verified SOTA
词元无限团队
为什么 C++ 如此之难?
上文提到 InfCode 在 C++ 子集上表现优异。为什么特别说明 C++ 这个语言呢?
原来,多语言基准显示,系统语言(C、C++、Rust)在内存管理、模板机制和复杂编译链方面的难度远高于 Python、Java 等高级语言。Multi‑SWE‑bench 中,C++ 问题往往涉及跨文件、大规模修改,部分任务需要改动 200 多行代码。表 1 总结了 Multi‑SWE‑bench 各模型在 C++ 上的解决率:
| 模型 | C++ 解决率(官方报告) |
|---|---|
| Claude 3.7 Sonnet | 11.63% |
| DeepSeek V3 | 7.75% |
| Qwen2.5‑72B‑Instruct | 0.78% |
| Doubao‑1.5‑pro | 0.00% |
在这样的背景下,InfCode 在 C++ 子集上取得 25.58% 的 Pass@1 解决率, 体现了语义定位与语法分析相结合的优势。它不仅能准确定位问题,更能在复杂语法和大型项目中生成正确补丁,这对工业界具有重要价值。
InfCode Agent 的三大核心亮点?
这些成绩非但不是偶然,而是来自一套精心设计的技术体系。下面,我们深入拆解 InfCode 的三大核心亮点。
1. 超越 RAG:基于功能意图的复杂上下文定位
在真实的软件仓库中,定位 bug 的难度往往远超编写补丁。SWE-Bench 的任务通常不提供堆栈追踪(StackTrace),智能体只能依靠自然语言描述(如 “搜索功能变慢” )去推测问题发生的位置。传统基于向量相似度的 RAG(Retrieval-Augmented Generation)机制,往往只会检索到包含 “search” 关键词的注释或变量,而非真正的核心实现。
为突破这一瓶颈,InfCode 提出了 “代码意图分析(Code Intent Analysis)” 机制。该机制让智能体能够超越字面匹配,理解自然语言背后的 “功能意图” ,并将其智能映射到项目中的具体实现单元(函数或类)。这一过程融合了语义推理与架构理解,使模型能在无堆栈信息的条件下仍然精准地锁定问题上下文。InfCode 的语义意图映射结合 AST 层级分析,有效提升了跨语言、跨模块的定位成功率,让智能体在复杂工程中具备了 “理解全局意图、直达根因代码” 的能力。
2. 增强工具:超越 Grep 的基于 AST 的结构化检索
找到问题的代码只是第一步,如何精准定位并修改它才是工程修复的关键。传统的文本搜索工具(如 Grep)在 C++ 等复杂语言中存在天然缺陷——同一标识符可能同时是类名、成员函数或变量,导致结果噪声极高。
InfCode 自研了基于抽象语法树(AST)的结构化检索引擎。它通过 Tree-Sitter 构建完整的语法树,为智能体提供 FindClass、FindFunction 等语法层 API。借助这种结构化检索,InfCode 的智能体不再 “盲搜” ,而是真正 “理解” 代码的层次结构,在复杂工程中实现更高精度的 bug 定位与安全修复。
3. 多智能体生成:基于对抗式的代码补丁与测试补丁双智能体生成
修复能力的核心不在于 “一次命中” ,而在于反复试错、持续进化。传统代码修复智能体多采用单一流程,这种单向模式往往陷入 “过拟合当前测试” 的局限。
InfCode 首创对抗式双智能体架构: - 代码补丁生成器(Code Patch Generator)负责修改代码以通过当前测试集; - 测试补丁生成器(Test Patch Generator)则负责生成更强的测试用例,捕捉遗漏的边界场景。
二者在一个闭环中交替迭代,这种 “越测越强、越修越稳” 的对抗式工作流,让补丁在鲁棒性与完备性上持续演化,最终达到可直接集成于生产仓库的工程级质量。
工程化细节优化
InfCode 的修复流程分为两阶段:生成(Generate) 与 筛选(Select)。
在生成阶段,系统并行启动多个独立容器,每个容器运行一条修复链路,允许模型查看代码库、运行测试、分析错误,并迭代生成候选补丁。最多经历五轮迭代,产生多样化的补丁组合。
筛选阶段,系统在真实构建和测试环境中重放每个补丁,除了验证测试通过与否,还考虑行为一致性、稳定性和副作用。最终选出的补丁不仅 “跑通测试” ,还具有更强的工程完整性与可维护性。这种广泛探索 + 精准筛选的策略使 InfCode 能产出质量更高的修复补丁,而非过拟合或脆弱的修改方案。
人工智能正在改变软件开发范式。传统的大模型只能生成代码片段,而新一代 “代码智能体(Code Agent)” 强调自主性、全流程覆盖和工程实用性。它们不仅会写代码,还能分解任务、调用工具、运行测试、反复调试,甚至提交补丁。InfCode 正是符合新一代要求的代码智能体。其通过精细的多智能体协作和语义/语法结合的上下文定位,可以大幅提高解决率,尤其在过去被视为 “禁区” 的 C++ 等系统语言上取得突破。
InfCode 的故事也展示了中国 AI 团队在全球智能体赛道上崛起的势头。随着社区开放和技术共享,自动化软件开发的梦想正一步步成为现实。