OpenCode 2.0は、コーディングエージェント・フレームワークの重要なアーキテクチャ刷新を象徴しており、標準的なクライアント/サーバーモデルから永続的なバックグラウンドプロセスへと移行しています。この新バージョンでは、サーバーはユーザーのマシン上で単一のバックグラウンドプロセスとして動作し、Terminal User Interfaces (TUIs)、Webインターフェース、デスクトップアプリケーションを含む様々なインターフェースが同じ中央プロセスと通信できるようになります。この変更は、スケジュールされたタスクやプログラムによるスクリプトの信頼性を向上させるために設計されており、`@opencode/client`パッケージは現在、ローカルサービスを自動的に検出します。また、今回のアップデートには、AIエージェントの進化する要件により適応するためのAPIの完全な書き換えも含まれています。これには、エージェントが自身のAPIを認識して相互作用し、セッションを特定のgitワークツリーに移動するといったタスクを実行できる自己認識機能が含まれています。

この画像は、フレームワークを永続的なバックグラウンドサービスモデルへと移行させるOpenCode 2.0のアーキテクチャ刷新の主要なビジュアルとして機能します。
2.0における最も顕著な技術的転換の一つは、`@opencode/codemode`パッケージを介した最小限のJavaScriptインタプリタの導入です。複雑なNode.js仮想マシンやQuickJSのような埋め込みソリューションに依存していた以前のバージョンとは異なり、この新しいモードでは、エージェントがModel Context Protocol (MCP)サーバーやOpenAPIエンドポイントを取り込み、それらを関数に変換することができます。これにより、エージェントは、あるツールの結果をマッピングして別のツールに供給するといった複雑なマルチステップの操作を、単一のラウンドトリップで実行するために、スクリプトをネイティブに記述および実行できるようになります。すべてのMCPサーバーをデフォルトで「コードモード」に組み込むことで、システムはコンテキストの肥大化を抑え、エージェントが最小限のオーバーヘッドで数千のツールを構成できるようにすることを目指しています。
長時間実行される操作中のユーザー体験を向上させるため、OpenCode 2.0はバックグラウンド・サブエージェントと非同期シェルコマンドを導入しました。これにより、プライマリエージェントは、コードレビューやビルドプロセスなどのタスクをサブエージェントに委譲しながら、さらなるプロンプトに対してユーザーが利用可能な状態を維持できます。ユーザーは、コマンドの実行に予想以上の時間がかかる場合、ホットキーを使用してフォアグラウンドタスクをバックグラウンドに移動することもできます。さらに、このフレームワークは「すべてはプラグインである」という哲学を採用しており、現在80以上の内部機能がプラグインとして実装されています。このアーキテクチャはホットリロードをサポートしており、エージェントは理論上、アクティブなセッション中に自分自身のためのプラグインを記述・デプロイし、サービスを再起動することなく即座にそれを利用することができます。今回のアップデートには、1.0のプラグインおよびサーバーAPIに対する破壊的な変更が含まれていますが、これらの高度なオーケストレーション機能をサポートするための既存構成の移行パスも提供されています。