Skip to content

Chương 7 Giải Pháp Nhẹ Nhàng: Khi Đặc Vụ Bắt Đầu “Giảm Cân”

Câu hỏi cốt lõi: OpenClaw có 500.000 dòng mã, nhưng tối thiểu cần bao nhiêu dòng để một Tác nhân hoạt động?

##1. Tại sao phải “giảm cân”?

Hãy tưởng tượng bạn muốn mua một chiếc xe tay ga di động. OpenClaw giống như một chiếc RV sang trọng - nó có nhà bếp, phòng tắm, phòng ngủ và có thể chứa một gia đình. Nhưng đôi khi, bạn chỉ cần một chiếc xe đạp chung.

"Trọng lượng" của OpenClaw:

  • Gần 500.000 dòng mã TypeScript
  • 53 hồ sơ
  • Hơn 70 gói phụ thuộc
  • Bộ nhớ thời gian chạy 1GB+

Đây không phải là một thiếu sót mà là một sự lựa chọn về thiết kế. OpenClaw cần hỗ trợ hơn 20 kênh trò chuyện, hệ thống cấp phép phức tạp và các tính năng cấp doanh nghiệp. Nhưng đối với nhiều cảnh, điều này quá nặng nề.

Khi bạn cần "giảm cân":

🌡️ Kịch bản 1: Running Agent trên Raspberry Pi Bạn muốn xây dựng một trợ lý nhà thông minh trên Raspberry Pi 30 nhân dân tệ. Với 512 MB RAM, OpenClaw thậm chí khó khởi động.

📚 Tình huống 2: Nguyên tắc học tập Bạn muốn hiểu cách hoạt động của Agent. Đối mặt với 500.000 dòng mã cũng giống như việc cố gắng hiểu cơ chế hoạt động của một chiếc máy bay bằng cách nghiên cứu toàn bộ chiếc Boeing 747—việc đó quá phức tạp.

Kịch bản 3: Nhu cầu đơn giản Bạn chỉ muốn Đại lý nhắc bạn uống nước mỗi ngày một lần và lập báo cáo hàng tuần. Không cần 20 kênh, không cần các tính năng phức tạp dành cho doanh nghiệp.

Điều này dẫn đến một câu hỏi thú vị: Yêu cầu tối thiểu đối với một Đại lý là gì? **

##2. Ba “câu chuyện giảm cân thành công”

Hãy cùng điểm qua ba chương trình “giảm cân” thành công:

Dự ánNgôn ngữMã lõiTính năng cốt lõi
NanoClawTypeScript~7.000 dòngQuy trình đơn + cách ly container
NanobotPython~4.000 dòngNghiên cứu thân thiện + MCP
ZeroClawrỉ sétKhông rõ<5MB 内存

它们走的路线完全不同,但都保留了 Agent 的核心能力。

2.1 NanoClaw:用容器"隔离"复杂性

作者的想法:"OpenClaw 有近 50 万行代码、70+ 依赖。我可不敢把看不懂的代码全权托付给生活。"

NanoClaw 的解决思路很直接:既然控制权限很复杂,那就干脆隔离起来

核心设计:

① 单进程替代分布式 OpenClaw 有 Gateway 作为控制平面,功能模块之间通过 WebSocket 通信这很灵活,但也复杂。 NanoClaw 就一个大循环:轮询 SQLite 数据库 → 发现新消息 → 启动容器处理 → 返回结果。没有复杂的网络服务间通信,容器通过文件系统 IPC 与主机交互。

② 容器隔离替代权限配置 OpenClaw 靠应用层的配对码和允许列表进行访问控制,Agent 直接运行在主机上。这是应用层权限,配置复杂,还可能出漏洞。 NanoClaw 直接把 Agent 扔进 Docker 容器。Agent 能访问什么,完全看容器挂载了什么目录。这是操作系统级的隔离,简单且安全。

③ Skills 按需添加 NanoClaw 核心代码不包含任何渠道(Telegram、WhatsApp 等)。需要什么,用 Skills 安装: @@@000000@@@ 每个人的 NanoClaw 都是"私人定制",没有多余包袱。

实际用起来: @@@000001@@@

对话时用触发词 @@@000007@@@: @@@000002@@@

NanoClaw 的特色功能:

  • Agent Swarms:多个 Agent 协作完成任务
  • 每个群组独立记忆:每个聊天群组有自己的 CLAUDE.md
  • 定时任务:内置调度器

适合谁? 想要一个可控、可理解、安全的私人助理。

2.2 Nanobot:Python 党的"教科书"

如果说 NanoClaw 是用容器隔离复杂性,Nanobot 则是用清晰的代码结构让复杂性变得可理解。

