中級 12 分エージェント

Agent ZeroとOllama:Dockerでのインストールと limites

端的な回答

はい、Agent Zero(agent0ai プロジェクト)は Docker コンテナ内で動作し、接続先を http://host.docker.internal:11434 に設定することで、ローカルの Ollama を呼び出せます。これは、コンテナからホストに接続するためにプロジェクトが用意しているデフォルトのアドレスです。エージェントのコンピューター(Linux デスクトップとブラウザを備えたコンテナ)は、推論を行うマシンとは別のものです。すべてをローカルでホストするだけでは、内蔵ブラウザや拡張機能がオフラインのままであることは保証されません。

Agent Zero は、agent0ai が公開しているオープンソースのエージェントフレームワークです。Docker コンテナ内の本格的な Linux デスクトップ、操作可能なブラウザ、ドキュメントで共同作業するためのツールをエージェントに提供します。このガイドでは、インストール、ローカルで動く Ollama への接続、役割(会話用またはユーティリティ用)に応じたモデルの選び方、そしてこの範囲のタスクに取り組む際の小型ローカルモデルの実際の限界を説明します。

著者 Mohamed Meguedmi·更新 2026-09-28·Windows・macOS・Linuxでテスト済み

#Agent Zero とは何か

Agent Zero(リポジトリ:agent0ai/agent-zero)は、エージェントに完全なLinuxコンピュータを提供するフレームワークと紹介されています。Dockerコンテナ内のXFCEデスクトップ、DOMに注釈を付けられるブラウザ、Markdownファイル・表計算シート・プレゼンテーションでのリアルタイム共同作業、100を超えるコミュニティ製プラグインのハブを備えています。2026年9月28日時点で、このプロジェクトのGitHubスター数は19,000を超えており、最新のタグ付きバージョンは2026年9月23日に公開されたv2.13でした。

Agent Zeroは、OpenCodeやClineのようなコーディング特化型エージェントではありません。調査、デスクトップアプリの操作、Webインターフェースのレビュー、分析など、幅広いタスクを対象としており、その分、ターミナルで動く単体のバイナリよりも大がかりなインフラが必要です。

このプロジェクトは、「エージェントプロファイル」(必要に応じてその場で作成される専門エージェント。例えば、スプレッドシートを成果物とする慎重な財務分析用)、コンテキストごとにファイル、シークレット、メモリ、リポジトリを分離するプロジェクト管理、そしてメインエージェントが調査、コード作成、分析、レビューを専用のサブエージェントに委任するマルチエージェント協働も特徴として挙げています。これらの機能はそれぞれ、コンテキストと指示に従う能力を必要とします。そのため、単純なチャットを超えた使い方では、モデル選びに直接影響します。

i
一言で
Agent Zeroは、エージェント用のLinuxデスクトップとブラウザを備えたDockerコンテナです。さらに、この実行基盤とは完全に独立して、モデルの提供元を選べます(Ollamaも選択肢に含まれます)。

#Dockerコンテナをインストールする

ローカルエージェントキット

あなたのマシンで動作するエージェント:エージェント型 Cline、MCP、n8n + Ollama、ローカル自動化。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート

Docker がすでにインストールされている場合、最も直接的な方法は、インスタンスのデータを永続ボリュームにマウントする単一のコマンドです。プロジェクトでは、サーバーやヘッドレスモード向けにスクリプトによるインストーラー(A0 Install)も提供されており、また、Docker、インスタンス、ポートをユーザーに代わって管理するグラフィカルなランチャー(A0 Launcher)も提供されています。

ターミナル
docker run -p 80:80 -v a0_usr:/a0/usr agent0ai/agent-zero

コンテナを起動すると、選択したポート(デフォルトは80、またはパラメータで指定したポート)でWebインターフェースが開き、最初のタスクを実行する前にモデルプロバイダーを設定できます。GUIのないサーバーでは、スクリプト形式のインストーラーでサイレントモードを利用できます。このモードでは、メニューを開かずに、指定したインスタンスとポートを作成できます。自動デプロイや、SSHでしかアクセスできないリモートマシンで役立ちます。

#ローカルOllamaとの接続

