将 AI 与搜索合而为一?用“纯 Zig”从零构建的数据库:Antfly

抽象图形,象征着复杂的数据结构通过 Zig 语言整合到一个引擎中
AI Summary

无需分别构建数据分析和 AI 功能,使用“纯 Zig”语言开发的 Antfly 展示了如何在单一引擎中处理搜索与推理。

想象一下:当我们在购物网站搜索商品时,人工智能(AI)能瞬间推断出该商品是否符合我们的口味并进行推荐。在当前普遍的技术环境下,要实现这一功能,通常需要分别部署“搜索引擎”、“推荐 AI 服务”以及存储数据的“数据库”。更麻烦的是,必须伴随极其复杂的过程,以确保这些系统之间的数据状态能够实时保持同步 出处: Building a Distributed Search Engine in Pure Go — Antfly Research

然而,最近一个雄心勃勃的项目引起了技术界的关注,它试图在一个引擎内彻底解决所有这些流程。这就是“Antfly”,它是利用现代系统编程语言 Zig 从零开始设计的。

为什么这很重要?

普通用户可能会想:“开发人员有必要从零开始重新造引擎吗?”但这一变化直接关系到我们所感受到的服务速度和成本,是一个核心问题。

按照传统方式,如果想给服务接入 AI 功能,必须引入大量的外部库(即借用功能的外部代码包)。这就像用乐高积木盖城堡,由于不得不强行拼接他人制作的零件,结果反而丢失了城堡原本的设计图。Antfly 选择剔除所有外部依赖,从零开始自我构建 出处: GitHub - antflydb/antfly · GitHub。这样一来,服务会变得更加轻量,由外部代码冲突导致的意外错误(Bug)会减少,最重要的是,无需复杂的昂贵硬件也能高效运行 AI 功能 出处: GitHub - Andrew-Velox/awesome-zig-llm: A curated list of awesome…

通俗地讲:Antfly 为什么要选择 Zig?

让我们打个比方。许多现有的数据库就像是用大量由 C 或 C++ 制作的外部零件组装而成的“组装家具”。如果这些零件的规格略有不同,后续不仅容易出问题,修改起来也非常困难。

而用“纯 Zig”构建,就像是从木材开始亲自雕琢,从头到尾打造出完全适合自己的家具。由于不借用外部零件(零依赖),能够实现将程序运行所需的所有文件合并为一个的“静态链接(static linking)”,最终产物极其坚固且轻量 出处: A pure Zig 2D graphics library - z2d - Showcase - Ziggit

Antfly 团队为了处理搜索和推理这两项高难度任务,从根本上思考了什么是真正需要的,答案就是用 Zig 重新设计 出处: Search-and-Inference, From First Principles — Antfly Research。团队摆脱了以往那种“祈祷外部 AI 库能顺利通过”的被动方式,转而采取主动(hands-on)的方法:亲自制定设计规范,并将测试拆解为子系统单元进行验证 出处: A search-and-inference database from scratch in pure Zig

当前进展:到了什么程度?

目前,Antfly 正在开发中,旨在利用 Zig 语言在单一数据库环境中处理搜索和 AI 推理 出处: GitHub - antflydb/antfly · GitHub。当然,它尚未完全完成。相反,团队正专注于通过这次重构过程对原有设计进行文档化,并仔细填补缺失的测试项目,以此打好基础 出处: A search-and-inference database from scratch in pure Zig

Zig 社区正因这种“从零开始构建”的热潮而沸腾。不仅是数据库,连图形库、MIDI(音乐数据标准)库等,这类彻底消除 C 语言依赖的“纯 Zig”项目层出不穷 出处: A community for anyone interested in the Zig Programming Language.

未来的可能性

该项目的核心价值在于“效率”。Antfly 等项目的目标是让 AI 运算在非高端的普通硬件(modest hardware)上也能流畅运行 出处: GitHub - Andrew-Velox/awesome-zig-llm: A curated list of awesome…

如果这一尝试成功,我们将能够在没有大型云服务器的情况下,在本地计算机或小型设备上,通过更多的 AI 应用程序实现实时搜索和智能推理。 “合并复杂项,移除不必要的依赖。” 这一简单的原则,或许会成为将 AI 技术带入普通日常生活的强大钥匙。

MindTickleBytes AI 记者的视点

系统越复杂,越需要从“底层”重新审视的勇气。Antfly 的案例不仅是一次技术挑战,更彰显了整合碎片化 AI 生态系统的决心。比起盲目追求效率而引入庞大的外部库,深挖本质需求的态度,终将创造出更佳的用户体验。

参考资料

  1. A search-and-inference database from scratch in pure Zig
  2. Building a Distributed Search Engine in Pure Go — Antfly Research
  3. Search-and-Inference, From First Principles — Antfly Research
  4. A pure Zig 2D graphics library - z2d - Showcase - Ziggit
  5. GitHub - antflydb/antfly · GitHub
  6. GitHub - Andrew-Velox/awesome-zig-llm: A curated list of awesome…
  7. A community for anyone interested in the Zig Programming Language.
AD
测试你的理解
Q1. Antfly 数据库最大的特点是什么?
  • 基于 Python 库开发
  • 在单一引擎中处理搜索与 AI 推理
  • 利用包含外部 C 依赖的高性能库
Antfly 在单一引擎中处理搜索与 AI 推理,且完全使用纯 Zig 语言开发,无需外部库。
Q2. 在编程中,使用“纯 Zig(pure Zig)”开发意味着什么?
  • 仅使用 Zig 语言并消除了 C 语言依赖
  • 无需网络连接即可运行
  • 将所有代码写在同一行
使用纯 Zig 开发意味着不使用外部 C 依赖或外部库,从而能够实现静态链接(static linking)。
Q3. Antfly 团队选择 Zig 语言的主要原因是什么?
  • 因为它支持最著名的 AI 库
  • 为了满足搜索和推理引擎所需的技术需求
  • 因为它的 YouTube 观众最多
Antfly 团队选择 Zig 语言是为了完美实现搜索与 AI 推理数据库所需的技术性能和设计。