OpenFang — Rust 製シングルバイナリの「エージェント OS」が再定義する自律型 AI の設計
@mikefutia 氏が X で紹介した OpenFang v0.3.7 のリリースが注目を集めています。
OpenFang v0.3.7 is out! here’s everything since v0.3.3
OpenFang は RightNow AI の創設者 Jaber 氏が開発する、Rust で一から構築されたオープンソースのエージェントオペレーティングシステムです。チャットボットフレームワークではなく、自律的にタスクを実行する「エージェント OS」を標榜しています。2026 年 2 月 24 日の公開から 4 日で GitHub スター 4,037 を獲得し、パーソナル AI エージェント領域で最速級の立ち上がりを見せました。
本記事では、OpenFang のアーキテクチャ、独自の「Hands」機構、Python 製フレームワークとの構造的な違いを技術的に解説します。
なぜ「エージェント OS」なのか
チャットボットフレームワークとの違い
LangChain や CrewAI のような既存のエージェントフレームワークは、基本的にユーザーのプロンプトを起点に動作します。ユーザーが指示を出し、エージェントが実行し、結果を返す。この対話ループが基本構造です。
OpenFang が「OS」と名乗る理由は、プロンプトなしで自律的に動作する設計にあります。
既存フレームワーク:
ユーザー → プロンプト → エージェント → 結果 → ユーザー
(対話ループ)
OpenFang:
スケジュール → エージェント → タスク実行 → 知識グラフ更新
↓
ダッシュボードに報告
(自律ループ、ユーザーの介入は承認ゲートのみ)
24 時間 365 日、バックグラウンドでエージェントが動き続ける。リード獲得、競合監視、SNS 投稿、コンテンツ生成を自動で行い、ユーザーはダッシュボードで結果を確認する。これが OpenFang の設計思想です。
数字で見る規模
| 指標 | 数値 |
|---|---|
| コード行数 | 137,000 行 |
| Rust クレート数 | 14 |
| テスト数 | 1,767+ |
| Clippy 警告 | 0 |
| バイナリサイズ | 約 32MB |
| チャネルアダプター | 40 |
| LLM プロバイダー | 27(123+ モデル) |
| セキュリティシステム | 16 |
Hands — OpenFang の中核概念
Hands とは何か
Hands(ハンド) は OpenFang の独自概念で、事前構築された自律型機能パッケージです。通常のエージェントツールとは根本的に異なります。
通常のエージェントツール:
エージェントが「いつ、どのツールを使うか」を判断
→ ツールは受動的な関数
OpenFang の Hands:
Hand 自体が「いつ、何をするか」のスケジュールと手順を持つ
→ Hand は能動的なプロセス
各 Hand は以下のコンポーネントで構成されます。
| |
- HAND.toml: ツール宣言、設定、ダッシュボードメトリクスを定義
- System Prompts: 500 語以上の専門家レベルの手順書
- SKILL.md: 実行時に注入されるドメイン知識
- Guardrails: 購入や投稿など敏感なアクションの承認ゲート
7 つの組み込み Hands
| Hand | 機能 | 特徴 |
|---|---|---|
| Clip | コンテンツ制作 | 8 段階パイプライン、FFmpeg + yt-dlp 対応。YouTube 動画からショート動画を自動生成 |
| Lead | リード獲得 | ICP スコアリング(0-100)、Web リサーチループで見込み客を自動発見・評価 |
| Collector | インテリジェンス | 変化検知、感情分析、知識グラフ構築。OSINT グレードの継続的監視 |
| Predictor | 予測 | Brier スコア較正、反対意見モード。超予測エンジン |
| Researcher | リサーチ | CRAAP 事実確認、APA 引用対応。複数ソースの信頼性評価 |
| SNS 運用 | 7 つのコンテンツ形式、承認キュー。自律的な X/Twitter アカウント管理 | |
| Browser | Web 自動化 | Playwright 統合、購入承認ゲート。Web ブラウジングと操作の自動化 |
Hand のインストールと管理
v0.3.7 で追加された新機能として、CLI と API からの Hand インストールがあります。
| |
カスタム Hand を作成し、HAND.toml を書いてインストールするだけで、独自の自律型ワークフローを追加できます。
アーキテクチャ — 14 クレートの設計
OpenFang は 14 の Rust クレートに分離された設計を持ちます。
openfang(システム全体)
├── openfang-kernel # オーケストレーション、RBAC、スケジューラ、予算追跡
├── openfang-runtime # エージェントループ、3 つの LLM ドライバ、WASM サンドボックス
├── openfang-api # 140+ REST/WS/SSE エンドポイント
├── openfang-channels # 40 メッセージングアダプター、レート制限
├── openfang-memory # SQLite 永続化、ベクトル埋め込み
├── openfang-hands # 7 つの自律型 Hands、ライフサイクル管理
├── openfang-extensions # 25 MCP テンプレート、クレデンシャルボルト
└── openfang-wire # OFP P2P プロトコル、HMAC-SHA256 認証
なぜ Rust なのか
AI エージェントフレームワークのほとんどが Python で書かれている中、OpenFang が Rust を選択した理由はパフォーマンスとセキュリティです。
Python フレームワークの課題:
500 エージェント並列実行時:
Python → GIL がボトルネック、CPU バウンド処理で劣化
Rust → ネイティブ並行処理、メモリ安全保証
メモリ使用量:
Python(LangGraph 等)→ ピーク 5,146 MB
Rust(OpenFang 等) → ピーク 1,046 MB(約 1/5)
Red Hat の技術記事でも、AI エージェント開発者が Python から Rust に移行する理由として、並行処理のスケーラビリティとメモリ効率が挙げられています。
パフォーマンス比較
OpenFang は公式サイトで他フレームワークとの比較を公開しています。
| 項目 | OpenFang | CrewAI | LangGraph |
|---|---|---|---|
| 言語 | Rust | Python | Python |
| コールドスタート | 180ms | — | 2,500ms |
| アイドルメモリ | 40MB | — | 180-394MB |
| インストールサイズ | 32MB | — | 100-500MB |
| セキュリティ層 | 16 | 1 | 1 |
| チャネルアダプター | 40 | 0 | 0 |
| 自律型 Hands | 7 | 0 | 0 |
| デスクトップアプリ | Tauri 2.0 | — | — |
| 監査証跡 | Merkle チェーン | ログ | ログ |
コールドスタート 180ms は LangGraph の 約 14 倍高速です。アイドルメモリ 40MB は、LangGraph の 180-394MB と比較して 4.5-10 倍少ないメモリで動作します。
ただし、これは OpenFang 自身の公表値であり、独立したベンチマークでの検証は今後の課題です。
セキュリティ — 16 層の多層防御
エージェントフレームワークのセキュリティは、Claude Code のサンドボックスやツール権限管理と同様に重要なテーマです。OpenFang は 16 のセキュリティシステムを実装しています。
OpenFang のセキュリティスタック:
実行隔離:
├── WASM デュアル計量サンドボックス(ツール実行の隔離)
├── サブプロセス分離(環境変数の選択的パススルー)
└── パストラバーサル防止
認証・認可:
├── Ed25519 マニフェスト署名(コード整合性)
├── HMAC-SHA256 相互認証(OFP プロトコル)
└── ケイパビリティベースアクセスゲート
データ保護:
├── Secret ゼロ化(メモリから機密情報を完全消去)
├── Taint トラッキング(疑わしいデータフローの追跡)
└── ヘルスエンドポイントのリダクション
攻撃防止:
├── SSRF 保護
├── プロンプトインジェクションスキャナー
├── GCRA レート制限
└── ループガード + サーキットブレーカー
監査:
├── Merkle ハッシュチェーン監査証跡
└── セキュリティヘッダー(CSP, HSTS)
リカバリ:
└── セッション修復(7 フェーズバリデーション)
特に注目すべきは WASM サンドボックスと Taint トラッキングです。ツールの実行を WebAssembly で隔離し、怪しいデータの流れを自動追跡する仕組みは、自律型エージェントが「勝手に動く」環境では不可欠です。
40 チャネルアダプター
OpenFang は 40 のメッセージングプラットフォームに対応しています。
対応チャネル:
チャット: Telegram, Discord, Slack, WhatsApp, Signal, Matrix
ビジネス: Microsoft Teams, LinkedIn, Email
SNS: Twitter/X, Reddit, Mastodon, Bluesky
オープン: IRC, XMPP
その他: 25+ の追加プラットフォーム
各アダプターはモデルオーバーライド、チャネル固有ポリシー、レート制限、出力フォーマットをサポートします。v0.3.7 ではチャネルごとのデフォルトエージェントルーティングが追加され、チャネルに応じて異なるエージェントが応答する設定が可能になりました。
v0.3.7 の主な改善点
v0.3.3 から v0.3.7 までの累積的な改善を整理します。
新機能
| 機能 | 説明 |
|---|---|
| モデルスイッチャー | Web ダッシュボードと TUI に LLM モデル切替ドロップダウン(Ctrl+M) |
| Hand インストール | CLI(openfang hand install)と API(POST /api/hands/install)から HAND.toml や JSON でインストール |
OPENFANG_HOME 対応 | ハードコードされたパスを環境変数で上書き可能に |
| StubDriver | API キー未設定時でもダッシュボードが利用可能 |
| チャネル別エージェントルーティング | AgentRouter でチャネルごとにデフォルトエージェントを設定 |
バグ修正
| 修正 | 詳細 |
|---|---|
| Telegram HTML サニタイザー | バイトインデックスから文字ベース反復に書き換え。マルチバイト UTF-8 でのパニックを修正 |
| メモリ KV エンドポイント | エージェント固有 ID ではなく共有メモリ名前空間に読み書き |
default_model 適用範囲 | api_key_env や base_url の有無に関わらず全エージェントに適用 |
| チャネル設定の型保持 | TOML 整数型を文字列に強制変換しない |
| Hand 環境変数 | requires セクションから環境変数名を抽出してサブプロセスに渡す |
Telegram の UTF-8 パニック修正は、日本語やCJK テキストを扱うユーザーにとって重要な修正です。
OpenFang の位置づけ — 誰のためのツールか
向いているユースケース
OpenFang が適するケース:
1. 自律型業務エージェント:
リード獲得、競合監視、SNS 運用など、
24 時間動かし続けたいタスク
2. マルチチャネル統合:
Telegram + Slack + Email など、
複数のチャネルを一つのエージェントで管理
3. セキュリティ重視の環境:
監査証跡、実行隔離、署名検証が必要な
エンタープライズ用途
4. パフォーマンス要件が厳しい場合:
大量のエージェントを並列実行する必要がある環境
向いていないケース
OpenFang が適さないケース:
1. 対話型 AI アプリケーション:
ユーザーとの対話がメインなら
LangChain/LangGraph の方が適切
2. Python エコシステムとの統合:
既存の Python ML パイプラインに組み込むなら
Python 製フレームワークの方が自然
3. ラピッドプロトタイピング:
素早く試したいなら CrewAI の方がセットアップが速い
4. コーディングエージェント:
コード生成・修正には Claude Code や
Cursor の方が専門的
エージェントフレームワーク選定の視点
2026 年 3 月現在、AI エージェントフレームワークは 3 つの層に分かれています。
エージェントフレームワークの 3 層:
Layer 1: コーディングエージェント
Claude Code, Cursor, Windsurf, OpenHands
→ コードの生成・修正に特化
Layer 2: ワークフローエージェント
LangGraph, CrewAI, AutoGen, Claude Cowork
→ ユーザー指示ベースのタスク実行
Layer 3: 自律型エージェント OS
OpenFang, AnimaWorks(部分的)
→ スケジュール駆動の 24/7 自律実行
OpenFang は Layer 3 に位置する数少ないオープンソースプロジェクトです。Layer 1-2 のフレームワークは「ユーザーが指示を出す」モデルですが、Layer 3 は「エージェントが自律的に動く」モデルです。
始め方
| |
API キーがなくても StubDriver でダッシュボードが起動するため、まずは UI を確認してから LLM プロバイダーを設定できます。
| |
まとめ
- Rust 製シングルバイナリの「エージェント OS」: OpenFang は 137K 行の Rust コードを約 32MB のバイナリにコンパイル。チャットボットフレームワークではなく、スケジュール駆動で 24 時間自律実行するエージェント OS
- Hands が中核概念: 事前構築された自律型機能パッケージ。HAND.toml マニフェスト、500 語以上のシステムプロンプト、SKILL.md ドメイン知識、承認ゲートを一つのパッケージに統合
- Python 製フレームワークの 14 倍高速: コールドスタート 180ms(LangGraph の 2,500ms 比)、アイドルメモリ 40MB(同 180-394MB 比)。ただし独立ベンチマークでの検証は今後の課題
- 16 層のセキュリティ: WASM サンドボックス、Ed25519 署名、Taint トラッキング、プロンプトインジェクションスキャナーなど。自律型エージェントに不可欠な多層防御
- 40 チャネル対応: Telegram、Slack、Discord、WhatsApp から IRC、Matrix まで。チャネルごとのエージェントルーティングで異なるエージェントが応答可能
- v0.3.7 で実用性が向上: モデルスイッチャー、Hand CLI インストール、UTF-8 パニック修正、環境変数パススルーなど。日本語ユーザーにとっても重要な改善を含む
- Layer 3 自律型エージェント: コーディングエージェント(Layer 1)やワークフローエージェント(Layer 2)とは異なる、スケジュール駆動の完全自律実行を目指すカテゴリ
参考
- @mikefutia 氏のポスト
- OpenFang GitHub リポジトリ
- OpenFang v0.3.7 リリースノート
- OpenFang 公式サイト
- OpenFang Agent OS サイト
- OpenFang — Product Hunt
- Peaky AI LAB: OpenFang — Rust 製オープンソース AI エージェント OS
- Red Hat: Why some agentic AI developers are moving code from Python to Rust
- DEV Community: Benchmarking AI Agent Frameworks in 2026 — AutoAgents (Rust) vs LangChain, LangGraph, LlamaIndex, PydanticAI