コーディングエージェントは「ランタイム選択」の時代へ

コーディングエージェントを実務に組み込むと、必ずランタイム固有の壁にぶつかります。Claude Code で動いていたワークフローを Codex に移そうとするとコードを書き直す必要があり、OpenCode を試すにはまた別の統合実装が要ります。セッション管理やツール承認の仕組みがランタイムごとに異なるためです。

Vercel の AI SDK Harness はこの問題に正面から取り組みます。既に定着したコーディングエージェントランタイムを 単一の統合インターフェースでラップし、アプリケーションコードを変更せずにランタイムを差し替えられるレイヤーです。今回のアップデートで Deep Agents と OpenCode のアダプタが加わり、対応リストは Claude Code、Codex、Deep Agents、OpenCode、Pi の計 5 種類になりました。

根拠資料: Vercel Changelog — Deep Agents and OpenCode harness adapters

Developer configuring AI coding agent runtime adapters through unified SDK interface on laptop screen Developer Related Image

追加された 2 つのアダプタをコードで確認

1. Deep Agents アダプタ — LangChain エコシステムとの接続

@ai-sdk/harness-deepagents は LangChain の deepagents ランタイムを Harness 上で動作させます。ファイル・シェルツール、スキル、ホストツール、マルチターンセッション、attach/resume、ツール承認が標準で含まれています。

// Deep Agents を HarnessAgent でラップする最小例
import { HarnessAgent } from '@ai-sdk/harness/agent';
import { deepAgents } from '@ai-sdk/harness-deepagents';

const agent = new HarnessAgent({
  harness: deepAgents,
});

この程度の記述でランタイムが切り替わります。アプリケーション側は harness の値だけを差し替えればよく、他のビジネスロジックはそのまま維持できます。

2. OpenCode アダプタ — サンドボックス内で実サーバーを起動

@ai-sdk/harness-opencode はアプローチが異なります。@opencode-ai/sdk を通じて サンドボックス内に実際の OpenCode サーバーを起動し、セッションイベントを Harness にストリーミングします。OpenCode の組み込みツール、組み込み/ホストツールの承認、モデル・プロバイダ・reasoning variant の選択まで対応します。

// サンドボックスで OpenCode サーバーを起動し Harness にストリーミング
import { HarnessAgent } from '@ai-sdk/harness/agent';
import { openCode } from '@ai-sdk/harness-opencode';

const agent = new HarnessAgent({
  harness: openCode,
});

両者に共通する重要点は、Vercel Sandbox 上で動作するという設計です。ローカル環境を汚染せず、隔離された実行レイヤーを確保できます。

Vercel Sandbox running OpenCode server streaming session events for coding agent Dev Environment Setup

対応ランタイムの比較

ランタイムアダプタパッケージ特徴適したケース
Claude Code@ai-sdk/harness-claudecodeAnthropic エコシステム、安定したツール群Claude Code のワークフローが既にあるチーム
Codex@ai-sdk/harness-codexOpenAI 系の推論性能GPT 系モデルを好むチーム
Deep Agents@ai-sdk/harness-deepagentsLangChain deepagents、ファイル・シェル・スキル・マルチターン・承認LangChain ベースのエージェント資産を再利用したい場合
OpenCode@ai-sdk/harness-opencodeサンドボックス内で実サーバー起動、モデル・プロバイダ選択が自由OSS ランタイム、マルチプロバイダ検証
Pi@ai-sdk/harness-pi軽量ランタイム最小オーバーヘッドを求める場合

この技術の限界と注意点

  • サンドボックス依存: OpenCode アダプタは Vercel Sandbox 内でサーバーを起動する構造のため、ローカル開発環境でそのまま再現するのは難しい場合があります。ローカルテスト戦略は別途設計する必要があります。
  • バージョンドリフト: 各ランタイムは独立してリリースされるため、アダプタが特定バージョンのランタイムのみをサポートする状況が発生します。CI でアダプタとランタイムのバージョン組み合わせを固定することを推奨します。
  • 抽象化の漏れ: 統合インターフェースが便利でも、ランタイム固有の機能が 100% 露出するわけではありません。特定ランタイムの特殊機能が必要な場合は、その部分だけ直接接続する判断が妥当です。

次のステップ

  1. まず @ai-sdk/harness/agent の HarnessAgent インターフェースのドキュメントを確認してください。
  2. 既存のランタイムを 1 つ選び、小規模プロジェクトで Harness にラップするリファクタリングを試してみてください。
  3. サンドボックス隔離とツール承認ポリシーを自組織のセキュリティ要件と突き合わせると、導入判断がしやすくなります。

Cloud architecture diagram showing unified harness interface connecting multiple coding agent runtimes Development Concept Image

まとめ: ランタイムは差し替えるもの

AI SDK Harness のメッセージは明快です。エージェントランタイムはアプリケーションの部品であり、アプリケーションそのものではないという考え方です。Deep Agents と OpenCode の参加により選択肢が広がった今、「どのランタイムを使うか」よりも「どのランタイムをいつ差し替えるか」を設計する方が重要になります。

関連記事

本コンテンツは、信頼性の高い情報源をもとにAIツールを活用して作成され、編集者によるレビューを経て公開されています。専門家によるアドバイスの代替となるものではありません。