AI SDK 7 は HarnessAgent を導入します。これは 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 を使用したハーネス対応エージェントの作成
claudeCode を codex または pi に置き換えても、同じ HarnessAgent の流れを維持できます。各ハーネスは、エージェントをサンドボックス化されたワークスペースで実行し、ホスト環境を安全に保ちます。
HarnessAgent.generate() と HarnessAgent.stream() の両方が、AI SDK 互換の結果を返します。アプリがすでに useChat や関連する AI SDK ツールを使用している場合、ユーザーインターフェースのコードを変更せずに HarnessAgent を組み込むことができます。
HarnessAgent は AI SDK のカナリアリリースで利用可能です。開始するには AI SDK ハーネスドキュメント を参照してください。
ハーネスパッケージは 実験的 です。この初期 API がさらに洗練されるにつれ、リリース間で破壊的変更が発生する可能性があります。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.