インストールの公式ドキュメントには、次の手順が詳しく説明されています。会話モデル、ユーティリティモデル、または埋め込みモデルの設定で、プロバイダーとしてOllamaを選択し、Ollamaが受け付けるモデル名(例:llama3.2、qwen2.5:7b)を入力する。その後、APIのURLがデフォルト値と異なる場合は、そのURLを入力する。

→
デフォルトのアドレスはlocalhostではありません
Agent Zeroには、ホスト上のOllamaにhttp://host.docker.internal:11434で接続するための、Docker向けのデフォルト設定が含まれています。コンテナ内からhttp://localhost:11434に接続しようとしてもつながらず、この点でつまずくユーザーがよくいます。コンテナ内のlocalhostは、ホストマシンではなくコンテナ自体を指すためです。

コンテナからOllamaに接続できない場合、ドキュメントでは、コンテナからポート11434にアクセスできる必要があると説明されています。付属のDocker Composeファイルは、Linux上のDockerでhost.docker.internalをホストのゲートウェイに対応付けています。また、両サービスが同じDockerネットワークを共有している場合は、アドレスをhttp://(nom du conteneur):11434にすることもできます。

#どのモデルを選択し、どのような役割に使うか

Agent Zeroには、チャット(メインの会話)、ユーティリティ(記憶の整理、要約)、埋め込み(記憶の検索)という3つのモデル設定枠があります。モデル名の形式はプロバイダーによって異なります。Ollamaでは、OpenRouterとは異なり、プロバイダーの接頭辞を付けず、モデル名だけ(gpt-oss:20b)を指定します。

モデルの役割と堅牢性の要件
役割記載された要件
チャット(会話)エージェントの通信フォーマット(JSONでtool_name/tool_args)に従う必要があります
ユーティリティ(メモリ、要約)非常に小さなモデル(4B)は頻繁に失敗します。代わりに70Bモデルまたは品質の高いクラウド「フラッシュ/ミニ」モデルがより適しています。
Embeddingサイズの影響を受けにくく、類似度検索のためにメモリをインデックス化する用途にのみ使われます。

最も見落とされがちな点は、会話には十分なモデルでも、小さすぎると補助的な処理を担う役割では失敗することがあるという点です。その結果、ユーザーが気づかないうちにメモリの品質が低下し、なぜエージェントが「忘れる」のか、あるいはセッションをまたいで事実を混同するのか分からなくなります。

#ローカルの小型モデルを用いたツール呼び出し

Agent Zero自身も、軽量なローカルモデルで広く見られる問題を文書化しています。モデルがコマンドを実行するツールを呼び出さず、コマンドの説明をしてしまうという問題です。このプロジェクトは、コードに手を加えず、プロンプトだけで対処する「Tiny Local」プロファイルを提供しています。標準のツール呼び出し形式を維持しながら、通信用プロンプトから可視の推論フィールドを取り除き、tool_nameとtool_argsを含む実行可能なJSONオブジェクトだけを要求します。

!
注意すべき症状
エージェントが実際に行動せず「これから何をするか」を説明するだけだったり、不正な形式のメッセージに関する警告を繰り返して自ら修正しなかったりする場合、それはローカルモデルの能力がデフォルトの通信形式に対応するには不足していることを示す、文書化された兆候です。フレームワークのバグではありません。

プロフィールを変更せずに代替策として、専用のプロンプトファイル(拡張子 .promptinclude.md)を追加することで、期待される行動を繰り返すことができます。その内容は、Markdown バリエーションや前後テキストを含まない、正確に JSON 形式で構成された応答で、tool_name および tool_args という正確なフィールドを持つ必要があります。この補正の制限については、ドキュメントが明確に述べています:これはプロンプトおよびプロフィールの調整にすぎず、実行コードの変更ではありません。もし特定のモデルがこの規則に従っても依然として失敗する場合、次のステップはモデルの変更であり、プロンプトの複雑化ではなく、モデルの切り替えです。

#Linuxデスクトップで実際に変わること

ターミナルだけで動作するエージェントと比べたAgent Zeroの特徴は、コンテナ内に完全なXFCEデスクトップ環境があることです。エージェントは実際のGUIソフトウェア(オブジェクトをモデリングするためのBlender、ファイルマネージャー、画面上に表示されるターミナルなど)を開くことができます。ユーザーは同じ仮想マウスと仮想キーボードを共有しながら各操作を観察でき、いつでも介入できます。