项目背景:香港大学数据科学团队(HKUDS)开发,"比 OpenClaw 少 99% 代码,但核心功能都在"。

核心数据:

  • 约 4,000 行 Python 核心代码
  • Agent 核心逻辑(loop.py)约 500 行
  • 支持 Python 3.11+
  • PyPI 直接安装:@@@000008@@@

Nanobot 的设计哲学是"显式优于隐式"。每个功能都写在明处:

Agent 循环(核心逻辑):

  1. 从消息队列接收消息
  2. 构建上下文(系统提示词 + 历史记录 + 记忆 + Skills)
  3. 调用 LLM
  4. 执行工具调用
  5. 返回结果

代码结构清晰得像教科书: @@@000003@@@

多渠道支持: Telegram、Discord、WhatsApp、飞书、钉钉、Slack、QQ、Email、Matrix。配置文件简单直接: @@@000004@@@

MCP 支持(亮点): Nanobot 原生支持 Model Context Protocol,可以连接外部工具服务器。比如文件系统 MCP: @@@000005@@@

适合谁? 想理解 Agent 原理的开发者、研究者。

2.3 ZeroClaw:把"轻"做到极致

如果 NanoClaw 是"精简",Nanobot 是"清晰",那 ZeroClaw 就是把"轻"做到了极致。

团队:哈佛、MIT、Sundai.Club 社区联合开发。

数字说话:

指标OpenClawNanoClawNanobotZeroClaw
内存>1GB~100MB~100MB*<5MB
Khối lượng~28MB~100MBKhông áp dụng~8,8MB
Chi phí$599 MacMáy chủ tổng hợp~$50$10 Phần cứng

**Làm thế nào để làm điều đó? ** ZeroClaw được viết bằng Rust và được biên dịch thành một tệp nhị phân duy nhất. Không có thời gian chạy Node.js, không có trình thông dịch Python, chỉ có mã máy thuần túy.

Thiết kế kiến trúc: ZeroClaw sử dụng kiến trúc điều khiển đặc điểm. Có thể hiểu nó là một “giao diện khả năng”:

  • Đặc điểm của nhà cung cấp: Miễn là giao diện này được triển khai, bạn có thể kết nối với bất kỳ LLM nào
  • Đặc điểm kênh: Miễn là giao diện này được triển khai, bạn có thể truy cập bất kỳ kênh trò chuyện nào
  • Đặc điểm công cụ: Miễn là giao diện này được triển khai, bất kỳ công cụ nào cũng có thể được thêm vào

Điều này có nghĩa là: Tất cả các bộ phận có thể được thay thế mà không ảnh hưởng đến các bộ phận khác.

Nhà sản xuất độc lập: ZeroClaw không bị ràng buộc với bất kỳ nhà cung cấp AI nào. Hỗ trợ OpenAI, Anthropic, DeepSeek, Moonshot, Zhipu, vLLM, Ollama... và thậm chí có thể chuyển đổi chỉ bằng một cú nhấp chuột.

Hỗ trợ phần cứng (lợi thế duy nhất): ZeroClaw có thể chạy trực tiếp trên các thiết bị nhúng:

  • Raspberry Pi -ESP32
  • Bo mạch phát triển STM32
  • Các thiết bị ngoại vi GPIO khác nhau

Điều này có nghĩa là Tác nhân có thể trực tiếp điều khiển thế giới vật chất: đọc cảm biến, điều khiển động cơ, bật đèn LED.

**Nó phù hợp với ai? ** Nhà phát triển nhúng, các tình huống nhạy cảm về chi phí và người dùng không tin tưởng nhà cung cấp đám mây.

3. Sự đánh đổi cốt lõi: Đã “trừ đi” cái gì?

“Giảm cân” không bao giờ miễn phí. Khi bạn thu nhỏ một Tác nhân từ 500.000 dòng mã xuống còn vài nghìn dòng, bạn phải hy sinh điều gì đó. Mấu chốt là: **Những sự hy sinh này có xứng đáng không? **

Bảng sau đây tóm tắt sự cân bằng giữa ba dự án về các chức năng chính:

