{"componentChunkName":"component---src-templates-info-posts-js","path":"/information/AI/56393330-0842-56c5-88a9-d92725636338","result":{"data":{"microcmsInformation":{"id":"56393330-0842-56c5-88a9-d92725636338","title":"OpenCode 2とは？モデルを選べるAIコーディングエージェントを解説","date":"2026 年 09 月 21 日","image":{"url":"https://images.microcms-assets.io/assets/52137c02cafa4450bbdc092b64fbadac/42b0a50c48434a3c9cdd85efac8a9e28/opencode-2.png"},"author":{"author":"Goubara"},"body":"<p>OpenCode 2は、AIコーディングエージェントとAIモデルを切り離したオープンソースのツールです。OpenAI、Anthropic、Google、Azure、Amazon Bedrock、OpenRouter、xAI、さらにOllamaやLM Studioで動かすローカルLLMまで、同じ環境から切り替えながら開発できます。</p><p>Claude CodeはClaudeを、CodexはOpenAIモデルを軸に設計されています。OpenCodeにはその軸がありません。どのモデルを使うかを設定で決められることが、そのまま設計思想になっています。</p><p>最新版のOpenCode 2では、ターミナルのCLIに加えてデスクトップアプリとWeb UIが公式に提供されています。ただしV1からインストール方法・MCPの設定形式・プラグインAPIが変わっているため、V1向けの手順をそのままなぞると途中で止まります。</p><p>この記事では、OpenCode 2のインストールからプロバイダー接続、Build / Planの使い分け、サブエージェント、Permission、MCP、ローカルLLMまでを順に扱います。</p><h2 id=\"h3aaa495867\">OpenCode 2は「プロジェクトの中で作業する」AIエージェント</h2><p>チャット型のAIは、貼り付けたコードについて答えるだけです。一方でOpenCode 2は、開発中のプロジェクトそのものを読み、ファイルを書き換え、コマンドを実行します。こうしたツールをAIコーディングエージェントと呼びます。</p><p>具体的には、コードの読み取り、ファイルの作成と編集、シェルコマンドの実行、バグ原因の調査、テストの実行、実装計画の作成、サブエージェントへの委譲、MCP経由での外部サービス利用までを任せられます。</p><p>OpenCodeはオープンソースで開発されており、リポジトリは<a href=\"https://github.com/anomalyco/opencode\">GitHub（anomalyco/opencode）</a>で公開されています。</p><h2 id=\"h16ceebb3e7\">ターミナル・デスクトップ・Web UIの3つの入り口</h2><p>CLIだけのツールではありません。同じエージェントに、3つの入り口が用意されています。</p><p>ターミナルで使う場合は、プロジェクトのディレクトリで <code>opencode</code> を実行します。デスクトップアプリはmacOS・Windows・Linux向けに配布されています。</p><p>Web UIは次のコマンドで起動します。</p><pre><code>opencode pair</code></pre><p>実行するとローカルURLと接続用の認証情報が表示され、ブラウザからエージェントを操作できます。</p><p>VS Code、Cursor、Zed、Windsurf、VSCodium向けの拡張や、GitHub・GitLabとの連携も提供されています。</p><h2 id=\"hdf6a36a618\">接続できるAIプロバイダーとモデルの選び方</h2><p>エージェントとモデルが分離しているという特徴は、この接続設定に表れます。</p><h3 id=\"h335757efa3\">/connect でプロバイダーをつなぐ</h3><p>OpenCodeを起動したら、次のコマンドでプロバイダーを追加します。</p><pre><code>/connect</code></pre><p>プロバイダーを選び、APIキーなどの認証情報を入力します。公式ドキュメントでは、ネイティブ対応としてOpenAI、Anthropic、Google、Azure、Amazon Bedrock、OpenRouter、xAIが挙げられています。加えてGitHub Copilot、Ollama、LM Studio、vLLMも利用できます。</p><p>接続後、モデルの選択は次のコマンドから行います。</p><pre><code>/models</code></pre><p>OpenCodeは<a href=\"https://models.dev/\">models.dev</a>の一覧、プロバイダー統合、自分の設定ファイルの3つからモデル候補を組み立てます。そのため、同じOpenCode環境の中でモデルを切り替えながら開発できます。</p><p>モデル名には<code>#</code>でバリアントを付けられます。推論の強さやトークン予算を切り替える指定で、たとえば <code>openai/gpt-5.2#high</code> のように書きます。<code>low</code> <code>high</code> <code>max</code> がすべてのモデルで使えるわけではない点は、ドキュメントにも明記されています。</p><h3 id=\"h56d652b7bc\">ChatGPT Plus / Proアカウントで認証する</h3><p>OpenAIを接続する際、<code>/connect</code> の認証方法の選択肢にはAPIキーの手入力に加えて、ChatGPT Plus / Proアカウントでのログインが表示されます。選ぶとブラウザが開き、OpenAIアカウントで認証できます。すでにChatGPTを契約している場合は、APIキーを発行せずに始められます。</p><p>もちろん、OpenAI APIキーを直接登録する方法も選べます。</p><h3 id=\"hec6074bd02\">Claudeを安定して使うならAnthropic API</h3><p>AnthropicのClaudeも <code>/connect</code> から設定します。</p><p>OpenCodeにはClaude Pro / Maxサブスクリプションを使う認証方法も用意されていますが、これはAnthropicによる正式サポートではありません。業務で継続的に使うなら、Anthropic APIキーを登録する方法のほうが確実です。</p><h2 id=\"h9c26496fc6\">インストール方法（V1とパッケージ名が違う点に注意）</h2><p>V1からインストール先のURLとパッケージ名が変わりました。ここを間違えるとV1が入ります。</p><h3 id=\"h3ddef0b734\">インストールスクリプト</h3><p>macOSとLinuxでは、次のコマンドが公式の推奨になっています。</p><pre><code>curl -fsSL https://opencode.ai/v2/install | bash</code></pre><h3 id=\"h4aa0ae88a6\">npm / Bun</h3><p>Node.js環境では次のコマンドを使います。</p><pre><code>npm install -g @opencode/cli</code></pre><p>Bunを使う場合は次のコマンドになります。</p><pre><code>bun install -g --trust @opencode/cli</code></pre><p>pnpmやYarnからのインストールにも対応しています。</p><h3 id=\"h13827e485d\">Homebrew</h3><p>macOSなどでHomebrewを使う場合は、V2用のtapを指定します。</p><pre><code>brew install anomalyco/tap/opencode-v2</code></pre><p>デスクトップアプリはcaskから入れられます。</p><pre><code>brew install --cask opencode-desktop</code></pre><h3 id=\"hd173daafbc\">デスクトップアプリ</h3><p>公式ダウンロードページでは、macOS（Apple Silicon / Intel）向けのDMG、Windows x64向けのインストーラー、Linux向けの.debと.rpmが配布されています。</p><h3 id=\"ha609a74fb0\">Windowsはパッケージマネージャー非対応</h3><p>公式ドキュメントは、Windowsについて次のように書いています。</p><blockquote><p>Windows package managers are not supported.</p></blockquote><p>V1時代のChocolateyやScoopのコマンドは使えません。Windowsでは、公式サイトから配布されているスタンドアロンのCLIバイナリをダウンロードするか、npmを使います。</p><h3 id=\"had53007f44\">V1とV2の変更点まとめ</h3><table><tbody><tr><th colspan=\"1\" rowspan=\"1\"><p>項目</p></th><th colspan=\"1\" rowspan=\"1\"><p>V1</p></th><th colspan=\"1\" rowspan=\"1\"><p>OpenCode 2</p></th></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>インストールスクリプト</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>https://opencode.ai/install</code></p></td><td colspan=\"1\" rowspan=\"1\"><p><code>https://opencode.ai/v2/install</code></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>npmパッケージ</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>opencode-ai</code></p></td><td colspan=\"1\" rowspan=\"1\"><p><code>@opencode/cli</code></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>Homebrew tap</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>anomalyco/tap/opencode</code></p></td><td colspan=\"1\" rowspan=\"1\"><p><code>anomalyco/tap/opencode-v2</code></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>MCP設定の位置</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>mcp</code> 直下にサーバー名</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>mcp.servers</code> 配下</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>MCPの無効化</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>enabled</code></p></td><td colspan=\"1\" rowspan=\"1\"><p><code>disabled: true</code></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>ターミナルクライアント設定</p></td><td colspan=\"1\" rowspan=\"1\"><p>階層化された <code>tui.json(c)</code></p></td><td colspan=\"1\" rowspan=\"1\"><p><code>~/.config/opencode/cli.json</code> に統合</p></td></tr></tbody></table><h2 id=\"hed0859bf46\">起動からモデル選択までの最短手順</h2><p>インストール後、作業したいプロジェクトへ移動します。</p><pre><code>cd /path/to/project</code></pre><p>続いてOpenCodeを起動します。</p><pre><code>opencode</code></pre><p>初回は <code>/connect</code> でプロバイダーを接続し、<code>/models</code> でモデルを選びます。ここまでで開発を始められます。</p><p>プロジェクト固有の前提（使っているフレームワーク、命名規則、テストの回し方など）は、AGENTS.mdなどの指示ファイルに書いておくとエージェントが参照します。</p><h2 id=\"hfb1eec7fca\">まずPlanで調べ、Buildで実装する</h2><p>標準で用意されているPrimary Agentは、BuildとPlanの2つです。</p><h3 id=\"hc271acef8e\">Build — 標準のコーディングエージェント</h3><p>Buildは通常の開発作業を担当します。ツールは既定で許可されており、環境ファイルの読み取りやワークスペース外へのアクセスだけが確認を求められます。</p><pre><code>ログイン機能を実装して</code></pre><pre><code>このエラーの原因を調べて修正して</code></pre><p>こうした指示から、実際のファイル編集やコマンド実行まで進みます。</p><h3 id=\"h3438dfef70\">Plan — 編集せずに調べるエージェント</h3><p>Planは通常のプロジェクトファイルを編集しません。コードを調査し、実装方法を検討するためのエージェントです。頼めばOpenCodeのプラン用ファイルは書きますし、シェルコマンドは引き続きPermissionの制御を受けます。</p><pre><code>このプロジェクトにOAuth認証を追加したい。\n既存コードを調査して実装方法を考えて。</code></pre><h3 id=\"hd3a301bdaf\">使い分けの理由</h3><p>大きな変更をいきなりBuildに任せると、意図と違う方向に進んだまま差分が膨らみます。Planで調査させ、方針に納得してからBuildへ渡すと、やり直しのコストを差分が小さいうちに抑えられます。</p><h2 id=\"hd9194bac24\">サブエージェントに調査を切り出す</h2><p>Primary Agentとは別に、作業を分担するSubagentを使えます。標準ではGeneralとExploreの2つが用意されています。</p><p>Generalは調査や複数ステップの作業を広いツール権限で処理します。ただし、さらに別のサブエージェントは起動できません。Exploreはコードやウェブの情報を読むだけで、ファイルは編集しません。</p><p>呼び出しは <code>@</code> に続けて名前を書きます。</p><pre><code>@explore 認証エラーがどこで処理されているか調べて</code></pre><p>サブエージェントは親エージェントとは別のコンテキストで動きます。大規模なコード調査で親のコンテキストを埋めずに済むのが、切り出す実利です。</p><h3 id=\"h9f131a517a\">独自エージェントを作る</h3><p>自分専用のエージェントも定義できます。プロジェクト単位なら <code>.opencode/agents/&lt;name&gt;.md</code>、全プロジェクト共通なら <code>~/.config/opencode/agents/&lt;name&gt;.md</code> に置きます。</p><pre><code>.opencode/\n└─ agents/\n   └─ reviewer.md</code></pre><p>中身はフロントマター付きのMarkdownです。</p><pre><code>---\ndescription: コードの問題点をレビューする\nmode: subagent\nmodel: anthropic/claude-sonnet-4-5#high\npermissions:\n  - action: edit\n    resource: &quot;*&quot;\n    effect: deny\n  - action: shell\n    resource: &quot;*&quot;\n    effect: deny\n---\n\n現在の変更内容をレビューしてください。\nバグ、セキュリティ、リグレッション、不足しているテストを確認してください。</code></pre><p>フロントマターで指定できるのは、役割を説明する <code>description</code>、<code>primary</code> / <code>subagent</code> / <code>all</code> から選ぶ <code>mode</code>、使用モデルを <code>provider/model#variant</code> 形式で書く <code>model</code>、権限ルールを順に並べる <code>permissions</code>、モデルの最大ステップ数を決める <code>steps</code> です。</p><h3 id=\"hc5eb4735d6\">エージェントごとにモデルを変える</h3><p>エージェント単位でモデルを指定できることは、OpenCodeの特徴が実務で効く場面です。実装には高性能モデル、コード調査には高速で安いモデル、レビューには別ベンダーの高性能モデルという構成が組めます。</p><p>すべての作業を高価なモデルで回す必要はありません。レビューを実装と別ベンダーのモデルに任せると、同じモデルが自分の書いたコードを自分で承認する構図も避けられます。</p><h2 id=\"h79d81c0833\">Permissionでシェル操作を締める</h2><p>エージェントが使える操作は、Permissionで制御します。指定できるアクションは次のとおりです。</p><table><tbody><tr><th colspan=\"1\" rowspan=\"1\"><p>アクション</p></th><th colspan=\"1\" rowspan=\"1\"><p>対象</p></th></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>read</code> / <code>glob</code> / <code>grep</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>ファイルの読み取り・検索</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>edit</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>ファイルの編集</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>shell</code> / <code>execute</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>コマンドの実行</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>subagent</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>サブエージェントの起動</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>skill</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>スキルの実行</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>question</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>ユーザーへの質問</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>webfetch</code> / <code>websearch</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>ウェブの取得・検索</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>external_directory</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>ワークスペース外へのアクセス</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p><code>&lt;server&gt;_&lt;tool&gt;</code></p></td><td colspan=\"1\" rowspan=\"1\"><p>MCPサーバーのツール</p></td></tr></tbody></table><p>効果（<code>effect</code>）は <code>allow</code>、<code>deny</code>、<code>ask</code> の3つです。<code>allow</code> は確認なしで実行、<code>deny</code> は拒否、<code>ask</code> は実行前に確認を求めます。</p><pre><code>{\n  &quot;permissions&quot;: [\n    { &quot;action&quot;: &quot;shell&quot;, &quot;resource&quot;: &quot;*&quot;, &quot;effect&quot;: &quot;ask&quot; },\n    { &quot;action&quot;: &quot;shell&quot;, &quot;resource&quot;: &quot;git status *&quot;, &quot;effect&quot;: &quot;allow&quot; },\n    { &quot;action&quot;: &quot;shell&quot;, &quot;resource&quot;: &quot;git diff *&quot;, &quot;effect&quot;: &quot;allow&quot; },\n    { &quot;action&quot;: &quot;shell&quot;, &quot;resource&quot;: &quot;git push *&quot;, &quot;effect&quot;: &quot;deny&quot; }\n  ]\n}</code></pre><p>この例では、シェルは既定で確認を挟みつつ、<code>git status</code> と <code>git diff</code> は素通しにし、<code>git push</code> は拒否しています。ルールは順序を持つリストとして評価されるため、広い条件と狭い条件を書く順番が結果を変えます。</p><p>AIエージェントにシェルを渡すなら、少なくともリモートへ push する操作と、破壊的な削除コマンドは <code>ask</code> か <code>deny</code> に倒しておくべきです。</p><h2 id=\"hfdc0699415\">MCPサーバーを足して外部サービスにつなぐ</h2><p>AIエージェントから外部ツールやサービスを呼び出すための共通仕様を、MCP（Model Context Protocol）と呼びます。OpenCode 2はこれに対応しています。GitHub、データベース、Context7、社内システムなどをOpenCodeからそのまま操作できます。</p><h3 id=\"h61eaa497c5\">CLIから追加する</h3><p>ローカルMCPサーバーは次のように追加します。</p><pre><code>opencode mcp add everything -- npx -y @modelcontextprotocol/server-everything</code></pre><p>リモートMCPはURLを指定します。</p><pre><code>opencode mcp add context7 --url https://mcp.context7.com/mcp</code></pre><p>プロジェクトを横断して使いたい場合は <code>--global</code> を付けます。</p><pre><code>opencode mcp add context7 --global --url https://mcp.context7.com/mcp</code></pre><h3 id=\"h27f35a5c13\">設定ファイルはmcp.servers配下に書く</h3><p>設定ファイルに直接書く場合、V2では <code>mcp.servers</code> の下にサーバー名を置きます。</p><pre><code>{\n  &quot;$schema&quot;: &quot;https://opencode.ai/config.json&quot;,\n  &quot;mcp&quot;: {\n    &quot;servers&quot;: {\n      &quot;my-server&quot;: {\n        &quot;type&quot;: &quot;local&quot;,\n        &quot;command&quot;: [&quot;npx&quot;, &quot;-y&quot;, &quot;example-mcp-server&quot;]\n      }\n    }\n  }\n}</code></pre><p>V1のようにサーバー名を <code>mcp</code> 直下へ置く書き方は通りません。設定だけ残して接続を止めたいときは <code>disabled</code> を使います。</p><pre><code>{\n  &quot;mcp&quot;: {\n    &quot;servers&quot;: {\n      &quot;my-server&quot;: {\n        &quot;type&quot;: &quot;local&quot;,\n        &quot;disabled&quot;: true\n      }\n    }\n  }\n}</code></pre><p>V1で使っていた <code>enabled</code> ではない点に注意してください。</p><h3 id=\"hc183e51e0b\">リモートMCPのOAuth認証</h3><p>リモートサーバーは既定でOAuthを使います。登録後、OpenCodeの <code>/mcps</code> を開いてサーバーを選ぶと、ブラウザで認可を済ませられます。</p><pre><code>/mcps</code></pre><p>CLIからも認証できます。</p><pre><code>opencode mcp auth sentry</code></pre><p>認証情報を削除するコマンドも用意されています。</p><pre><code>opencode mcp logout sentry</code></pre><h2 id=\"h6e8d5e1b95\">ローカルLLMを同じ環境から使う</h2><p>接続先はクラウドのAPIだけではありません。手元で動かすLLMも同じように扱えます。公式にサポートされているランタイムと既定のエンドポイントは次の3つです。</p><table><tbody><tr><th colspan=\"1\" rowspan=\"1\"><p>ランタイム</p></th><th colspan=\"1\" rowspan=\"1\"><p>既定のエンドポイント</p></th></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>Ollama</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>http://127.0.0.1:11434</code></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>LM Studio</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>http://127.0.0.1:1234/v1</code></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>vLLM</p></td><td colspan=\"1\" rowspan=\"1\"><p><code>http://127.0.0.1:8000/v1</code></p></td></tr></tbody></table><p>機密性の高いコードはローカルLLM、それ以外はクラウドのモデル、という使い分けが同じOpenCode環境の中で完結します。</p><p>ただし、コーディングエージェントで効いてくるのは単純なコード生成の精度だけではありません。Tool Callingの安定性、指示への追従、長いコンテキストの処理、コードベースを自分で探索する力が揃って初めて、エージェントとして使えます。ローカルLLMを選ぶときは、まずTool Callingに強いモデルかどうかを確認してください。</p><h2 id=\"hcf00c2f1c6\">ウェブ検索とコードベースを組み合わせて調べる</h2><p><code>webfetch</code> と <code>websearch</code> は、Permissionの対象アクションとして用意されています。エージェントにウェブを読ませるかどうかを、設定で決められるということです。</p><p>許可しておくと、次のような調査を1回の指示で回せます。</p><pre><code>利用しているライブラリの最新仕様を調査して、\n既存コードへの影響を確認して</code></pre><p>調査専用のExploreサブエージェントでもウェブ検索は使えるため、親のコンテキストを汚さずに外部情報を集められます。</p><h2 id=\"hef14003da4\">V1から変わった3つのBreaking Change</h2><p>公式のMigration Guideは、意図的な変更を3つ挙げています。この3つ以外は、既存のサーバー設定フィールド、エージェント定義、コマンド定義、スキル、<code>.opencode/</code> 配下のファイルがそのまま動くよう設計されています。</p><h3 id=\"h8b60a6baf2\">プラグインAPI</h3><p>V2は新しいプラグインAPIを採用しました。V1向けのプラグインは、ファイルを移動したり設定名を変えたりするだけでは動きません。エントリポイント、フック、ツール、イベント、パッケージのexportをすべて移植する必要があります。</p><h3 id=\"h5cf36268b5\">サーバーAPIとクライアント</h3><p>サーバーAPIとクライアントの契約も変わりました。V2では <code>@opencode/client</code> パッケージを使い、エンドポイントとレスポンス型が更新されています。OpenCodeを外部アプリから操作している場合は、ここの移行が必要です。</p><h3 id=\"hc24a888738\">ターミナルクライアントの設定</h3><p>V1では階層化された <code>tui.json(c)</code> を使っていましたが、V2では <code>~/.config/opencode/cli.json</code> の1ファイルに統合されました。初回起動時に自動で移行されます。ただしV2のクライアント設定はグローバルのみのため、プロジェクトごとの設定は引き継がれません。</p><p>なお、V1のスキーマでは受け付けられていたフィールドのうち、V2に対応する機能がないものは無視されます。</p><h2 id=\"h931b33a1ef\">Claude Code・Codexとの違い</h2><p>3つのツールはいずれも、コードベースを読み、ファイルを編集し、コマンドを実行できます。違いは、どのモデルを中心に設計されているかにあります。</p><table><tbody><tr><th colspan=\"1\" rowspan=\"1\"><p>ツール</p></th><th colspan=\"1\" rowspan=\"1\"><p>設計の軸</p></th><th colspan=\"1\" rowspan=\"1\"><p>モデルの選択</p></th></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>OpenCode 2</p></td><td colspan=\"1\" rowspan=\"1\"><p>モデルに依存しない共通フロントエンド</p></td><td colspan=\"1\" rowspan=\"1\"><p>複数プロバイダーとローカルLLMを切り替え</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>Claude Code</p></td><td colspan=\"1\" rowspan=\"1\"><p>AnthropicのClaudeとの統合</p></td><td colspan=\"1\" rowspan=\"1\"><p>Claudeが前提</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\"><p>Codex</p></td><td colspan=\"1\" rowspan=\"1\"><p>OpenAIモデルとの統合</p></td><td colspan=\"1\" rowspan=\"1\"><p>OpenAIモデルが前提</p></td></tr></tbody></table><p>Codexも現在は単純なCLIではなく、オープンソースのエージェントハーネスとして提供され、CLI、IDE、SDK、app-serverへ展開されています。AGENTS.md、MCP、Skillsを組み合わせれば、Codex側でも高度な開発環境を構築できます。</p><p>したがって、機能の多寡で優劣が決まるわけではありません。エージェントとモデルを切り離しておきたいならOpenCode、特定ベンダーのモデルに合わせ込まれた挙動を取りたいならClaude CodeやCodex、という分かれ方になります。</p><h2 id=\"ha1f7f16fe6\">OpenCode 2が向いている人・向いていない人</h2><p>向いているのは、複数のAIモデルを使い分けたい開発者です。実装はOpenAI、レビューはClaude、軽量な調査は高速モデル、機密性の高い処理はローカルLLM、という構成を1つの環境から扱えます。</p><p>MCPとサブエージェントを組み合わせて、自分の開発環境を組み上げたい人にも向いています。BuildとPlanの下にExploreやReviewerを置き、GitHubやContext7、社内システムのMCPを足せば、OpenCode自体がAI開発環境のハブになります。</p><p>逆に、設定を触らずすぐ使い始めたい場合は、OpenCodeの自由度は手間として表れます。プロバイダー接続、モデル選択、Permission設計を自分で決める前提のツールだからです。特定のモデルで問題なく回っているなら、Claude CodeやCodexのほうが導入は速く済みます。</p><h2 id=\"ha214098e44\">まとめ</h2><p>OpenCode 2の価値は、機能の数ではなくモデルを固定しない設計にあります。エージェント側の作法（Build / Plan、サブエージェント、Permission、MCP）を一度覚えれば、その上に載せるモデルは後から差し替えられます。</p><p>モデルの勢力図は数か月単位で入れ替わります。開発環境ごと特定ベンダーに預けたくないなら、OpenCode 2から試す価値があります。まずは <code>/connect</code> で手持ちのAPIキーを1つつなぎ、Planでコードを読ませるところから始めてみてください。</p><h2 id=\"h03e7af0d39\"><strong>参考リンク</strong></h2><ul><li><a href=\"https://opencode.ai/\">OpenCode 公式サイト</a></li><li><a href=\"https://opencode.ai/v2/docs\">OpenCode V2 ドキュメント</a></li><li><a href=\"https://opencode.ai/v2/docs/migrate-v1/\">Migrate from V1</a></li><li><a href=\"https://opencode.ai/download\">ダウンロードページ</a></li><li><a href=\"https://models.dev/\">models.dev</a></li></ul>","category":{"category":"AI"}}},"pageContext":{"id":"56393330-0842-56c5-88a9-d92725636338"}},"staticQueryHashes":["3649515864","63159454"]}