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 は以下のコンポーネントで構成されます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# HAND.toml --- Hand のマニフェスト
[hand]
name = "collector"
version = "0.1.0"

[tools]
required = ["web_search", "web_scrape", "knowledge_graph"]

[settings]
schedule = "0 */4 * * *"  # 4 時間ごとに実行

[dashboard]
metrics = ["sources_monitored", "changes_detected", "sentiment_score"]
  • 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 引用対応。複数ソースの信頼性評価
TwitterSNS 運用7 つのコンテンツ形式、承認キュー。自律的な X/Twitter アカウント管理
BrowserWeb 自動化Playwright 統合、購入承認ゲート。Web ブラウジングと操作の自動化

Hand のインストールと管理

v0.3.7 で追加された新機能として、CLI と API からの Hand インストールがあります。

1
2
3
4
5
6
7
# CLI からインストール
openfang hand install ./my-custom-hand/

# API 経由でインストール
curl -X POST http://localhost:4200/api/hands/install \
  -H "Content-Type: application/json" \
  -d @hand-config.json

カスタム 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 は公式サイトで他フレームワークとの比較を公開しています。

項目OpenFangCrewAILangGraph
言語RustPythonPython
コールドスタート180ms2,500ms
アイドルメモリ40MB180-394MB
インストールサイズ32MB100-500MB
セキュリティ層1611
チャネルアダプター4000
自律型 Hands700
デスクトップアプリ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 対応ハードコードされたパスを環境変数で上書き可能に
StubDriverAPI キー未設定時でもダッシュボードが利用可能
チャネル別エージェントルーティングAgentRouter でチャネルごとにデフォルトエージェントを設定

バグ修正

修正詳細
Telegram HTML サニタイザーバイトインデックスから文字ベース反復に書き換え。マルチバイト UTF-8 でのパニックを修正
メモリ KV エンドポイントエージェント固有 ID ではなく共有メモリ名前空間に読み書き
default_model 適用範囲api_key_envbase_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 は「エージェントが自律的に動く」モデルです。

始め方

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# インストール(macOS / Linux)
curl -fsSL https://openfang.sh/install | sh

# 初期化
openfang init

# 起動
openfang start

# ダッシュボード: http://localhost:4200

API キーがなくても StubDriver でダッシュボードが起動するため、まずは UI を確認してから LLM プロバイダーを設定できます。

1
2
3
4
5
# Hand の有効化(例: Collector で競合監視)
openfang hand activate collector

# モデル切替(TUI で Ctrl+M)
openfang tui

まとめ

  • 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)とは異なる、スケジュール駆動の完全自律実行を目指すカテゴリ

参考