AI SDK 7HarnessAgent を導入します。これは Claude Code、Codex、Pi などの確立されたエージェントハーネスを実行するための単一の API です。AI SDK はこれまで、モデルを切り替える際にエージェントを書き換える必要がありませんでした。今では同じようにハーネスを切り替えることができます。

エージェントは一度書くだけ。利用可能な最高のハーネスを使いましょう。
今日も。3 か月後も。1 年後も。

ハーネスは、モデル呼び出しの上のコンポーネントを管理します。これには、スキル、サンドボックス、セッション、パーミッションフロー、圧縮、ランタイム設定、サブエージェントなどが含まれます。AI SDK は、統一されたハーネス抽象化を通じて、これらの機能へのアクセスを正規化します。

この実験的リリースの初期ハーネスアダプターには、Claude Code、Codex、Pi が含まれており、今後さらに追加される予定です。

import { HarnessAgent } from '@ai-sdk/harness/agent';

import { claudeCode } from '@ai-sdk/harness-claude-code';

import { createVercelSandbox } from '@ai-sdk/sandbox-vercel';

const agent = new HarnessAgent({

harness: claudeCode,

sandbox: createVercelSandbox({

runtime: 'node24',

ports: [4000],

}),

tools: { /* pass custom tools */ },

skills: [ /* pass custom skills */ ],

});

const session = await agent.createSession();

try {

const result = await agent.stream({

session,

prompt: 'Check the test failures and fix the production code.',

});

for await (const part of result.fullStream) {

if (part.type === 'text-delta') {

process.stdout.write(part.text);

}

}

} finally {

await session.destroy();

}

Claude Code を使用したハーネス対応エージェントの作成

claudeCodecodex または pi に置き換えても、同じ HarnessAgent の流れを維持できます。各ハーネスは、エージェントをサンドボックス化されたワークスペースで実行し、ホスト環境を安全に保ちます。

HarnessAgent.generate()HarnessAgent.stream() の両方が、AI SDK 互換の結果を返します。アプリがすでに useChat や関連する AI SDK ツールを使用している場合、ユーザーインターフェースのコードを変更せずに HarnessAgent を組み込むことができます。

HarnessAgent は AI SDK のカナリアリリースで利用可能です。開始するには AI SDK ハーネスドキュメント を参照してください。

ハーネスパッケージは 実験的 です。この初期 API がさらに洗練されるにつれ、リリース間で破壊的変更が発生する可能性があります。