networkRoute()
Agent network は非推奨であり、今後のリリースで削除される予定です。代わりに、agent.stream() または agent.generate() とともに supervisor agents を使用してください。アップグレード方法については、移行ガイドを参照してください。
AI SDK 形式を使用してネットワーク実行をストリーミングするためのネットワークルートハンドラーを作成します。この関数は、メッセージを受け取り、Agent network を実行し、AI SDK 互換形式でレスポンスをクライアントにストリーミングする HTTP POST エンドポイントを登録します。Agent network では、ルーティング Agent が他の Agent にタスクを委譲できます。カスタム API ルート内で使用する必要があります。
フレームワークに依存しないハンドラーが必要な場合は、handleNetworkStream() を使用してください。
networkRoute() では、既存の AI SDK v5 のデフォルト動作が維持されます。アプリが AI SDK v6 に対して型付けされている場合は、version: 'v6' を渡してください。
使用例使用例への直接リンク
次の例では、ID が weatherAgent の Agent を使用するネットワークルートを /network エンドポイントに設定します。
import { Mastra } from '@mastra/core'
import { networkRoute } from '@mastra/ai-sdk'
export const mastra = new Mastra({
server: {
apiRoutes: [
networkRoute({
path: '/network',
agent: 'weatherAgent',
}),
],
},
})
agentId に基づいて実行時に定義される Agent ルーティングも使用できます。URL /network/weatherAgent は、ID が weatherAgent の Agent に解決されます。
import { Mastra } from '@mastra/core'
import { networkRoute } from '@mastra/ai-sdk'
export const mastra = new Mastra({
server: {
apiRoutes: [
networkRoute({
path: '/network/:agentId',
}),
],
},
})
パラメーターパラメーターへの直接リンク
version?:
'v5' を渡します。アプリが AI SDK v6 のレスポンスヘルパーに対して型付けされている場合は、'v6' を渡します。path:
/network または /network/:agentId)。動的な Agent ルーティングを行うには、:agentId を含めます。agent?:
:agentId が含まれていない場合は必須です。agentVersion?:
{ versionId: '<id>' } を渡し、ステータスで解決するには { status: 'draft' } または { status: 'published' } を渡します。ルートが呼び出されると、クエリパラメーター ?versionId=<id> または ?status=draft|published がこの静的な値より優先されます。Editor が設定されている必要があります。defaultOptions?:
追加設定追加設定への直接リンク
prepareSendMessagesRequest を使用すると、ネットワークルートに送信するリクエストをカスタマイズできます。たとえば、Agent に追加設定を渡せます。
const { error, status, sendMessage, messages, regenerate, stop } = useChat({
transport: new DefaultChatTransport({
api: 'http://localhost:4111/network',
prepareSendMessagesRequest({ messages }) {
return {
body: {
messages,
// Pass memory config
memory: {
thread: 'user-1',
resource: 'user-1',
},
},
}
},
}),
})