Skip to content

Bab 7 Solusi Ringan: Saat Agen Mulai "Melangsingkan"

Pertanyaan Inti: OpenClaw memiliki 500.000 baris kode, namun berapa baris minimum yang diperlukan agar Agen dapat bekerja?

1. Mengapa kita harus "menurunkan berat badan"?

Bayangkan Anda ingin membeli skuter mobilitas. OpenClaw seperti RV mewah - memiliki dapur, kamar mandi, kamar tidur dan dapat menampung keluarga. Namun terkadang, Anda hanya membutuhkan sepeda bersama.

"Berat" OpenClaw:

  • Hampir 500.000 baris kode TypeScript
  • 53 profil
  • Lebih dari 70 paket ketergantungan
  • Memori waktu proses 1GB+

Ini bukan kekurangan, tapi pilihan desain. OpenClaw perlu mendukung lebih dari 20 saluran obrolan, sistem izin yang kompleks, dan fitur tingkat perusahaan. Namun untuk banyak adegan, ini terlalu berat.

Saat Anda perlu "menurunkan berat badan":

🌡️ Skenario 1: Menjalankan Agen di Raspberry Pi Anda ingin membuat asisten rumah pintar dengan Raspberry Pi seharga 30 yuan. Dengan RAM 512MB, OpenClaw bahkan sulit untuk dijalankan.

📚 Skenario 2: Prinsip Pembelajaran Anda ingin memahami cara kerja Agen. Menghadapi 500.000 baris kode seperti mencoba memahami mekanisme pesawat terbang dengan mempelajari keseluruhan Boeing 747—itu terlalu rumit.

Skenario 3: Kebutuhan sederhana Anda hanya ingin Agen mengingatkan Anda untuk minum air sekali sehari dan menyusun laporan mingguan. Tidak memerlukan 20 saluran, tidak memerlukan fitur perusahaan yang rumit.

Hal ini menimbulkan pertanyaan menarik: Apa persyaratan minimum untuk seorang Agen? **

2. Tiga "kisah sukses penurunan berat badan"

Mari kita lihat tiga program "penurunan berat badan" yang sukses:

ProyekBahasaKode IntiFitur Inti
NanoClawSkrip Ketik~7.000 barisProses tunggal + isolasi kontainer
Nanobotular piton~4.000 barisRamah penelitian + MCP
ZeroClawKaratTidak diketahui<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~100 MB~100 MB<5 MB
Volume~28 MB~100 MBT/A~8,8MB
Biaya$599 MacServer Umum~$50Perangkat Keras$10

**Bagaimana cara melakukannya? ** ZeroClaw ditulis dalam Rust dan dikompilasi menjadi satu biner. Tidak ada runtime Node.js, tidak ada juru bahasa Python, hanya kode mesin murni.

Desain Arsitektur: ZeroClaw menggunakan Arsitektur yang digerakkan oleh sifat (sifat). Ini dapat dipahami sebagai "antarmuka kemampuan":

  • Sifat Penyedia: Selama antarmuka ini diterapkan, Anda dapat terhubung ke LLM mana pun
  • Sifat Saluran: Selama antarmuka ini diterapkan, Anda dapat mengakses saluran obrolan apa pun
  • Sifat Alat: Selama antarmuka ini diterapkan, alat apa pun dapat ditambahkan

Artinya: Semua komponen dapat diganti tanpa mempengaruhi bagian lainnya.

Produsen independen: ZeroClaw tidak terikat dengan vendor AI mana pun. Mendukung OpenAI, Anthropic, DeepSeek, Moonshot, Zhipu, vLLM, Ollama... dan bahkan dapat dialihkan dengan satu klik.

Dukungan perangkat keras (keunggulan unik): ZeroClaw dapat berjalan langsung di perangkat yang tertanam: -Raspberry Pi -ESP32 -Papan pengembangan STM32

  • Berbagai periferal GPIO

Artinya Agen dapat langsung mengontrol dunia fisik: membaca sensor, mengendalikan motor, menyalakan LED.

**Cocok untuk siapa? ** Pengembang tertanam, skenario sensitif biaya, dan pengguna yang tidak mempercayai vendor cloud.

3. Pertukaran inti: Apa yang telah "dikurangi"?

