亲爱的朋友们,创作不容易,若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力,谢谢大家!有问题请私信或联系邮箱:
当前大多数 AI 智能体框架动辄数万行代码,配置复杂、依赖繁重,让开发者望而却步。nanobot 反其道而行之——以约 5000 行核心代码 实现企业级 AI 智能体能力,支持 15+ 通讯渠道、30+ LLM 提供商、持久化长期记忆 和 多智能体后台协作。它的设计哲学是:最小的代码复杂度,最大的生产可用性。
本文将从架构设计、智能体协作机制、内存系统三个维度,深度解析 nanobot 的核心技术。

nanobot 定位为个人 24⁄7 运行的 AI 智能体,而非通用开发框架。它专注于:
nanobot 的核心架构围绕 Message Bus(消息总线) 展开,彻底解耦渠道层与智能体层:
渠道层(Channels) Telegram / Discord / WeChat / Feishu / Email …
↓ InboundMessage(入站消息) ┌─────────────────┐ │ Message Bus │ ← 异步队列,无路由逻辑 └─────────────────┘ ↓ Agent Loop(智能体循环) 1. 构建上下文(历史 + 记忆 + 技能) 2. 调用 LLM 3. 执行工具调用 4. 迭代直到完成 ↓ OutboundMessage(出站消息) ┌─────────────────┐ │ Message Bus │ └─────────────────┘ ↓
渠道层(带重试的可靠投递)
核心组件职责一览
这是 nanobot 最具特色的能力之一——主智能体可以派生后台子智能体处理耗时任务,自身立即响应用户。
4.1 协作工作流
spawn 工具,传入任务描述 —
派生 立即收到任务 ID,继续服务用户 在独立 asyncio.Task 中启动
执行 正常处理其他用户消息 独立运行(最多 15 次工具迭代)
完成 系统消息注入主队列,感知结果 通过系统消息宣告结果
回报 将结果汇报给用户 任务结束,资源释放
4.2 子智能体的隔离设计
子智能体并非完整的智能体克隆,而是受限沙箱:
spawn、无
message)
会话历史 持久化 独立,不继承主会话
最大迭代 200 次 15 次
运行方式 同步处理请求 异步后台任务
结果传递 — 系统消息注入主队列
4.3 任务管理
- 会话追踪:
session_key → {task_ids}映射,支持会话级批量取消 - 结果通知:子智能体完成后,主智能体在下次对话时自动感知并汇报
- 防失控:15 次迭代上限 + 受限工具集,确保子任务不会无限运行
nanobot 的 ContextBuilder 将多层信息组装为 LLM 能理解的完整上下文:
nanobot 的记忆系统分为两层,形成“短期压缩 + 长期深思”的闭环:
6.1 第一层:Consolidator(轻量历史压缩)
memory/history.jsonl
游标追踪
.cursor 文件记录已处理位置
6.2 第二层:Dream(深思性长期记忆)
Dream 是 nanobot 的核心创新——定期(默认每 2 小时)对历史日志进行外科手术式编辑,更新三个长期文件:
Dream 的变更通过 GitStore 记录,支持完整的版本历史、审计和回滚:
/dream 立即触发 Dream 处理
/dream-log 查看最近记忆变更
/dream-restore
回滚到特定版本
7.1 渠道矩阵(15+)
所有渠道通过统一的 BaseChannel 抽象接入,新渠道只需实现 start()、stop()、send() 三个方法。
7.2 LLM 提供商(30+)
nanobot 根据模型名称自动路由到对应提供商,无需手动配置 provider 字段。
8.1 内置工具
read_file、
write_file、
edit_file、
list_dir
搜索
glob(文件匹配)、
grep(内容搜索)
网络
web_search、
web_fetch
系统
exec(Shell 命令,可配置 bwrap 沙箱)
协作
spawn(子智能体)、
message(跨渠道消息)
定时
cron(计划任务)
扩展 MCP 服务器动态工具
8.2 技能系统(Skills)
技能是模块化 Markdown 教程,教智能体如何使用特定领域工具:
read_file 加载完整内容
依赖声明 可声明所需命令行工具或环境变量
Always 标记 关键技能(如身份验证)始终加载
用户覆盖
workspace/skills/ 中的用户技能覆盖内置技能
nanobot 的核心价值在于证明了复杂性不是能力的前提。它以极简的架构实现了持久运行、多渠道接入、长期记忆和多智能体协作——这些能力在其他框架中往往需要数倍的代码量。对于希望深入理解智能体系统内核、或部署轻量级个人 AI 的开发者,nanobot 是一个值得深度研究的参考实现。
参考资料:
- Model Context Protocol 规范 — modelcontextprotocol.io
- OpenClaw 项目
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/257245.html