中級 10 分IDE

Zed + Ollama:アシスタントを備えた超高速エディター ローカル

端的な回答

はい、ZedはOllamaにネイティブで接続できます。Ollamaをインストールし、ollama pull dでモデルをプルし、サーバーが起動していることを確認してから、Zedが自動的に埋めるドロップダウンメニューからそのモデルを選択します。使用前に知っておくべき設定があります。ZedはデフォルトでOllamaに4096トークンのコンテキストウィンドウのみを送信します。これは最近の多くのモデルのコンテキスト長を大きく下回っており、大きなファイルに対して回答が切り捨てられる原因を説明するのに十分です。

ZedはRustで書かれたマルチユーザー対応のコードエディタで、応答の速さで知られています。このガイドでは、Ollamaと連携してローカルAIアシスタントを使うための設定、コンテキストウィンドウの調整、モデルの自動検出、そしてZedのエージェントが利用者のマシン上で実行できることを制御する権限とサンドボックスの仕組みを解説します。

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

#ZedでOllamaを設定する

Zedの公式ドキュメントでは、4つの手順が説明されています。Ollamaのダウンロードとインストール、モデルの取得、Ollamaサーバーが実行されていることの確認、そしてZedのドロップダウンメニューからそのモデルを選択することです。

ターミナル
ollama pull mistral
ollama serve

macOSでは、Ollama.appアプリを起動するだけでサーバーが開始できます。Linuxまたはシェルから起動する場合も、ollama serve コマンドを実行すれば同じ結果になります。Zedは開発者側がAtomおよびTree-sitterの開発者によって作られた、マルチユーザー対応かつ高性能なコードエディタとして紹介されています。2026年9月28日時点での最新の安定版はv1.21.0で、そのリリース日は2026年9月23日であり、GitHub上のリポジトリには当時までにほぼ91,000のスターが付いていました。

この Ollama の設定は、言語モデルを利用する Zed のすべての AI 機能に使えます。複数のファイルにまたがる作業を行う Agent パネル、エディター内で特定の箇所を変更するインラインアシスタント(Inline Assistant)、エージェントがコマンドを提案できるターミナルスレッドが含まれます。ただし、外部エージェントやターミナルスレッドでは、ここで説明する Zed の標準機能向けの設定とは別に、専用のローカルモデル設定が必要になる場合があります。

#モデルの自動検出

ローカルコパイロットキット

このガイドでモデルの導入まで、キットでエディタ内でコードを書くコパイロットの導入まで進められます。

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

Zedは、Ollamaがすでにダウンロードしたモデルを自動的に検出し、選択メニューに表示します。この自動検出を無効にして、各モデルの具体的な機能とともに一覧を自分で指定するには、設定でauto_discoverをfalseにする必要があります。

settings.json
{
  "language_models": {
    "ollama": {
      "api_url": "http://localhost:11434",
      "auto_discover": false,
      "available_models": [
        {
          "name": "qwen2.5-coder",
          "display_name": "qwen 2.5 coder",
          "max_tokens": 32768,
          "supports_tools": true,
          "supports_thinking": true,
          "supports_images": true
        }
      ]
    }
  }
}

この手動モードには実用的な利点があります。Zedが自動的に適切に分類しないモデルに対して、supports_toolsまたはmax_tokensを強制的に設定する場合や、プロジェクトのバージョン管理された設定ファイルに、チームが使用すべきモデル名を記載する場合に活用できます。

supports_tools フィールドには特に注意が必要です。これはZedがモデルにツールの定義を受け取れるか(ファイルの編集、コマンドの実行など)を示すもので、単なるチャットにとどまらず、Zedエージェントによるマルチファイル処理に対応できるかどうかを決定します。ツール呼び出し機能が明記されていない Ollama モデルは、オンラインアシスタントや自動補完には適していますが、エージェントパネルのマルチファイルタスクには対応できません。

#4096トークンのコンテキストウィンドウ

