Skip to content

บทที่ 7 วิธีแก้ปัญหาแบบน้ำหนักเบา: เมื่อตัวแทนเริ่ม "ผอมลง"

คำถามหลัก: OpenClaw มีโค้ด 500,000 บรรทัด แต่ขั้นต่ำที่ Agent จะทำงานคือกี่บรรทัด

1. ทำไมเราจึงควร “ลดน้ำหนัก”?

ลองจินตนาการว่าคุณต้องการซื้อสกู๊ตเตอร์เคลื่อนที่ OpenClaw เปรียบเสมือนรถบ้านหรู มีห้องครัว ห้องน้ำ ห้องนอน และสามารถรองรับครอบครัวได้ แต่บางครั้งคุณแค่ต้องการจักรยานที่ใช้ร่วมกัน

** "น้ำหนัก" ของ OpenClaw:**

  • โค้ด TypeScript เกือบ 500,000 บรรทัด
  • 53 โปรไฟล์
  • แพ็คเกจการพึ่งพามากกว่า 70 รายการ
  • หน่วยความจำรันไทม์ 1GB+

นี่ไม่ใช่ข้อบกพร่อง แต่เป็นทางเลือกในการออกแบบ OpenClaw ต้องรองรับช่องทางแชทมากกว่า 20 ช่อง ระบบการอนุญาตที่ซับซ้อน และคุณสมบัติระดับองค์กร แต่หลายฉากนี่หนักเกินไป

เมื่อคุณต้องการ “ลดน้ำหนัก”:

🌡️ สถานการณ์ที่ 1: การรันเอเจนต์บน Raspberry Pi คุณต้องการสร้างผู้ช่วยในบ้านอัจฉริยะด้วย Raspberry Pi มูลค่า 30 หยวน ด้วย RAM ขนาด 512MB ทำให้ OpenClaw เริ่มต้นได้ยาก

📚 สถานการณ์ที่ 2: หลักการเรียนรู้ คุณต้องการทำความเข้าใจวิธีการทำงานของตัวแทน การเผชิญหน้ากับโค้ดจำนวน 500,000 บรรทัดก็เหมือนกับการพยายามทำความเข้าใจกลไกของเครื่องบินด้วยการศึกษาโบอิ้ง 747 ทั้งหมด ซึ่งมีความซับซ้อนเกินไป

สถานการณ์ที่ 3: ความต้องการง่ายๆ คุณเพียงต้องการให้ตัวแทนเตือนให้คุณดื่มน้ำวันละครั้งและรวบรวมรายงานรายสัปดาห์ ไม่ต้องใช้ 20 แชนเนล ไม่ต้องใช้ฟีเจอร์ระดับองค์กรที่ซับซ้อน

สิ่งนี้นำไปสู่คำถามที่น่าสนใจ: ข้อกำหนดขั้นต่ำสำหรับตัวแทนคืออะไร? **

2. สาม “เรื่องราวความสำเร็จในการลดน้ำหนัก”

มาดูโปรแกรม "ลดน้ำหนัก" ที่ประสบความสำเร็จสามโปรแกรม:

โครงการภาษารหัสหลักคุณสมบัติหลัก
นาโนคลอว์ประเภทสคริปต์~7,000 บรรทัดกระบวนการเดียว + การแยกคอนเทนเนอร์
นาโนบอทหลาม~4,000 บรรทัดเป็นมิตรกับการวิจัย + MCP
ซีโร่คลอว์สนิมไม่ทราบ<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
ปริมาณ~28MB~100MBไม่มี~8.8MB
ราคา599 เหรียญ Macเซิร์ฟเวอร์ทั่วไป~$50ฮาร์ดแวร์ $10

**ทำอย่างไร? ** ZeroClaw เขียนด้วยภาษา Rust และคอมไพล์เป็นไบนารี่เดียว ไม่มีรันไทม์ Node.js ไม่มีล่าม Python เป็นเพียงโค้ดเครื่องล้วนๆ

