7月23日、MarkTechPostが「Andrew Ng Just Released OpenWorker: An Open-Source, Local-First Desktop AI Coworker That Returns Finished Deliverables Instead of Chat」と題した記事を公開した。Google BrainやCourseraの共同創設者、DeepLearning.AI設立者として機械学習の普及を牽引してきたAndrew Ngが、今度はオープンソースのローカル動作デスクトップAIエージェント「OpenWorker」を公開した。近年エージェント型AIの開発・啓蒙に注力してきたNgが自ら手がけたプロジェクトとして、開発者コミュニティから注目を集めている。
ChatのようなQ&A形式ではなく、「成果物」を返すAIエージェントという設計思想が、このプロジェクトの核心だ。
チャットではなく、完成した成果物を返す
Andrew NgがX(旧Twitter)で発表した「OpenWorker」は、MIT ライセンスのデスクトップ AI エージェントだ。ユーザーが「プロンプト」ではなく「アウトカム(成果)」を指定するという設計になっている。磨き上げたドキュメント、実数値を含む Slack 返信、更新済みカレンダー、トリアージ済みの受信トレイ——こうした完成形を指定すると、OpenWorker が自律的にステップを分解してローカルファイルや連携アプリをまたいで処理を進め、重要なアクションの前に確認を挟む。
GitHub リポジトリには Python ファイルが 119 本(約 32,400 行)、TypeScript/TSX ファイルが 149 本、バックエンドテストモジュールが 78 本含まれている。
4 層アーキテクチャ、すべてローカルで動作
スタック構成は以下の 4 層だ。
- デスクトップシェル — Tauri 2(Rust ベースのデスクトップアプリフレームワーク)のネイティブウィンドウが React 18 UI をラップし、Python サーバーのプロセス管理も担う。
- ローカルエージェントサーバー — Python 3.10 以上、FastAPI + uvicorn、デフォルトで
127.0.0.1:8765にバインド。1 ターンあたり最大 12 回 のモデル↔ツール間反復がデフォルト設定。 - ケイパビリティ・コネクタ層 — ファイル、git、ripgrep バックの検索、シェル、ToDo といったローカルツールに加え、ホスト型インテグレーションと MCP(Model Context Protocol) に対応。
- モデルルーター — ネイティブ・OpenAI 互換・リセラー・ローカルプロバイダーを単一インターフェースで束ねる。
エンジンは Andrew Ng 自身が開発したプロバイダー非依存の LLM ライブラリ「aisuite」の上に構築されている。
30 モデルの厳選リスト、完全ローカルも可
OpenWorker 独自の推論サービスはない。ユーザーが API キーを貼り付けるか、ローカルランタイムを指定する方式だ。
対応モデルは計 30 エントリーに絞られており、以下をカバーする。
- ネイティブプロバイダー — OpenAI(GPT-5.6 Sol/Terra/Luna、GPT-5.5)、Anthropic(Claude Fable 5、Opus 4.8、Sonnet 4.6、Haiku 4.5)、Google(Gemini 3.1 Pro、3.6 Flash、2.5 Pro、2.5 Flash)
- OpenAI 互換ベンダー — GLM-5.2、DeepSeek V4、Kimi K2.6、MiniMax M2.5、Qwen3 Max、Grok 4.3、Mistral Large
- オープンウェイトモデル — Together AI および Fireworks 経由
- 完全ローカル — Ollama 経由(API キー不要)
権限エンジン——設計の本丸
多くのデスクトップエージェントが承認 UI を後付けで実装するのに対し、OpenWorker は権限を型付きレイヤーとして設計している点が際立っている。AIエージェントが「何をどこまで自律的にやってよいか」という問題はエージェント設計全体の難所だが、OpenWorkerはこれをアーキテクチャの中心に据えている。
すべてのツール呼び出しは 4 つのリスククラスに分類される。
| リスククラス | 内容 |
|---|---|
read |
副作用なし |
write_local |
ワークスペースを変更(パスでスコープ限定) |
exec |
コマンド実行 |
external |
マシン外への副作用 |
これに対して 5 つのパーミッションモードが動作を決定する。discuss と plan は読み取り専用、interactive(デフォルト)は書き込み・コマンド・外部アクションの前に確認を取る、auto はパススコープを保ったまま全操作を許可、custom はユーザー指定のツールセットのみ自動承認する。
特筆すべき設計決定が 2 点ある。
- 「無人モード」は自律性の上限を上げない——人間への確認をインラインで行う代わりに Inbox へルーティングし、回答があるまでセッションを停止する。
- シェルコマンドは常に確認を求める——タスクスコープの常設ルール適用は
externalリスクのみに限定されており、execは設計上、例外なく毎回確認が入る。
また、組み込みの ops ペルソナはモデルに対し、ツール出力・ログ・ウェブ・ファイル・受信メッセージの内容を「指示」ではなく「信頼できないデータ」として扱うよう明示的に指示している。プロンプトインジェクション対策がデフォルトのペルソナとして実装されている点は、エンジニア的に注目に値する設計方針だ。
プライバシー設計
モデル呼び出しはマシンから設定済みプロバイダーへ直接行われる。会話内容・コネクタトークン・モデルキーはすべてローカルに保持され、シークレットストアはシークレットがモデルのコンテキスト・プロンプト・トレースに混入しない設計になっている。
クラウドコンポーネントは、ワンクリックコネクタ向け OAuth ハンドシェイクを処理するオプショナルなブローカーのみ(Auth0 の Authorization Code + PKCE を使用)。コネクタトークンはマシンに直接渡され、クラウドには保存されない。手動でクレデンシャルを貼り付ければサインアウト状態でも完全に動作する。
詳細はAndrew Ng Just Released OpenWorker: An Open-Source, Local-First Desktop AI Coworker That Returns Finished Deliverables Instead of Chatを参照していただきたい。