"Menurunkan berat badan" tidak pernah gratis. Saat Anda mengecilkan Agen dari 500.000 baris kode menjadi beberapa ribu baris, ada sesuatu yang harus dikorbankan. Kuncinya adalah: **Apakah pengorbanan ini sepadan? **

Tabel berikut merangkum trade-off antara ketiga proyek dalam hal fungsi utama:

Dimensi fungsionalOpenClawNanoClawrobot nanoCakar Nol
ArsitekturTerdistribusi, dapat diskalakan secara horizontalProses tunggal + isolasi kontainerModularitas proses tunggalBiner tunggal
IzinRBAC tingkat perusahaanIsolasi wadah (mode "sel")Daftar putih sederhanaKode penyandingan + daftar yang diizinkan
SaluranBawaan 20+Saluran Core Zero, Keterampilan dipasang sesuai permintaanMulti-saluran, dikonfigurasi untuk mengaktifkanDukungan sifat, CLI default
MemoriBasis data vektor + penyematan otomatisSetiap grup CLAUDE.md Teks biasaPencarian dasar SQLiteSQLite + FTS5 + vektor yang dikembangkan sendiri
EkstensiPlug-in dinamis + pembaruan terbaruTanpa plug-in, langsung ubah kodeAlat eksternal MCPPenggantian sifat, perlu dikompilasi ulang
Ketergantungan70+ paketKetergantungan inti satu digitinstalasi opsional pipNol ketergantungan setelah kompilasi

Tiga filosofi pertukaran yang berbeda

NanoClaw: Ganti manajemen dengan isolasi

Daripada mengonfigurasi aturan izin yang rumit, lebih baik langsung memasukkan Agen ke dalam container. "Apa yang bisa dilakukan" ditentukan oleh direktori mount, bukan file konfigurasi. Ini adalah pandangan keamanan "ketidakpercayaan bawaan" - Saya tidak akan memantau Anda karena Anda tidak dapat melarikan diri dari kurungan.

Nanobot: Gunakan kejelasan, bukan komprehensif

Kodenya seperti buku teks, setiap fungsinya ditulis dengan jelas. Jangan tanya fungsinya paling lengkap, tapi minta pemahamannya sekilas. Ini adalah konsep desain yang "mengutamakan pemahaman" - Saya lebih suka fungsi yang lebih sedikit, namun juga membiarkan Anda memahami apa yang dilakukan setiap baris kode.

ZeroClaw: Ganti universal dengan ultimate

Memori <5MB, biner tunggal, tidak ada ketergantungan runtime. Ini adalah perspektif teknik yang "mengutamakan efisiensi sumber daya" - Saya ingin Agen berjalan pada perangkat keras seharga 10 yuan.

Wawasan inti

Solusi ringannya bukan tentang "mengambil jalan pintas", namun tentang mendefinisikan ulang prioritas:

  • Untuk perusahaan, kepatuhan, ekspansi, dan kerja tim adalah prioritas pertama → Pilih OpenClaw
  • Untuk individu, kesederhanaan, pengendalian, dan penggunaan yang memadai adalah prioritas pertama → pilih solusi yang ringan

Ini seperti membeli ponsel: versi perusahaan memiliki manajemen MDM dan penguatan keamanan, tetapi pengguna individu mungkin hanya memerlukan versi dasar - tipis, ringan, hemat daya, dan murah.

**Nilai inti Agen tidak terletak pada banyaknya fungsi, namun pada ketepatannya. **

4. Saran pemilihan model: "Mobil" mana yang Anda butuhkan?

你的需求是什么?

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

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

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

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

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

5. Ringkasan: Yang paling cocok adalah yang terbaik

Ketiga proyek tersebut mengambil tiga jalur berbeda:

  • NanoClaw: Gunakan wadah untuk mengisolasi kompleksitas, dan keterampilan ditambahkan sesuai permintaan
  • Nanobot: Membuat kompleksitas dapat dimengerti dengan kode yang jelas, mendukung MCP
  • ZeroClaw: Gunakan Rust untuk memaksimalkan penggunaan sumber daya dan perangkat keras pendukung

Mereka membuktikan satu hal: Agen tidak memerlukan 500.000 baris kode untuk bekerja.

Tentu saja, ini tidak berarti bahwa OpenClaw buruk. Ini seperti membeli mobil: terkadang Anda membutuhkan SUV (OpenClaw), terkadang sepeda saja sudah cukup (Solusi Ringan). Kuncinya adalah memilih alat yang tepat.