การออกแบบสถาปัตยกรรม: ZeroClaw ใช้ สถาปัตยกรรมที่ขับเคลื่อนด้วยลักษณะ (ลักษณะ) สามารถเข้าใจได้ว่าเป็น "อินเทอร์เฟซความสามารถ":

  • ลักษณะผู้ให้บริการ: ตราบใดที่มีการใช้อินเทอร์เฟซนี้ คุณสามารถเชื่อมต่อกับ LLM ใดก็ได้
  • Channel Trait: As long as this interface is implemented, you can access any chat channel
  • ลักษณะเครื่องมือ: ตราบใดที่มีการใช้อินเทอร์เฟซนี้ คุณสามารถเพิ่มเครื่องมือใดก็ได้

ซึ่งหมายความว่า: ส่วนประกอบทั้งหมดสามารถเปลี่ยนได้โดยไม่ส่งผลกระทบต่อชิ้นส่วนอื่นๆ

ผู้ผลิตอิสระ: ZeroClaw ไม่ได้เชื่อมโยงกับผู้จำหน่าย AI รายใด รองรับ OpenAI, Anthropic, DeepSeek, Moonshot, Zhipu, vLLM, Ollama... และยังสามารถสลับได้ด้วยคลิกเดียว

การสนับสนุนฮาร์ดแวร์ (ข้อได้เปรียบเฉพาะ): ZeroClaw สามารถทำงานได้โดยตรงบนอุปกรณ์ฝังตัว:

  • ราสเบอร์รี่ปี่
  • อีเอสพี32
  • บอร์ดพัฒนา STM32
  • อุปกรณ์ต่อพ่วง GPIO ต่างๆ

ซึ่งหมายความว่า Agent สามารถควบคุมโลกทางกายภาพได้โดยตรง: การอ่านเซ็นเซอร์ การควบคุมมอเตอร์ การส่องสว่าง LED

**เหมาะกับใครบ้าง? ** นักพัฒนาแบบฝัง สถานการณ์ที่คำนึงถึงต้นทุน และผู้ใช้ที่ไม่ไว้วางใจผู้จำหน่ายระบบคลาวด์

3. ข้อเสียเปรียบหลัก: อะไรที่ถูก "ลบออก"?

“การลดน้ำหนัก” ไม่เคยฟรี เมื่อคุณลดขนาดตัวแทนจากโค้ด 500,000 บรรทัดเหลือเพียงไม่กี่พันบรรทัด บางสิ่งจะต้องถูกเสียสละ สิ่งสำคัญคือ **การเสียสละเหล่านี้คุ้มค่าหรือไม่? **

ตารางต่อไปนี้สรุปข้อดีข้อเสียระหว่างสามโครงการในแง่ของฟังก์ชันหลัก:

มิติการทำงานOpenClawนาโนคลอว์นาโนบอทซีโร่คลอว์
สถาปัตยกรรมกระจายและปรับขนาดได้ในแนวนอนกระบวนการเดียว + การแยกคอนเทนเนอร์โมดูลาร์กระบวนการเดียวไบนารีเดี่ยว
สิทธิ์RBAC ระดับองค์กรการแยกคอนเทนเนอร์ (โหมด "เซลล์")รายการที่อนุญาตพิเศษรหัสการจับคู่ + รายการที่อนุญาต
ช่องในตัว 20+Core Zero Channels ติดตั้งทักษะตามความต้องการหลายช่องสัญญาณ กำหนดค่าให้เปิดใช้งานการสนับสนุนลักษณะ CLI เริ่มต้น
ความทรงจำฐานข้อมูลเวกเตอร์ + การฝังอัตโนมัติแต่ละกลุ่ม CLAUDE.md ข้อความธรรมดาการค้นหาพื้นฐานของ SQLiteSQLite + FTS5 + vector ที่พัฒนาตนเอง
ส่วนขยายปลั๊กอินแบบไดนามิก + อัพเดตสุดฮอตไม่มีปลั๊กอิน เปลี่ยนรหัสโดยตรงเครื่องมือภายนอก MCPการแทนที่ลักษณะต้องคอมไพล์ใหม่
การพึ่งพา70+ แพ็คเกจการพึ่งพาหลักหลักเดียวpip การติดตั้งเสริมการพึ่งพาเป็นศูนย์หลังจากการคอมไพล์

ปรัชญาที่แตกต่างกันสามประการในการแลกเปลี่ยน