Zed は num_ctx パラメータを介してコンテキスト長を Ollama に渡します。公式ドキュメントによると、デフォルトは4096トークンです。これは最近のモデルの大半が本来備えるコンテキストウィンドウ(多くの場合32,000トークン以上)よりもはるかに小さく、中程度のサイズのファイルだけでこの上限を超えることがあります。

!
驚きのグラデーション
これはモデルの制限ではなく、Zed自体のデフォルト設定です。コンテキストが128kトークンとされているモデルでも、設定を修正せずにZedがnum_ctx=4096を送信し続けると、大きなファイルに対する応答はやはり途中で切れてしまいます。
コンテキストを確認する
{
  "language_models": {
    "ollama": {
      "context_window": 8192
    }
  }
}

context_window の設定は Zed に登録されたすべての Ollama モデルに適用されます。各モデルごとの異なるコンテキストは、available_models における max_tokens で定義され、auto_discover を無効にすることでその値が反映されます。

#llama.cppとLM Studio:ローカルで使える代替ツール

Zed は Ollama と同様に llama.cpp に対応しており、ルーターモードで提供されるモデルを自動検出できます。この検出は /models/sse ストリームによってさらに精度が高められますが、これには比較的新しいバージョンの llama.cpp サーバーが必要です。LM Studio にも、lms server start で起動するローカル API サーバー経由で対応しています。

Zedでローカルモデルを利用する3つの方法を比較
Backendモデルの検出特徴
Ollama自動(既にダウンロードされたモデル)手動で設定するコンテキストサイズ(デフォルトは4096)
llama.cppルーターモードでは自動(比較的新しいビルドが必要)オプション -hf を使用したオンデマンドロード
LM Studio読み込み済みモデルの一覧から手動で確認モデル管理用のグラフィカルインターフェースおよびAPIの両方を提供

#エージェントのツールの権限

バージョン0.224.0以降、Zedエージェントのツール承認はagent.tool_permissions.defaultで設定されます。このバージョン以前では、単純なブール値(agent.always_allow_tool_actions、デフォルトはfalse)が全体を制御していました。新しいシステムでは、正規表現パターンごとのルールが設定でき、許可、拒否、または常に確認を求めるという3つの結果が選択できます。

settings.json — ツールごとのルール
{
  "agent": {
    "tool_permissions": {
      "default": "allow",
      "tools": {
        "terminal": {
          "default": "confirm",
          "always_allow": [
            { "pattern": "^cargo\\s+(build|test|check)" }
          ],
          "always_confirm": [{ "pattern": "sudo\\s+/" }]
        }
      }
    }
  }
}

公式ドキュメントから引用したこの例では、ターミナルツール内で特定のcargoコマンドを自動的に許可する一方、システムのルートに影響するsudoコマンドには必ず確認を求めます。このように細かく制御できることは、接続するモデルが、基準となるクラウドモデルよりも挙動を予測しにくい小型のローカルモデルである場合に役立ちます。

#サンドボックス:実際に何を保護するのか

Zedは、宣言的な権限設定に加えて、エージェントによるツール呼び出しに対し、OSレベルのサンドボックスを提供しています。ドキュメントには、その適用範囲が明確に示されています。対象はterminalとfetchのツールのみで、Zed自体や、言語サーバー、拡張機能、タスク、通常のターミナルタブには適用されません。

ターミナルツール
サンドボックスは、エージェントによって実行されるコマンドのディスク上の書き込みおよび外部ネットワークアクセスを制限し、Gitのメタデータは保護されます。
fetch ツール
サンドボックスは、エージェントが実際に通信できるホストを制限します。
Linuxの前提条件
PATH に実行可能ファイルであり、setuidでない bwrap バイナリが存在する必要があります。
Windows の前提条件
WSLが利用可能である必要があります。ドキュメントでは、WSL上のサンドボックスはLinuxやmacOS上のものよりも保護が弱く、サンドボックスからの脱出を試みる行為をすべて防げるとは限らないと説明されています。
i
権限とサンドボックスは互いに補完します
パターンに基づく権限設定は、エージェントがアクションを開始できる範囲を制限します。一方、サンドボックスは、開始されたアクションがシステム上で実際にアクセスしたり変更したりできる範囲を制限します。この2つの仕組みは、互いの代わりにはなりません。

