张大妈

代码直降 99%! 港大用4000行代码开源轻量级OpenClaw平替, 包含OpenClaw核心功能

源自公众号:韩数同学

02-22 08:30

OpenClaw 近期凭借惊人的增长速度成为焦点,但其83万行的代码量也让许多人望而却步。香港大学团队开源的 nanobot 项目,仅用4000行代码便复刻了 OpenClaw 的核心功能。它为那些想深入理解AI网关工作原理的开发者,提供了一个轻量且易于上手的绝佳选择。

代码直降 99%! 港大用4000行代码开源轻量级OpenClaw平替, 包含OpenClaw核心功能智能速览

  • OpenClaw 虽然功能强大,但代码量庞大,不易研究。

  • 港大开源的 nanobot 是一个仅4000行代码的轻量级 OpenClaw 平替。

  • nanobot 原生实现了AI网关的事件循环,未依赖 langchain 等第三方框架。

  • 项目支持飞书、QQ、钉钉等多种聊天软件,部署简单。

  • 其记忆功能较为简陋,直接通过文件和 grep 实现,效果可能有限。

  • nanobot 适合作为学习 OpenClaw 核心原理的入门项目。

代码直降 99%! 港大用4000行代码开源轻量级OpenClaw平替, 包含OpenClaw核心功能精华内容

面对 OpenClaw 庞大的代码库,想要理解其内部机制几乎是不可能的。而 nanobot 的出现,就像一本精简的参考手册,清晰地揭示了AI网关的核心逻辑。

核心架构实现

nanobot 的核心是一个事件循环,其工作流程清晰透明。它从聊天应用接收消息后,会拼接上下文构建一个完整的提示词并发送给大模型。如果模型返回 `tool_calls`,系统便会执行相应工具,并将结果回填给模型,循环此过程直到获得最终文本回复,最后通过聊天应用接口将消息返回给用户。整个逻辑完全使用 Python 原生实现,没有依赖 langchain 或 adk 等现成的 agent 框架,这使得代码结构非常直观,便于阅读和理解。

任务与记忆机制

在功能实现上,nanobot 采取了非常直接的策略。定时任务方面,所有任务被持久化到 `/.nanobot/cron/jobs.json` 文件中,系统通过一个独立的进程持续轮询该文件,到达预定时间即触发执行。而在记忆管理上,nanobot 采取了文件优先的思路,将所有长期记忆存储在 `memory.md` 文件中。当需要调取记忆时,它直接使用 `grep` 命令检索指定关键词。这种方案相比 OpenClaw 按天汇总压缩并结合向量数据库的复杂方案要简陋许多,其实际检索效果和效率可能存在局限。

定位与价值

将 nanobot 与 OpenClaw 对比,一个生动的比喻是:如果说 OpenClaw 是功能齐全的“豪华精装大平层”,那么 nanobot 就像是“毛坯房”,基础设施尚不完善。nanobot 的价值并不在于直接替代 OpenClaw 用于生产环境,而在于它提供了一个绝佳的学习样本。它用人类可读的4000行代码,清晰地勾勒出了一个AI网关的基本骨架,让开发者能够快速抓住核心要点,洞悉其背后的实现原理。

nanobot 以极简的方式,成功复刻了 OpenClaw 的核心逻辑,为开发者打开了一扇理解AI网关的窗口。它虽然在功能上有所欠缺,但作为学习和研究的样本,其价值不言而喻。或许,这正是未来开源项目发展的另一种趋势:在复杂与简约之间,找到最佳的学习路径。

内容由AI生成
1
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章