NanoClaw: แทนที่การจัดการด้วยการแยกส่วน

แทนที่จะกำหนดค่ากฎการอนุญาตที่ซับซ้อน ควรใส่ Agent ลงในคอนเทนเนอร์โดยตรงจะดีกว่า "สิ่งที่สามารถทำได้" จะถูกกำหนดโดยไดเร็กทอรีเมานท์ ไม่ใช่ไฟล์คอนฟิกูเรชัน นี่คือมุมมองด้านความปลอดภัย "ความไม่ไว้วางใจเริ่มต้น" - ฉันจะไม่ติดตามคุณเพราะคุณไม่สามารถหนีออกจากกรงได้

Nanobot: ใช้ความชัดเจนแทนความครอบคลุม

รหัสก็เหมือนตำราเรียนทุกฟังก์ชั่นเขียนชัดเจน อย่าถามถึงฟังก์ชั่นที่ครบครันที่สุด แต่ขอให้เข้าใจง่ายๆ ในพริบตา นี่คือแนวคิดการออกแบบ "ต้องเข้าใจก่อน" - ฉันอยากได้ฟังก์ชันน้อยลง แต่ให้คุณเข้าใจว่าโค้ดแต่ละบรรทัดกำลังทำอะไรอยู่

ZeroClaw: แทนที่สากลด้วยสุดยอด

หน่วยความจำ <5MB, ไบนารีเดี่ยว, การพึ่งพารันไทม์เป็นศูนย์ นี่คือมุมมองทางวิศวกรรม "ประสิทธิภาพทรัพยากรต้องมาก่อน" - ฉันต้องการให้ Agent ทำงานบนฮาร์ดแวร์ 10 หยวน

ข้อมูลเชิงลึกหลัก

โซลูชันแบบน้ำหนักเบาไม่ได้เกี่ยวกับ "การตัดมุม" แต่เกี่ยวกับ การกำหนดลำดับความสำคัญใหม่:

  • สำหรับองค์กร การปฏิบัติตามข้อกำหนด การขยาย และการทำงานเป็นทีม เป็นสิ่งสำคัญอันดับแรก → เลือก OpenClaw
  • For individuals, simplicity, controllability, and sufficient use are the first priority → choose a lightweight solution

มันเหมือนกับการซื้อโทรศัพท์มือถือ: เวอร์ชันองค์กรมีการจัดการ MDM และการเพิ่มความปลอดภัย แต่ผู้ใช้แต่ละรายอาจต้องการเพียงเวอร์ชันพื้นฐานเท่านั้น - บาง เบา ประหยัดพลังงาน และราคาถูก

**คุณค่าหลักของ Agent ไม่ได้อยู่ที่การมีฟังก์ชันมากมาย แต่อยู่ที่ความถูกต้อง **

4. คำแนะนำในการเลือกรุ่น : คุณต้องการ "รถ" คันไหน?

你的需求是什么?

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

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

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

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

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

5. สรุป: อันที่เหมาะสมที่สุดคืออันที่ดีที่สุด

โครงการทั้งสามมีแนวทางที่แตกต่างกันสามเส้นทาง:

  • NanoClaw: ใช้คอนเทนเนอร์เพื่อแยกความซับซ้อน และเพิ่มทักษะตามความต้องการ
  • Nanobot: ทำให้เข้าใจความซับซ้อนด้วยโค้ดที่ชัดเจน รองรับ MCP
  • ZeroClaw: ใช้ Rust เพื่อเพิ่มการใช้ทรัพยากรให้สูงสุดและรองรับฮาร์ดแวร์

พวกเขาพิสูจน์สิ่งหนึ่ง: ตัวแทนไม่จำเป็นต้องใช้โค้ด 500,000 บรรทัดในการทำงาน

แน่นอนว่านี่ไม่ใช่การบอกว่า OpenClaw แย่ มันเหมือนกับการซื้อรถยนต์ บางครั้งคุณต้องมีรถ SUV (OpenClaw) บางครั้งจักรยานก็เพียงพอแล้ว (Lightweight Solution) สิ่งสำคัญคือการเลือกเครื่องมือที่เหมาะสม