我用4B参数模型构建的编码智能体在基准测试中达到87%,诀窍如下
摘要
作者构建了SmallCode,一个针对小型本地模型优化的编码智能体,通过复合工具、改进循环和令牌预算等技术,在4B参数模型上实现了87%的基准测试成功率。
我对所有编码智能体(OpenCode, Cursor, Claude Code)都假设你在运行GPT-5.4或Claude Opus感到沮丧。如果你用本地模型(如Gemma或Qwen)尝试它们,它们就会崩溃。我发现工具调用经常失败,上下文溢出,多步任务崩溃。所以我构建了SmallCode。它是从零开始为小型本地模型设计的。
**结果:** 使用Gemma 4模型(每token仅激活4B参数)通过了87/100的基准测试任务。OpenCode使用14B模型得分约75%。承担繁重工作的是框架,而不是模型大小。
**工作原理(让小型模型可靠的技巧):**
* **复合工具:** 不再让模型链式调用4个工具(查找文件 → 读取文件 → 编辑文件 → 验证),SmallCode提供一次完成全部4个步骤的工具。小型模型在3次以上连续调用后会失去连贯性。这使失败率减半。
* **改进循环:** 每次模型编写代码时,SmallCode立即编译/检查。如果失败,它自动反馈错误。模型不必聪明到一次就能正确——它只需要在看到错误时修复它们。
* **失败时分解:** 如果模型对同一任务失败两次,SmallCode停止重试,而是将问题分解为更小的部分。「修复这个200行文件」变成「仅修复第45行」。
* **升级:** 即使分解也失败,并且你配置了Claude/OpenAI密钥,它会自动将这一任务升级到更大的模型。你95%的时间保持本地,5%使用云端。
* **令牌预算:** 小型模型有32k-256k上下文。SmallCode从不把整个文件丢进去。它总结、截断并管理每个令牌,使模型永远不会在重要代码中间看到「...」截断。
* **代码图:** 不再使用grep搜索代码库,SmallCode将代码索引为符号图(函数、类、谁调用谁)。当你问「认证如何工作」时,它会遍历图并只返回相关的关联代码——而不是15个随机的文件片段。
**外观:** 全屏终端UI(类似OpenCode/vim)、可滚动聊天、带`/`的命令面板、插件系统、跨会话的持久化记忆。
**它不做什么:**
* 尚无LSP集成
* 尚无多会话支持
* 无桌面应用
* 不与Claude Code竞争前沿模型用户
**安装:**
npm install -g smallcode
cd your-project
smallcode
将其指向LM Studio、Ollama或任何兼容OpenAI的端点。MIT许可,一切都在GitHub上:[https://github.com/Doorman11991/smallcode](https://github.com/Doorman11991/smallcode)
欢迎就架构或基准测试方法提问。
相似文章
它是否具备足够的代理能力?使用你自己的工具对开放模型进行基准测试
这篇博客文章介绍了一种基准测试方法,用于评估开放模型在代理编程任务上的表现,不仅关注准确性,还关注代理过程的效率。它提供了一个使用 pi coding agent 的可定制工具框架,并在不同模型和库版本上进行测试。
我用 Ollama 构建了一个本地自主编码代理——微调灵魂模型,40轮代理循环,MiniMax M3 处理重活
一位开发者使用 Ollama 构建了一个本地自主编码代理,结合了微调个性模型(Eve)进行对话和 MiniMax M3 处理重活,实现了 40 轮代理循环,包含 16 个工具,9 个测试全部一次通过。
我从零重建了一个Claude Code风格的编程代理——整个代理循环只有6行代码。20章,约5000行代码,无框架,也支持本地模型
一位开发者分享了一个20章的教程,从头重建了一个Claude Code风格的编程代理,展示了整个代理循环(约6行代码),并支持本地模型和多种LLM API。
@OkhayIea: 每个人都在竞相构建“AI科学家”。因此我们提出了一个直白的问题:当今最好的编码代理能打败公开发表的…
介绍了NatureBench,这是一个跨学科基准测试,包含来自Nature论文的90个任务,用于测试AI编码代理。研究发现,最好的代理(Claude Opus 4.7)仅在17.8%的任务上超越了现有最佳水平,而且其成功往往是通过将科学简化为监督式机器学习,而非真正的发现来实现的。
我对同一项目测试了8个AI编程代理。结果:四分之一个可用于生产,总成本1.94美元。
对8个AI编程代理在构建VPS管理工具包上的基准测试发现,四个实现中只有一个可投入生产,总成本1.94美元,规划与代码成本比为1:28。