内蔵ブラウザは、単なるページ操作にとどまりません。Annotateモードでは、どんなウェブページでも、クリックして指示を出せる画面に変えられます。要素の変更や調査、別のプロジェクトでの再利用、あるいは特定の箇所へのコメントが可能で、そのコメントは後からエージェントがタスクとして処理します。

!
セルフホスティングだけでは、ブラウザのプライバシーは証明できません
コンテナが自分のマシン上で動いているからといって、内蔵ブラウザやモデルの推論がオフラインのままであるとは限りません。実際に何がマシンの外へ送信されるかは、選択したモデルプロバイダー(ローカルのOllamaかクラウドAPIか)と、コンテナのネットワーク設定によって決まります。

#MCPサーバーを接続

統合ツール(ブラウザ、ターミナル、ファイル)に加えて、Agent Zeroは外部MCPサーバーに接続して他のサービスにアクセスできます。公式ドキュメントでは、各MCP接続は橋渡しとして説明されており、一つはGmailに、別のはデータベースに、さらにもう一つは自動化ツールに接続できます。MCPサーバーは、ローカルで実行されるコマンドとして、またはリモートURLとして宣言されます。これにより、ネットワーク上の問題が変わります。コンテナ内のローカルコマンドは、Ollama へのアクセス(host.docker.internal、共有Dockerネットワーク)と同じ制約を受け、リモートURLはコンテナの通常のネットワークルールに従います。

ドキュメントでは、念のために接続を追加するのではなく、各接続を必要最小限にとどめることを勧めています。接続するMCPサーバーが増えるたびに、モデルがアクセスできる範囲が広がるためです。これは、ツール呼び出し時の挙動が高性能なクラウドモデルより予測しにくいローカルモデルを使う場合も同様です。

#モデルとツールを接続する前に実施するセキュリティチェックリスト

Agent Zero を常時の監督なしで動作させる前に、明示的な確認が必要な 3 つの領域があります。コンテナの分離、シークレットおよび API キー、そして接続された MCP サーバーです。

セキュリティチェックリスト
攻撃対象領域確認すべきポイント
サンドボックス/コンテナホスト上で直接実行せず、Docker内で実行すること。リスクを理解しないままホームディレクトリ全体をボリュームにマウントしないこと。
シークレットとAPIキーキーを平文でプロンプト、スクリーンショット、バグ報告チケットに貼り付けるのではなく、グローバルまたはプロジェクト単位のシークレットを使用する
シークレットの範囲グローバルシークレットは、上書き設定がない限り、すべての会話とプロジェクトに適用されます。プロジェクトは、グローバルシークレットより優先される、独自の隔離されたシークレットを定義できます。
接続されているMCPサーバー追加する接続は実際に必要なものに限る;各MCP接続の追加は、モデルが達成可能な範囲を広げるが、Ollama のローカルまたはクラウド選択と直接的な関係はない
i
シークレットは非表示でも、リスクは残ります
プロジェクト単位およびグローバルのシークレットは、インターフェース上ではマスクされ、自動バックアップに含まれない場合があります。これにより画面上での露出は防げますが、MCP接続とコンテナのネットワークアクセスを、実際のタスクに必要な範囲に制限する必要は依然としてあります。

#他のローカルエージェントと比較する

Agent Zeroと、ほかの2種類のエージェントの比較
Frameworkその特徴
Agent ZeroDockerコンテナ内に、フル機能のLinuxデスクトップ(XFCE)と操作可能なブラウザを備え、コーディングの枠を超えた分野横断的なタスクに対応
Hermes Agent永続メモリを中心に据えた、ターミナルおよびメッセージング(Telegram、Discord など)用のエージェント。グラフィカルなデスクトップはありません。
OpenCode / Clineターミナルまたはエディタ内で動作するコーディングエージェント。専用コンテナや操作可能なブラウザは備えていません。

#開始前に理解すべき制限