この適用範囲の制限(terminalとfetchのみ)は、挙動の予測が難しい小型のローカルモデルに機密性の高いタスクを任せる前に、理解しておくことが重要です。edit_fileやwrite_fileによるファイルの変更は、サンドボックスによるシステムレベルの隔離ではなく、宣言的な権限設定とエージェントプロファイルで制御されます。そのため、他の操作でサンドボックスが有効になっていても、これらの操作については人間によるレビューが引き続き役立ちます。

#ZedにおけるMCPサーバー

Zedは、Ollamaをモデルの提供元として利用するだけでなく、Model Context Protocol(MCP)を使って、データベース、チケット管理システム、社内ドキュメントなどの外部コンテキストサーバーとやり取りします。公式ドキュメントには、ZedがMCPの「ツール」と「プロンプト」機能に対応していると明記されています。これにより、エージェントは組み込みツール(ファイル編集、ターミナル)に加えて、追加の機能を利用できます。

特定のMCPサーバーがZedの組み込みツールと競合せず、確実に使われるようにするため、ドキュメントでは専用のエージェントプロファイルを例示しています(例はcontainer-useサーバー)。このプロファイルでは、組み込みツールを無効にし、選択したMCPサーバーのツールだけを有効にします。そのために、プロファイルの設定でenable_all_context_serversをfalseに設定します。

settings.json — 公式 MCP プロファイルの抜粋
{
  "enable_all_context_servers": false,
  "context_servers": {
    "container-use": {
      "tools": {
        "environment_create": true,
        "environment_add_service": true,
        "environment_update": true,
        "environment_run_cmd": true
      }
    }
  }
}

このプロファイル単位の細かな制御は、前述のツールごとの権限管理と通じるものです。基準となるクラウドモデルより予測しにくいローカルのOllamaモデルを使う場合、エージェントが実際に利用できるツールを制限すれば、それがMCPサーバー由来でもZedの標準機能でも、権限やサンドボックスの問題を検討する前の段階で、エラーが起こりうる範囲を狭められます。

#予測編集(Zeta)もローカルで実行可能

Zed はチャットエージェントに独自の機能を提供しています。それは予測編集機能で、入力中に次の修正を提案し、Tabキーを押すことで承認できます。デフォルトの提供元はZetaで、これはZed自身が開発したオープンソースモデルです。これはエージェントパネルまたはオンラインアシスタントに設定された会話モデルとは異なります。

この機能を完全にローカルで利用するため、公式ドキュメントでは、予測編集専用のOllamaプロバイダーを設定する方法が案内されています。エージェント用にすでに設定したチャットモデルを流用するのではなく、この用途向けのモデルのバリエーション(特にzeta2)を使います。Zedでは、この2つの設定は独立しています。複数ターンの会話を続けるためではなく、一度に1つの変更を予測するために設計された小型モデルは、この特定のタスクでは通常、汎用チャットモデルよりも速く応答します。ここでは、その速さが純粋な推論能力よりも重要です。入力中に感じる遅延が最優先の判断基準であり、回答の豊かさよりもはるかに重視されます。

→
2つのモデル、2つの異なる設定
予測編集に使うモデル(Zeta、またはOllamaで使える同等のモデル)と、チャットエージェントやオンラインアシスタントに使うモデルは、それぞれ別に設定します。例えば、エージェントのnum_ctxを引き上げても、予測編集側のプロバイダー設定を調整しない限り、予測編集の動作は変わりません。

#Ollama を遠隔サーバーで使用

