让 AI 模型调用外部工具——查天气、搜索数据库、发 API 请求——这个过程叫 function calling。
目前做这件事的方式是:把请求发给 GPT-4o、Claude、Gemini 这样的大模型,让它输出 JSON 格式的工具调用指令。
但调用一次大模型的成本是:网络延迟 + token 费用 + 隐私风险。
Needle 说:不需要。一个 26M 参数的小模型就够了。
26M 是什么概念
GPT-4o 大约 2000 亿参数。Claude Sonnet 几百亿。Gemini Pro 也是百亿级。
Needle 只有 2600 万参数。
小了三个数量级。 这意味着它可以在树莓派、手机、甚至嵌入式设备上跑,不需要联网,不需要 API key,不需要付钱。
它是从 Gemini 的工具调用能力蒸馏出来的。简单说:让 Gemini 做几百万次工具调用,记录它的输入和输出,然后用一个小模型去拟合这个映射关系。最终得到的模型体量是原来的千分之一,但功能几乎一样。
为什么这个方向值得关注
function calling 是 AI Agent 的核心能力之一。没有它,Agent 就是个聊天机器人,干不了实际的事。
但现在的架构有一个结构性问题:Agent 每调用一次工具,就要呼叫一次云端大模型。 一个复杂的 Agent 任务可能涉及十几次工具调用——每次都要经过网络、每次都要付 token 钱、每次都要等几秒。
Needle 的思路是:把工具调用这个步骤本地化。小模型在本地决定"该调哪个工具、参数是什么",然后把结果交给本地执行器。云端大模型只需要在需要做复杂推理的时候才介入。
这不仅是省钱,更是降低延迟和消除单点故障。
真实数据
Show HN 上 764 分、210 条评论——这是一个相当高的热度。HN 用户对"小模型"通常持怀疑态度,因为历史上太多项目号称"小模型替代大模型"但实际效果差很远。
但 Needle 的几个细节让它更有说服力:
- 由 AntonOsika(GPT-Engineer 创始人)参与维护——这个人在 AI 编码工具圈子里有信誉
- 5 天前发布,昨天还在更新 README——活跃度高
- 有完整的微调数据格式文档——不是黑盒,你可以自己训练
234 次 commits 说明项目迭代很快。6 个 open issues 说明社区已经开始实际使用并反馈问题。
和竞品的对比
端侧小模型做工具调用不是新概念:
- Hermes Pro:Nous Research 的函数调用模型系列
- Gorilla:伯克利的 API 调用模型
- NexusRaven:专门做 function calling 的开源模型
但 Needle 的独特之处在于:它明确对标 Gemini 的工具调用能力,并且声称通过蒸馏达到了可比的效果。 26M 的体量在同类模型中也是偏小的——大多数开源 function calling 模型在 1B-7B 范围。
我的看法
Needle 代表了一个越来越清晰的趋势:AI Agent 的"大脑"正在分化——大模型负责复杂推理,小模型负责执行调度。
这有点像人类的工作方式:你不会让一个哲学家去安排日程,也不会让一个行政秘书去做战略规划。
如果你的 Agent 工作流涉及大量工具调用,Needle 值得试用。即使你不打算在端侧部署,用它替代云端大模型做工具调用路由,也能显著降低成本和延迟。
但有一个现实问题要提醒:26M 参数的模型能处理多少种工具?它的泛化能力如何?面对没见过的新工具 schema,它还能准确输出吗?这些问题需要实际测试才能回答。
主要来源:
- cactus-compute/needle on GitHub — 2.1K stars, 123 forks, 234 commits
- Show HN 帖子:764 points, 210 comments
- 项目微调数据格式文档