Andrew NgがOpenWorkerを発表——オープンソースのローカルファースト・デスクトップAIコーワーカー
重要ポイント
- •OpenWorkerはAndrew Ngが開発したオープンソース(MITライセンス)のデスクトップエージェントであり、チャットの返信ではなく完成した成果物を提供する。
- •Tauri 2デスクトップシェル、ローカルPython FastAPIエージェントサーバー、ケイパビリティ・コネクタ層、モデルルーターからなる4層アーキテクチャでシステム全体がユーザーのマシン上で稼働する。
- •ユーザーは自身のAPIキーまたはローカルランタイムを提供し、OpenAI、Anthropic、Google、Ollamaなどのプロバイダーから30種のキュレーションモデルにアクセスする。
- •型付きリスクエンジンが各ツール呼び出しを4つのリスククラス(read、write_local、exec、external)のいずれかに分類し、5つのパーミッションモードで実行を制御する。
- •ローカルファーストのプライバシーモデルにより、会話・コネクタトークン・モデルキーはユーザーのデバイスに留まり、オプションのクラウドブローカーはOAuthハンドシェイクにのみ使用される。

Andrew Ngは、チャット形式の応答ではなく完成した作業成果を生み出すよう設計されたオープンソースのデスクトップエージェント「OpenWorker」を発表しました。NgはDeepLearning.AIの創設者であり、Google BrainおよびBaiduでAI研究の指揮を執った経歴を持ち、Courseraの共同創設者でもあります。本発表はXにて https://x.com/AndrewYNg/status/2080333504446108104 で共有されました。
OpenWorkerはプロンプトではなく成果を中心に据えて構築されています。ユーザーは完成したドキュメント、実際の数値を含むSlackの返信、更新されたカレンダー、整理された受信箱などを要求できます。システムは要求された成果をステップに分解し、ローカルファイルや連携アプリをまたいで作業し、重要なアクションを実行する前にユーザーへ確認を求めます。これによりOpenWorkerは、テキスト応答の生成にとどまらず、複数ステップのタスクをアプリ間で完遂するエージェント型AIツールという新興カテゴリーに位置づけられます。
ローカルマシン上で稼働する4層アーキテクチャ
OpenWorkerのアーキテクチャは4つの層で構成され、すべてユーザーのマシン上で実行されます。リポジトリには coworker/ 配下に119個のPythonファイル(約32,400行)、surfaces/gui/ 配下に149個のTypeScript/TSXファイル、78個のバックエンドテストモジュールが含まれています。
デスクトップシェルはTauri 2のネイティブウィンドウであり、React 18のUIを内包します。Tauriは、Webフロントエンドとネイティブのシステムアクセスを用いて軽量なデスクトップアプリを構築するためのオープンソースフレームワークです。バンドル識別子は com.openworker.desktop で、シェル自体がPythonサーバーを監督します。
ローカルエージェントサーバーはPython 3.10+でFastAPIおよびuvicornを使用します。デフォルトでは 127.0.0.1:8765 にバインドされます。サンプル設定では1ターンあたりのモデルツール反復を12回に制限しています。
ケイパビリティ・コネクタ層には、ファイル・git・ripgrepベースの検索・シェルアクセス・todo管理のための検証済みローカルツールに加え、ホステッドインテグレーションとMCP(Model Context Protocol: )が含まれます。MCPは、Anthropicが2024年後半に発表した、AIアシスタントを外部データソースやツールに共通プロトコルで接続するためのオープン標準です。
モデルルーターは、ネイティブ・OpenAI互換・リセラー・ローカルの各プロバイダーに対する単一インターフェースを提供します。エンジンはaisuite上に構築されています。aisuiteはAndrew Ngのプロバイダー非依存LLMライブラリ( https://github.com/andrewyng/aisuite )で、アプリケーションコードを変更することなく複数プロバイダーのモデルを呼び出せる統一インターフェースを提供します。
Bring-Your-Own-Model方式のアクセス
OpenWorker自身の推論サービスは存在しません。ユーザーはAPIキーをアプリに貼り付けるか、ローカルランタイムを指定します。つまり、ユーザーがプロバイダーに直接支払いを行い、どのモデルが自身のデータを処理するかを制御できます。
キュレーションされたモデルマトリクスは正確に30エントリで構成されています。ネイティブプロバイダーには、OpenAI(GPT-5.6 Sol、GPT-5.6 Terra、GPT-5.6 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( )から利用できます。OllamaはAPIキーを必要としません。
パーミッションシステムとリスククラス
OpenWorkerは承認を単なるUI上の付随機能ではなく、型付きレイヤーとして扱います。各ツール呼び出しは4つのリスククラスのいずれかに分類されます。副作用のない read、ワークスペースに対するパススコープの変更を伴う write_local、コマンドを実行する exec、マシン外に副作用を及ぼす external です。
5つのパーミッションモードがアクションの処理方法を決定します。discuss と plan は読み取り専用モードです。interactive はデフォルトモードで、書き込み・コマンド・外部アクションの前に承認を求めます。auto はパススコープを維持したまますべてのアクションを許可します。custom はユーザー定義のツールリストを自動承認します。
この承認モデルは2つの設計選択によって規定されています。第一に、無人モードは自律性の上限を引き上げるものではなく、ユーザーへの連絡手段を変更するだけです。本来インラインで表示されるプロンプトは受信箱(Inbox)にルーティングされ、ユーザーが応答するまでセッションは一時停止します。
第二に、タスクスコープの常時ルールは外部リスクのみに限定されます。シェルコマンドは設計上、常に承認が求められます。
組み込みのopsペルソナはまた、ツール・ログ・Web・ファイル・受信メッセージからのコンテンツを指示ではなく信頼されていないデータとして扱うようモデルに指示します。このプロンプトインジェクションへの態度は、出荷時のペルソナに組み込まれています。外部コンテンツを信頼されないデータとして扱うことは、間接的プロンプトインジェクションに対する防御策です。これはデータソースに埋め込まれた悪意のある指示がエージェントの動作を操作しようとする攻撃ベクトルです。
ローカルファーストのプライバシーモデル
モデル呼び出しはユーザーのマシンから設定されたプロバイダーへ直接送信されます。会話・コネクタトークン・モデルキーはローカルに保持されます。シークレットストアは、シークレットがモデルのコンテキスト・プロンプト・トレースに入らないよう設計されています。
唯一のクラウドコンポーネントは、ワンクリックコネクタが使用するOAuthハンドシェイクを処理するオプションのブローカーです。Auth0 Authorization Code with PKCEを使用します。コネクタトークンはユーザーのマシンに直接渡され、クラウドには保存されません。サインアウト状態でも、手動で貼り付けた認証情報を使用することでアプリは完全に機能します。
OpenWorkerはMITライセンスで、チャットの返信ではなく完成した成果物を返すデスクトップAIコーワーカーとして位置づけられています。スタックはTauri 2とReactのシェルと、aisuite上に構築されたローカルPython FastAPIエージェントサーバーを組み合わせたものです。モデルアクセスはBring-Your-Own-Key方式で30種のキュレーションツール呼び出しモデルに対応し、Ollama経由で完全ローカルアクセスも可能です。read、write_local、exec、external を用いた型付きリスクエンジンが5つのパーミッションモードにわたってアクションを制御します。
OpenWorkerのGitHubリポジトリは https://github.com/andrewyng/openworker 、プロジェクトサイトは で公開されています。