AI SDK Harnesses
AI SDK Harnesses
harness 섹션은 AI SDK harness 추상화를 다룹니다. Claude Code, Codex, Pi 같은 검증된 에이전트 harness를 실행하기 위한 균일한 API예요.
<IndexCards cards={[ { title: 'Overview', description: 'Understand how harnesses relate to providers, models, agents, streams, and UI primitives.', href: '/docs/ai-sdk-harnesses/overview', }, { title: 'HarnessAgent', description: 'Create sessions, run turns, manage sandbox lifecycle, and resume harness conversations.', href: '/docs/ai-sdk-harnesses/harness-agent', }, { title: 'Tools', description: 'Use built-in harness tools, host-executed AI SDK tools, approvals, and sandbox-aware execution.', href: '/docs/ai-sdk-harnesses/tools', }, { title: 'Skills', description: 'Provide reusable instruction bundles to harness runtimes.', href: '/docs/ai-sdk-harnesses/skills', }, { title: 'Harness Adapters', description: 'Learn about the available harness adapters.', href: '/docs/ai-sdk-harnesses/harness-adapters', }, { title: 'Workflow Utilities', description: 'Run HarnessAgent turns as durable Workflow DevKit workflows.', href: '/docs/ai-sdk-harnesses/workflow-utilities', }, { title: 'UI', description: 'Stream harness output to useChat and build chat routes that preserve harness sessions.', href: '/docs/ai-sdk-harnesses/ui', }, { title: 'Terminal UI', description: 'Run HarnessAgent in @ai-sdk/tui with a small session adapter.', href: '/docs/ai-sdk-harnesses/terminal-ui', }, ]} />
출처: 문서
본문
Harness 섹션에서는 다음과 같은 문서를 제공해요:
- Overview — harness가 프로바이더, 모델, 에이전트, 스트림, UI 프리미티브와 어떻게 관련되는지 이해.
- HarnessAgent — 세션 생성, 턴 실행, sandbox 수명 주기 관리, harness 대화 재개.
- Tools — 내장 harness tools, 호스트 실행 AI SDK tools, 승인, sandbox 인식 실행 사용.
- Skills — harness 런타임에 재사용 가능한 지시 번들을 제공.
- Harness Adapters — 사용 가능한 harness 어댑터 알아보기.
- Workflow Utilities — HarnessAgent 턴을 내구성 있는 Workflow DevKit 워크플로로 실행.
- UI — harness 출력을 useChat으로 스트리밍하고 harness 세션을 보존하는 채팅 라우트 구축.
- Terminal UI — 작은 세션 어댑터로 @ai-sdk/tui에서 HarnessAgent 실행.
더 알아보기 (Learn more)
- AI SDK by Vercel
- Foundations
- Getting Started
- Agents
- AI SDK Core
- Overview
- Generating Text
- Generating Structured Data
- Tool Calling
- Model Context Protocol (MCP)
- MCP Apps
- Runtime and Tool Context
- Code Mode
- Tool Search
- Prompt Engineering
- Settings
- Reasoning
- Embeddings
- Reranking
- Evaluation
- Image Generation
- Realtime
- Transcription
- Translation
- Speech
- Video Generation
- File Uploads
- Language Model Middleware
- Skill Uploads
- Batch
- Provider & Model Management
- Error Handling
- Testing
- Telemetry
- DevTools
- Lifecycle Callbacks
- AI SDK Harnesses
- AI SDK UI
- AI SDK RSC
- Advanced
- Reference
- AI SDK Core
- generateText
- streamText
- embed
- embedMany
- rerank
- generateImage
- experimental_streamTranscribe
- experimental_streamTranslate
- transcribe
- generateSpeech
- experimental_generateVideo
- experimental_evaluate
- uploadFile
- uploadSkill
- Agent (Interface)
- ToolLoopAgent
- createAgentUIStream
- createAgentUIStreamResponse
- pipeAgentUIStreamToResponse
- experimental_startBatch
- tool
- experimental_getBatchStatus
- dynamicTool
- experimental_getBatchResults
- experimental_cancelBatch
- createMCPClient
- experimental_getRealtimeToolDefinitions
- toolSearch
- experimental_listBatches
- MCP Apps
- Experimental_StdioMCPTransport
- jsonSchema
- zodSchema
- valibotSchema
- Output
- filterActiveTools
- ModelMessage
- UIMessage
- validateUIMessages
- safeValidateUIMessages
- Experimental_SandboxSession
- createProviderRegistry
- customProvider
- cosineSimilarity
- wrapLanguageModel
- wrapImageModel
- LanguageModelV4Middleware
- extractReasoningMiddleware
- simulateStreamingMiddleware
- defaultInstructionsMiddleware
- defaultSettingsMiddleware
- addToolInputExamplesMiddleware
- extractJsonMiddleware
- isStepCount
- hasToolCall
- isLoopFinished
- simulateReadableStream
- smoothStream
- generateId
- createIdGenerator
- DefaultGeneratedFile
- AI SDK UI
- AI SDK RSC
- AI SDK Workflow
- AI SDK Errors
- AI_APICallError
- AI_DownloadError
- AI_EmptyResponseBodyError
- AI_EvaluationUnsupportedQuestionTypeError
- AI_InvalidArgumentError
- AI_InvalidDataContentError
- AI_InvalidMessageRoleError
- AI_InvalidPromptError
- AI_InvalidResponseDataError
- AI_InvalidToolApprovalError
- AI_InvalidToolApprovalSignatureError
- AI_InvalidToolInputError
- AI_JSONParseError
- AI_LoadAPIKeyError
- AI_LoadSettingError
- AI_MessageConversionError
- AI_NoContentGeneratedError
- AI_NoImageGeneratedError
- AI_NoObjectGeneratedError
- AI_NoOutputGeneratedError
- AI_NoSpeechGeneratedError
- AI_NoSuchModelError
- AI_NoSuchProviderError
- AI_NoSuchProviderReferenceError
- AI_NoSuchToolError
- AI_NoTranscriptGeneratedError
- AI_NoTranslationGeneratedError
- AI_NoVideoGeneratedError
- AI_RetryError
- AI_StreamProviderError
- AI_TooManyEmbeddingValuesForCallError
- AI_ToolCallNotFoundForApprovalError
- ToolCallRepairError
- ToolChoiceViolationError
- AI_TypeValidationError
- AI_UIMessageStreamError
- AI_UnsupportedFunctionalityError
- AI SDK TUI
- AI SDK Core
- Migration Guides
- Versioning
- Migrate AI SDK 6.x to 7.0
- Migrate AI SDK 5.x to 6.0
- Migrate Your Data to AI SDK 5.0
- Migrate AI SDK 4.x to 5.0
- Migrate AI SDK 4.1 to 4.2
- Migrate AI SDK 4.0 to 4.1
- Migrate AI SDK 3.4 to 4.0
- Migrate AI SDK 3.3 to 3.4
- Migrate AI SDK 3.2 to 3.3
- Migrate AI SDK 3.1 to 3.2
- Migrate AI SDK 3.0 to 3.1
- Troubleshooting
- Azure OpenAI Slow to Stream
- Server Actions in Client Components
- useChat/useCompletion stream output contains 0:... instead of text
- Streamable UI Errors
- Tool Invocation Missing Result Error
- Streaming Not Working When Deployed
- Streaming Not Working When Proxied
- Getting Timeouts When Deploying on Vercel
- Unclosed Streams
- useChat Failed to Parse Stream
- Server Action Plain Objects Error
- useChat No Response
- Custom headers, body, and credentials not working with useChat
- TypeScript performance issues with Zod and AI SDK 5
- useChat "An error occurred"
- Repeated assistant messages in useChat
- onEnd not called when stream is aborted
- Tool calling with structured outputs
- Abort and resumable streams
- streamText fails silently
- Streaming Status Shows But No Text Appears
- Stale body values with useChat
- Type Error with onToolCall
- Unsupported model version error
- Object generation failed with OpenAI
- Missing Tool Results Error
- Model is not assignable to type "LanguageModelV1"
- TypeScript error "Cannot find namespace 'JSX'"
- React error "Maximum update depth exceeded"
- Jest: cannot find module '@ai-sdk/rsc'
- High memory usage when processing many images