
先日、OpenFang というオープンソースのAgent Operating Systemを見つけました。「Agent OS」という言葉自体は目新しくないのですが、OpenFangの設計には「Hands(ハンズ)」という独特のコンセプトがあります。
従来のAIエージェントは「ユーザーがメッセージを送るまで待機する」のが基本ですが、Handsは「スケジュールで自律的に動作し、結果をダッシュボードに報告する」という設計です。この違いは小さく見えて、実は運用上の大きな転換点だと思います。
本記事では、OpenFangのHandsという設計思想を、既存のエージェントフレームワーク(OpenClaw 、CrewAI、LangGraph等)との比較を交えながら解説します。
OpenFangとは
OpenFang は、RightNow-AI が開発したRust 製のオープンソースAgent Operating Systemです。2026年2月時点でGitHubに公開されており、MIT/Apache-2.0のデュアルライセンスで提供されています。
主な特徴:
- 言語: Rust(137K行、14 crates)
- セキュリティ: 16層のセキュリティシステム(WASM sandbox、Ed25519署名、Merkle監査証跡等)
- プロトコル: MCP (Model Context Protocol)、A2A(Agent-to-Agent)、OFP(OpenFang Protocol)対応
- チャネル: 40種類のメッセージングプラットフォーム統合(Telegram、Discord、Slack、WhatsApp等)
- LLMプロバイダー: 27プロバイダー、50以上のモデルに対応
OpenFangの最大の特徴は、7つの自律型エージェントパッケージ「Hands」を標準搭載している点です。
Handsとは何か
Handsは、OpenFangが提供する「自律型エージェントパッケージ」です。従来のエージェントとの違いを表にまとめます。
| 項目 | 従来のエージェント | Hands |
|---|---|---|
| 起動方法 | ユーザーがメッセージを送信 | スケジュールで自動起動 |
| 動作モード | 対話型(チャット) | 自律型(バックグラウンド処理) |
| 結果の通知 | チャット画面に返信 | ダッシュボードに報告 |
| 用途 | 質問応答、タスク実行 | 定期監視、データ収集、コンテンツ生成 |
Handsの設計思想
OpenFangの公式サイトには、以下のように書かれています。
Traditional agents wait for you to type. Hands work for you.
この一文が、Handsの本質を表しています。従来のエージェントは「待機型」ですが、Handsは「自律型」です。
7つのHands
OpenFangには、以下の7つのHandsが標準搭載されています。
1. Clip(動画編集)
長尺動画を短尺クリップに変換し、字幕・サムネイルを自動生成します。TelegramやWhatsAppに自動投稿する機能も含まれます。
技術スタック: FFmpeg、yt-dlp、5種類のSTTバックエンド
ユースケース: YouTubeの長尺動画をTikTok/Instagram Reels向けに自動変換
2. Lead(リード生成)
ICP(Ideal Customer Profile)に基づいて、リードを自動収集・スコアリング・重複排除します。
技術スタック: Web research loops、CSV/JSON/Markdown export
ユースケース: 毎日のリード生成を自動化し、営業チームに配信
3. Collector(OSINT)
指定したターゲットを継続的に監視し、変更検知・感情分析・知識グラフ構築を行います。
技術スタック: Change detection、Sentiment analysis、Knowledge graphs
ユースケース: 競合他社のWebサイト更新を自動追跡
4. Predictor(予測)
シグナルを収集し、Brier scoreで精度を追跡しながら予測を行います。
技術スタック: Brier score calibration、Evidence chains
ユースケース: 市場動向の予測と精度評価
5. Researcher(リサーチ)
CRAAP評価(Currency, Relevance, Authority, Accuracy, Purpose)でソースを検証し、引用付きレポートを生成します。
技術スタック: CRAAP fact-checking、Multi-language、APA citations
ユースケース: 技術調査レポートの自動生成
6. Twitter(X管理)
7種類のコンテンツフォーマットでツイートを生成し、承認キュー経由で投稿します。
技術スタック: Approval queue、7 content types、Engagement tracking
ユースケース: ブランドアカウントの自動運用
7. Browser(Web自動化)
Playwrightを使ってWebサイトを自動操作します。購入操作には承認ゲートが必須です。
技術スタック: Playwright bridge、Session persistence、CAPTCHA detection
ユースケース: 定期的なフォーム送信、データスクレイピング
Handsの実装構造
Handsは、以下の要素で構成されています。
HAND.toml(マニフェスト)
Handの設定を定義するTOMLファイルです。
| |
SKILL.md(専門知識)
Handが参照する専門知識を記述したMarkdownファイルです。
| |
System Prompt(動作指示)
Handの動作を制御するシステムプロンプトです。複数フェーズの動作を定義できます。
Phase 1: Topic Analysis
- Extract key concepts
- Identify research questions
Phase 2: Source Collection
- Search for primary sources
- Evaluate with CRAAP framework
Phase 3: Report Generation
- Synthesize findings
- Generate citations
Dashboard Metrics(メトリクス)
Handの実行結果をダッシュボードに表示するためのメトリクスです。
| |
Handsの起動と管理
Handsは、CLIまたはHTTP APIで管理します。
CLIでの操作
| |
HTTP APIでの操作
| |
レスポンス例:
| |
既存フレームワークとの比較
OpenFangのHandsを、既存のエージェントフレームワークと比較します。
OpenClawとの違い
OpenClaw は、TypeScriptで書かれた常時稼働型AIアシスタントです(詳細は「OpenClawハートビート: 通知をスパムにしない常時稼働エージェント設計 」参照)。
| 項目 | OpenClaw | OpenFang |
|---|---|---|
| 言語 | TypeScript | Rust |
| 自律動作 | Heartbeat(定期チェック) | Hands(スケジュール実行) |
| 通知方式 | チャットチャネルに通知 | ダッシュボードに報告 |
| 用途 | パーソナルアシスタント | 自律型ワーカー |
OpenClawのHeartbeatは「定期的にチェックして、必要なときだけ通知する」設計ですが、OpenFangのHandsは「定期的に実行して、結果を蓄積する」設計です。
CrewAI/LangGraphとの違い
CrewAIやLangGraphは、Pythonで書かれたマルチエージェントフレームワークです。
| 項目 | CrewAI/LangGraph | OpenFang |
|---|---|---|
| エージェント起動 | コード実行時 | スケジュール |
| 状態管理 | セッション内メモリ | 永続化(SQLite + vector) |
| チャネル統合 | なし | 40種類 |
| セキュリティ | 基本的な検証 | 16層のセキュリティ |
CrewAI/LangGraphは「ユーザーがコードを実行したときに動く」設計ですが、OpenFangは「常時稼働してスケジュールで動く」設計です。
Handsの実装例: カスタムHandの作成
OpenFangでは、独自のHandを作成できます。以下は、GitHubのissueを監視するHandの例です。
HAND.toml
| |
SKILL.md
| |
System Prompt
Phase 1: Fetch Issues
- Get issues with labels "bug" and "critical"
- Filter by creation/update time since last run
Phase 2: Evaluate Severity
- Analyze issue description
- Check for reproduction steps
- Estimate user impact
Phase 3: Notify
- If critical: send Slack notification immediately
- If high: add to hourly digest
- If medium: add to daily summary
実行結果
Handが実行されると、以下のようなメトリクスがダッシュボードに表示されます。
| |
Handsの設計が解決する問題
Handsの設計は、以下の問題を解決します。
1. 通知疲れ(Notification Fatigue)
従来のエージェントは、結果をチャットに送信します。定期実行すると、チャットが通知で埋まります。
Handsは、結果をダッシュボードに蓄積し、ユーザーが必要なときに確認できます。
2. 状態の永続化
従来のエージェントは、セッション内メモリを使います。再起動すると状態が失われます。
Handsは、SQLite + vector embeddingsで状態を永続化します。
3. スケジュール管理の複雑さ
従来のエージェントは、外部のcronやGitHub Actionsでスケジュール管理します。
Handsは、HAND.tomlでスケジュールを定義し、OpenFangが管理します。
4. セキュリティリスク
従来のエージェントは、ツール実行時のサンドボックスが弱いです。
Handsは、WASM dual-metered sandboxでツールを実行し、fuel + epoch interruptionで暴走を防ぎます。
Handsの制約と注意点
Handsには、以下の制約があります。
1. Rust環境が必要
OpenFangはRustで書かれているため、ビルドにはRust環境が必要です。
| |
2. リソース消費
Handsは常時稼働するため、メモリとCPUを消費します。公式ベンチマークでは、アイドル時のメモリ使用量は40MBですが、複数のHandsを同時実行すると増加します。
3. LLMコスト
Handsは定期的にLLMを呼び出すため、コストが発生します。HAND.tomlでmodelを指定し、安価なモデル(例: anthropic/claude-haiku-4-5)を使うことを推奨します。
4. デバッグの難しさ
Handsはバックグラウンドで動作するため、エラーが発生してもすぐに気づきません。ログとダッシュボードを定期的に確認する必要があります。
まとめ
OpenFangのHandsは、「チャットを待たずに働くエージェント」という新しい設計思想を提示しています。
従来のエージェントは「対話型」ですが、Handsは「自律型」です。この違いは、以下の場面で効果を発揮します。
- 定期監視: 競合サイトの更新、GitHubのissue、市場動向
- データ収集: リード生成、OSINT、予測
- コンテンツ生成: 動画クリップ、ツイート、レポート
OpenFangはまだ開発初期段階(2026年2月時点でv0.1.0)ですが、Rust製の堅牢な設計と、16層のセキュリティシステムは注目に値します。
興味のある方は、公式サイト やGitHubリポジトリ をチェックしてみてください。