Ollamaが別のマシンで動作している場合や、キーを必要とする場合(ホスト版のOllama Turboなど)は、プロバイダーの画面で、または変数OLLAMA_API_KEYを使ってキーを設定します。また、APIのURLはlocalhostではなく、リモートのエンドポイントを指す必要があります。

このリモート構成には、チームにとって具体的な利点があります。十分な規模のモデルを動かせるように用意した1台のOllamaサーバーで、同じAPI URLを設定した複数のZed利用端末に対応できます。そのため、各開発者が自分のマシンでモデルを実行したり、再読み込みしたりする必要がなくなります。この場合、コンテキストウィンドウと宣言する機能(supports_tools、supports_thinking)は、各自の個人設定ではなく、プロジェクトの共有設定で一度だけ設定すれば済みます。

よくある質問
Ollamaを使うと、Zedが大きなファイルに対する回答を途中で切ってしまうのはなぜですか?+
デフォルトでは、モデルが公表している本来のコンテキストウィンドウの大きさにかかわらず、ZedがOllamaに指定するコンテキストウィンドウはわずか4096トークン(num_ctxパラメータ)です。これはモデルの制限ではなく、Zed自体のデフォルト設定です。ZedのOllama設定にあるcontext_windowを変更すると、利用可能なVRAMに応じて、例えば8192トークン以上に増やせます。
ZedはOllamaのモデルを自動検出しますか?+
はい、デフォルトではZedはOllamaによって既にダウンロードされたモデルを検出し、選択メニューに表示します。モデルを自らリストアップし、正確な能力(ツール、論理的推論、画像処理のサポート)を指定するには、auto_discoverを無効にし、available_modelsに手動でモデルを登録し、それぞれに独自のmax_tokensを設定する必要があります。
Zedのサンドボックスがエージェントのすべてのツールを保護していますか?+
いいえ。公式ドキュメントでは、サンドボックスが適用されるのはterminalとfetchのツールだけだと明記されています。edit_fileやwrite_fileによるファイル編集を含むその他のツールは、引き続き宣言的な権限設定とエージェントプロファイルによって制御され、追加のシステムレベルの隔離はありません。こうした操作では、人間によるレビューも引き続き有用です。
Zed において Ollama の代わりに LM Studio または llama.cpp を使用することは可能ですか?+
はい。ZedのAI機能は3つとも標準でサポートしています。llama.cppとOllamaは、すでに読み込まれているモデルを自動検出できます。LM Studioの場合は、Zedが接続できるようにするために、まずlms server startコマンドでLM Studio自身のローカルAPIサーバーを起動する必要があります。
Zedのサンドボックスは、WindowsでもLinuxと同じくらい信頼できますか?+
いいえ。公式ドキュメントには明記されています。WindowsのサンドボックスはWSLに依存しており、bwrapに基づくLinuxやmacOSのサンドボックスよりも保護が弱くなっています。Windowsではサンドボックスからの脱出の試みをすべて防げるとは限らないため、機密性の高いタスクを任せる前に、この点を念頭に置いてください。
ZedはローカルのOllamaモデルと併せてMCPサーバーを使用できますか?+
はい。Zedは、設定されているモデルプロバイダーがOllamaを含めどのプロバイダーであっても、Model Context Protocolのツールおよびプロンプト機能をサポートしています。専用のエージェントプロファイルを使うと、組み込みツールを無効にし、特定のMCPサーバーのツールだけを利用可能にできます。これにより、挙動を予測しにくいローカルモデルを使う際に、エラーが起こり得る範囲を限定できます。
Zedの予測編集機能は完全にローカルで動作可能でしょうか?+
はい。デフォルトの提供元であるZetaはZedによって開発されたオープンソースモデルですが、公式ドキュメントでは、ローカルのOllamaモデルに置き換えることが可能です(zeta2などのバリエーションがこの用途に向けられて予定されています)。この設定は、チャットエージェントまたはオンラインアシスタントに使用されるモデルとは独立しています。

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

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