第 7 章 軽量化ソリューション: エージェントが「スリムダウン」し始めるとき
核心的な質問: OpenClaw には 500,000 行のコードがありますが、エージェントが動作するには最低何行必要ですか?
##1 なぜ「痩せる」必要があるのでしょうか?
モビリティ スクーターを購入したいと想像してください。 OpenClaw は高級 RV のようなもので、キッチン、バスルーム、ベッドルームがあり、家族で宿泊できます。しかし、時にはシェア自転車が必要な場合もあります。
OpenClaw の「重み」:
- 約 500,000 行の TypeScript コード
- 53 個のプロファイル
- 70 を超える依存関係パッケージ
- ランタイムメモリ 1GB+
これは欠点ではなく、設計上の選択です。 OpenClaw は、20 を超えるチャット チャネル、複雑な権限システム、エンタープライズ レベルの機能をサポートする必要があります。しかし、多くのシーンではこれでは重すぎます。
「体重を減らす」必要がある場合:
🌡️ シナリオ 1: Raspberry Pi でエージェントを実行 あなたは、30 元の Raspberry Pi でスマート ホーム アシスタントを構築したいと考えています。 512MB の RAM では、OpenClaw を起動することさえ困難です。
📚 シナリオ 2: 学習原則 エージェントがどのように機能するかを理解したいと考えています。 500,000 行のコードに直面することは、ボーイング 747 を丸ごと研究して飛行機の仕組みを理解しようとするようなもので、あまりにも複雑すぎました。
✅ シナリオ 3: 単純なニーズ あなたは、エージェントに 1 日 1 回水を飲むことと、週次レポートを作成することを思い出させてほしいだけです。 20 チャンネルも必要なく、複雑なエンタープライズ機能も必要ありません。
これは興味深い質問につながります: エージェントの最小要件は何ですか? **
##2 「3つの減量成功事例」
成功した 3 つの「減量」プログラムを見てみましょう。
| プロジェクト | 言語 | コアコード | コア機能 |
|---|---|---|---|
| ナノクロー | タイプスクリプト | ~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 循环(核心逻辑):
- 从消息队列接收消息
- 构建上下文(系统提示词 + 历史记录 + 记忆 + Skills)
- 调用 LLM
- 执行工具调用
- 返回结果
代码结构清晰得像教科书: @@@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 社区联合开发。
数字说话:
| 指标 | OpenClaw | NanoClaw | Nanobot | ZeroClaw |
|---|---|---|---|---|
| 内存 | >1GB | ~100MB | ~100MB | <5MB |
| ボリューム | ~28MB | ~100MB | 該当なし | ~8.8MB |
| コスト | $599 マック | 一般サーバー | ~$50 | 10 ドルのハードウェア |
**どうやって行うのですか? ** ZeroClaw は Rust で書かれ、単一のバイナリにコンパイルされます。 Node.js ランタイムや Python インタープリターはなく、純粋なマシン コードだけです。
建築設計: ZeroClaw は Trait (特性) 駆動のアーキテクチャ を使用しています。これは「機能インターフェイス」として理解できます。
- プロバイダー特性: このインターフェイスが実装されている限り、どの LLM にも接続できます
- チャンネル特性: このインターフェイスが実装されている限り、どのチャット チャンネルにもアクセスできます
- ツール特性: このインターフェースが実装されている限り、任意のツールを追加できます。
これは、他の部品に影響を与えることなくすべてのコンポーネントを交換できることを意味します。
メーカー非依存: ZeroClaw はどの AI ベンダーとも提携していません。 OpenAI、Anthropic、DeepSeek、Moonshot、Zhipu、vLLM、Ollama...をサポートしており、ワンクリックで切り替えることもできます。
ハードウェア サポート (独自の利点): ZeroClaw は組み込みデバイス上で直接実行できます。
- ラズベリーパイ
- ESP32
- STM32開発ボード
- さまざまな GPIO ペリフェラル
これは、エージェントがセンサーの読み取り、モーターの制御、LED の点灯など、物理世界を直接制御できることを意味します。
**どんな人に適していますか? ** 組み込み開発者、コストを重視するシナリオ、クラウド ベンダーを信頼しないユーザー。
3. 主要なトレードオフ: 何が「差し引かれた」のでしょうか?
「痩せる」ことは決してタダではありません。エージェントのコードを 500,000 行から数千行に縮小する場合、何かを犠牲にする必要があります。重要なのは: **これらの犠牲にはそれだけの価値があるか? **
次の表は、主な機能に関する 3 つのプロジェクト間のトレードオフをまとめたものです。
| 機能的側面 | オープンクロウ | ナノクロー | ナノボット | ゼロクロウ |
|---|---|---|---|---|
| アーキテクチャ | 分散型、水平方向にスケーラブル | 単一プロセス + コンテナ分離 | 単一プロセスのモジュール性 | 単一バイナリ |
| 権限 | エンタープライズ グレードの RBAC | コンテナ分離 (「セル」モード) | シンプルなホワイトリスト | ペアリング コード + 許可リスト |
| チャンネル | 内蔵 20+ | コアゼロチャネル、オンデマンドでインストールされるスキル | マルチチャネル、有効にするように設定 | 特性サポート、デフォルト CLI |
| メモリ | ベクトルデータベース + 自動埋め込み | 各グループ CLAUDE.md 平文 | SQLite の基本検索 | 自社開発 SQLite + FTS5 + ベクター |
| 拡張機能 | 動的プラグイン + ホット アップデート | プラグインなし、コードを直接変更 | MCP外部ツール | 特性の置換、再コンパイルが必要 |
| 依存関係 | 70 以上のパッケージ | 1 桁のコア依存関係 | pip オプションのインストール | コンパイル後の依存関係はゼロ |
トレードオフに関する 3 つの異なる哲学
NanoClaw: 管理を隔離に置き換えます
複雑な権限ルールを構成する代わりに、エージェントをコンテナに直接配置することをお勧めします。 「何ができるか」は設定ファイルではなくマウントディレクトリによって決まります。これはセキュリティに対する「デフォルトの不信感」の見方です - あなたは檻から逃げられないので、私はあなたを監視しません。
Nanobot: 包括的ではなく明確さを使用
コードは教科書のようなもので、すべての関数がわかりやすく書かれています。最も完全な機能を求めるのではなく、一目で理解できることを求めてください。これは「わかりやすさ第一」の設計コンセプトです。関数は少なくする方が良いですが、コードの各行が何をしているのかも理解できるようにします。
ZeroClaw: ユニバーサルをアルティメットに置き換えます
5MB 未満のメモリ、単一バイナリ、ランタイム依存関係なし。これは「リソース効率第一」のエンジニアリングの観点です - エージェントを 10 元のハードウェアで実行したい。
核となる洞察
軽量ソリューションは「手を抜く」ことではなく、優先順位を再定義することです。
- 企業の場合、コンプライアンス、拡張、チームワークが最優先事項です → OpenClaw を選択してください
- 個人の場合、シンプルさ、制御性、十分な使用感が最優先 → 軽量なソリューションを選択
それは携帯電話を購入するようなものです。エンタープライズ版には MDM 管理とセキュリティ強化が備わっていますが、個人ユーザーには薄型、軽量、省電力、そして安価な基本版のみが必要な場合があります。
**Agent の本質的な価値は、機能が多いことではなく、ちょうどよいことにあります。 **
4. モデル選択に関する提案: どの「車」が必要ですか?
你的需求是什么?
│
├─→ "我想搞懂 Agent 原理"
│ └─→ Nanobot(Python,代码像教科书)
│
├─→ "我要一个私人助理,安全可控"
│ └─→ NanoClaw(容器隔离,AI-native)
│
├─→ "我要在树莓派/嵌入式设备上跑"
│ └─→ ZeroClaw(<5MB 内存)
│
├─→ "我需要 MCP 协议支持"
│ └─→ Nanobot(原生 MCP)
│
└─→ "我要生产环境,功能最全"
└─→ OpenClaw(20+渠道,生态完善)5. まとめ: 最適なものが最良のものである
3 つのプロジェクトは 3 つの異なる道をたどりました。
- NanoClaw: コンテナを使用して複雑さを分離し、スキルはオンデマンドで追加されます
- Nanobot: 明確なコードで複雑さを理解しやすくし、MCP をサポートします
- ZeroClaw: Rust を使用してリソース使用量を最大化し、ハードウェアをサポートします
これらは、エージェントの動作に 500,000 行のコードは必要ないということを証明しています。
もちろん、OpenClawが悪いと言っているわけではありません。それは車を購入するのと似ています。SUV が必要な場合もあれば (OpenClaw)、自転車で十分な場合もあります (軽量ソリューション)。重要なのは、適切なツールを選択することです。