chiều chức năngOpenClawNanoClawNanobotZeroClaw
Kiến trúcPhân tán, có thể mở rộng theo chiều ngangQuy trình đơn + cách ly containerMô-đun quy trình đơnNhị phân đơn
QuyềnRBAC cấp doanh nghiệpCách ly vùng chứa (chế độ "ô")Danh sách trắng đơn giảnMã ghép nối + danh sách cho phép
KênhTích hợp 20+Kênh Core Zero, Kỹ năng được cài đặt theo yêu cầuĐa kênh, được định cấu hình để bậtHỗ trợ đặc điểm, CLI mặc định
Bộ nhớCơ sở dữ liệu vectơ + nhúng tự độngMỗi nhóm CLAUDE.md Văn bản thuần túyTìm kiếm cơ bản SQLiteSQLite + FTS5 + vector tự phát triển
Phần mở rộngPlug-in động + cập nhật nóngKhông có plug-in, đổi mã trực tiếpCông cụ bên ngoài MCPThay thế đặc điểm, cần biên dịch lại
Phụ thuộcHơn 70 góiPhụ thuộc cốt lõi một chữ sốcài đặt tùy chọn pipKhông phụ thuộc sau khi biên dịch

Ba triết lý đánh đổi khác nhau

NanoClaw: Thay thế quản lý bằng cách ly

Thay vì định cấu hình các quy tắc cấp phép phức tạp, tốt hơn hết bạn nên đặt trực tiếp Tác nhân vào vùng chứa. "Có thể làm gì" được xác định bởi thư mục mount chứ không phải tệp cấu hình. Đây là chế độ xem bảo mật "không tin cậy mặc định" - Tôi sẽ không giám sát bạn vì bạn không thể thoát khỏi lồng.

Nanobot: Sử dụng sự rõ ràng thay vì toàn diện

Code giống như sách giáo khoa, mọi chức năng đều được viết rõ ràng. Đừng yêu cầu các chức năng đầy đủ nhất mà hãy yêu cầu nhìn thoáng qua để dễ hiểu. Đây là khái niệm thiết kế "dễ hiểu trước tiên" - Tôi muốn có ít chức năng hơn nhưng cũng cho phép bạn hiểu từng dòng mã đang làm gì.

ZeroClaw: Thay thế phổ thông bằng tối thượng

Bộ nhớ <5 MB, nhị phân đơn, không phụ thuộc vào thời gian chạy. Đây là quan điểm kỹ thuật "hiệu quả tài nguyên là trên hết" - Tôi muốn Tác nhân chạy trên phần cứng 10 nhân dân tệ.

Một cái nhìn sâu sắc cốt lõi

Giải pháp nhẹ nhàng không phải là "đi tắt", mà là xác định lại các ưu tiên:

  • Đối với doanh nghiệp, tuân thủ, mở rộng và làm việc nhóm là ưu tiên hàng đầu → Chọn OpenClaw
  • Đối với cá nhân, sự đơn giản, dễ kiểm soát và sử dụng vừa đủ là ưu tiên hàng đầu → chọn giải pháp gọn nhẹ

Giống như mua một chiếc điện thoại di động: phiên bản doanh nghiệp có quản lý MDM và tăng cường bảo mật, nhưng người dùng cá nhân có thể chỉ cần phiên bản cơ bản - mỏng, nhẹ, tiết kiệm điện và giá rẻ.

**Giá trị cốt lõi của Agent không nằm ở việc có nhiều chức năng mà ở sự vừa phải. **

4. Gợi ý lựa chọn mẫu xe: Bạn cần “chiếc xe” nào?

你的需求是什么?

    ├─→ "我想搞懂 Agent 原理"
    │       └─→ Nanobot(Python,代码像教科书)

    ├─→ "我要一个私人助理,安全可控"
    │       └─→ NanoClaw(容器隔离,AI-native)

    ├─→ "我要在树莓派/嵌入式设备上跑"
    │       └─→ ZeroClaw(<5MB 内存)

    ├─→ "我需要 MCP 协议支持"
    │       └─→ Nanobot(原生 MCP)

    └─→ "我要生产环境,功能最全"
            └─→ OpenClaw(20+渠道,生态完善)

5. Tóm tắt: Cái nào phù hợp nhất là cái tốt nhất

Ba dự án đã đi theo ba con đường khác nhau:

  • NanoClaw: Sử dụng các vùng chứa để tách biệt độ phức tạp và các kỹ năng được thêm vào theo yêu cầu
  • Nanobot: Làm cho sự phức tạp trở nên dễ hiểu với mã rõ ràng, hỗ trợ MCP
  • ZeroClaw: Sử dụng Rust để tối đa hóa việc sử dụng tài nguyên và hỗ trợ phần cứng

Họ chứng minh một điều: Tác nhân không cần 500.000 dòng mã để hoạt động.

Tất nhiên, điều này không có nghĩa là OpenClaw tệ. Nó giống như mua một chiếc ô tô: đôi khi bạn cần một chiếc SUV (OpenClaw), đôi khi một chiếc xe đạp là đủ (Giải pháp hạng nhẹ). Điều quan trọng là chọn đúng công cụ.