> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # Workflow 경로() AI SDK 형식을 사용하여 스트리밍 Workflow 실행을 위한 Workflow 경로 핸들러를 만듭니다. 이 함수는 HTTP를 등록합니다.`POST`입력 데이터를 받아들이고, Workflow를 실행하고, AI SDK 호환 형식으로 클라이언트에 응답을 다시 스트리밍하는 엔드포인트입니다. 내부에서 사용해야합니다.[커스텀 API 경로](https://mastra.zisheng.pro/ko/docs/server/custom-api-routes). 프레임워크에 종속되지 않는 핸들러가 필요하면 [`handleWorkflowStream()`](https://mastra.zisheng.pro/ko/reference/ai-sdk/handle-workflow-stream)을 사용하세요. `workflowRoute()`기존 AI SDK v5/기본 동작을 유지합니다. 앱이 AI SDK v6에 대해 입력된 경우 다음을 통과하세요.`version: 'v6'`. > **Workflow에서 Agent 스트리밍:** Workflow 단계에서 Agent의 스트림을 Workflow 작성자에게 파이프하는 경우(예: `await response.fullStream.pipeTo(writer)`) Agent가 Workflow 단계 내에서 실행되더라도 Agent의 텍스트 청크와 Tool 호출이 UI 스트림에 실시간으로 전달됩니다. 자세한 내용은 [Workflow 스트리밍](https://mastra.zisheng.pro/ko/docs/workflows/overview)을 참조하세요. ## 사용예 이 예제에서는 ID가 `weatherWorkflow`인 Workflow를 사용하는 `/workflow` 엔드포인트에 Workflow 경로를 설정하는 방법을 보여줍니다. ```typescript import { Mastra } from '@mastra/core' import { workflowRoute } from '@mastra/ai-sdk' export const mastra = new Mastra({ server: { apiRoutes: [ workflowRoute({ path: '/workflow', workflow: 'weatherWorkflow', }), ], }, }) ``` `workflowId`를 기반으로 런타임 정의 Workflow 라우팅을 사용할 수도 있습니다. URL `/workflow/weatherWorkflow`는 ID가 `weatherWorkflow`인 Workflow로 확인됩니다. ```typescript import { Mastra } from '@mastra/core' import { workflowRoute } from '@mastra/ai-sdk' export const mastra = new Mastra({ server: { apiRoutes: [ workflowRoute({ path: '/workflow/:workflowId', }), ], }, }) ``` ## 매개변수 **version** (`'v5' | 'v6'`): 출력할 AI SDK 스트림 계약을 선택합니다. 기존 기본 동작을 사용하려면 생략하거나 'v5'를 전달하세요. 앱이 AI SDK v6 응답 헬퍼를 기준으로 타입이 지정된 경우 'v6'을 전달하세요. (Default: `'v5'`) **path** (`string`): 경로 경로입니다(예: /workflow 또는 /workflow/:workflowId). 동적 Workflow 라우팅에는 :workflowId를 포함하세요. (Default: `'/api/workflows/:workflowId/stream'`) **workflow** (`string`): 동적 라우팅을 사용하지 않을 때의 고정 Workflow ID입니다. (Default: `undefined`) **includeTextStreamParts** (`boolean`): 출력에 텍스트 스트림 부분을 포함할지 여부입니다. (Default: `true`) ## 추가 구성 [`prepareSendMessagesRequest`](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat#transport.default-chat-transport.prepare-send-messages-request)를 사용하여 Workflow 경로로 전송되는 요청을 사용자 정의할 수 있습니다. 예를 들어 Workflow에 추가 구성을 전달할 수 있습니다. ```typescript const { error, status, sendMessage, messages, regenerate, stop } = useChat({ transport: new DefaultChatTransport({ api: 'http://localhost:4111/workflow', prepareSendMessagesRequest({ messages }) { return { body: { inputData: { city: messages[messages.length - 1].parts[0].text, }, // Or resumeData for resuming a suspended workflow resumeData: { confirmation: messages[messages.length - 1].parts[0].text, }, }, } }, }), }) ```