誤解を招く検索ボリューム
検索エンジンでは「Agent Zero」という語に娯楽コンテンツも含まれるため、開発フレームワークに対する実際の需要は、このキーワードの総検索数から想像されるほど大きくありません。
ディスクとRAMの使用量
コンテナには、エージェントのランタイムに加えて、完全なデスクトップ環境も含まれています。推論自体を Ollama 経由で別の場所で実行する場合でも、最小構成の CLI エージェントより多くのリソースを確保する必要があります。
ユーティリティモデルの規模が小さすぎる
補助モデルが小さすぎると、明示的なエラーメッセージが出ないまま、記憶の質が低下します。エージェントがセッションをまたぐと「話の流れを見失う」ように見える場合、まずこの点を確認してください。
コンテナ内部のネットワーク
host.docker.internalはDocker Desktopと、提示されているLinux設定で機能します。ただし、独自の構成でデプロイする場合(カスタムDockerネットワーク、リモートホスティング)は、APIのURLを手動で再入力する必要があります。
よくある質問
Docker内のAgent ZeroからOllamaに接続するには、どのアドレスを使えばよいですか?+
http://host.docker.internal:11434 est l'adresse par défaut prévue par le projet quand Ollama tourne sur la machine hôte et Agent Zero dans son conteneur. localhost:11434 ne fonctionne pas depuis l'intérieur du conteneur, car il pointe vers le conteneur lui-même et non vers l'hôte. Si Ollama et Agent Zero partagent le même réseau Docker, l'adresse peut aussi être http://(nom du conteneur):11434.
Agent Zeroは専用GPUがなくても動作しますか?+
コンテナ自体(XFCEデスクトップ、ブラウザ、ツールの実行制御)の動作にGPUは必要ありません。GPUが必要なのはモデルの推論だけで、その推論はOllamaや、ローカルまたはクラウドの別のプロバイダーによって個別に処理されます。したがって、推論をネットワーク上の別の場所に任せている限り、Agent Zeroのコンテナは小型マシンでも動作できます。
なぜ自分のローカルモデルはAgent Zeroで一度もツールを呼び出さないのですか?+
これは小型のローカルモデルで報告されている挙動で、コマンドを実際に実行する代わりに、その説明をしてしまいます。このプロジェクトは「Tiny Local」プロファイルを推奨しています。このプロファイルは、通信に使うプロンプトから明示的な推論フィールドを取り除き、tool_nameとtool_argsを含む実行可能なJSONオブジェクトだけを要求するため、小型モデルでも指示に従いやすくなります。
Agent ZeroのLinuxデスクトップは、ターミナルだけで動作するエージェントと比べて、エージェントの安全性を高めますか?+
アクションをDockerコンテナ内に隔離するため、ホスト上で直接実行するエージェントと比べて、ホストマシンへの影響範囲が限定されます。ただし、推論の機密性も内蔵ブラウザの機密性も保証されません。この二つは、グラフィカルデスクトップの有無ではなく、選択したモデルプロバイダーとコンテナのネットワーク設定に左右されます。
Agent Zero と Hermes Agent は同じことをしますか?+
いいえ。Agent Zero は、グラフィカルデスクトップと操作可能なブラウザを備えたコンピュータ全体を対象とし、調査や文書の操作など、複数の領域にまたがるタスクに使います。Hermes Agent はターミナルとメッセージング(Telegram、Discord など)で使うエージェントで、永続メモリと定期実行の自動化を中心としています。どちらもローカルの Ollama エンドポイントに対応していますが、想定する用途は異なります。
Agent ZeroにおけるシークレットやAPIキーのセキュリティはどのように確保しますか?+
APIキーを平文のままプロンプト、スクリーンショット、バグレポートに貼り付けることは絶対にしないでください。インターフェースに用意されたグローバルまたはプロジェクト単位のシークレットを使用してください。プロジェクトごとに独立したシークレットを定義でき、これらはグローバルシークレットより優先されます。インターフェースでは非表示になりますが、自動バックアップに含まれない場合があるため、自動バックアップに全面的に頼る前に確認してください。
利用可能なMCPサーバーをすべてAgent Zeroに追加すべきですか?+
いいえ。各 MCP 接続は、外部サービス(メッセージング、データベース、自動化)への橋渡しとなり、モデルがアクセスできる範囲を広げます。ローカルモデルでは、ツール呼び出し時の挙動がより予測しにくくなる場合もあります。ドキュメントでは、念のためにカタログ内のすべてを有効にするのではなく、現在のタスクに本当に役立つサーバーだけを接続することを推奨しています。

このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。