AI SDK 7
요약
Vercel의 TypeScript 기반 AI SDK 7이 출시되었습니다. 이번 업데이트는 에이전트 구축을 위한 추론 제어 표준화, 타입이 지정된 도구 컨텍스트, 런타임 컨텍스트 및 효율적인 파일 처리 기능을 제공합니다.
핵심 포인트
- 모델별 추론(reasoning) 설정을 표준화하여 단 한 줄의 코드로 제어 가능
- 스키마를 통한 타입 지정 도구 컨텍스트(tool context) 도입으로 보안 및 정밀도 향상
- 런타임 컨텍스트 및 텔레메트리 지원으로 복잡한 에이전트 루프 제어 용이
- 파일 업로드 및 참조 방식을 통해 대규모 입력 처리 시 대역폭 절약 및 속도 개선
주간 다운로드 수가 1,600만 회가 넘는 AI SDK는 모든 모델 제공업체에 걸쳐 AI 애플리케이션, 기능, 프레임워크 및 에이전트(agents)를 구축하기 위한 TypeScript SDK입니다. 이는 Vercel의 오픈 소스 에이전트 프레임워크인 eve가 구축된 것과 동일한 레이어입니다.
AI SDK 7은 다섯 가지 영역에 걸쳐 에이전트 작업에 대한 프로덕션 수준의 깊이를 더합니다:
모범적으로 동작하는 에이전트를 구축하려면 모델의 추론(reasoning), 도구 컨텍스트(tool context), 파일 처리(file handling)에 대한 미세한 제어가 필요합니다.
대부분의 프런티어 모델(frontier models)은 설정 가능한 추론을 지원하지만, 제공업체 API마다 이를 노출하는 방식이 다릅니다.
AI SDK 7은 reasoning 및 generateText, streamText 옵션을 통해 이를 표준화합니다. 이는 제공업체 고유의 추론 설정에 매핑되어, 단 한 줄의 코드로 추론 노력(reasoning effort)을 제어할 수 있게 해줍니다. 또한 더 상세한 제공업체별 추론 설정이 필요한 경우 여전히 제공업체 옵션으로 폴백(fallback)할 수 있습니다.
더 자세한 내용은 reasoning documentation에서 확인하세요.
도구(Tools)는 특정 에이전트나 애플리케이션과 독립적으로 점점 더 많이 개발되고 있습니다. 예를 들어, 제3자 기업들은 에이전트가 자신들의 API를 사용할 수 있도록 하는 도구들을 제공합니다. 따라서 도구에는 API 키나 설정값과 같이 LLM에 의해 생성되지 않는 추가적인 입력값이 필요합니다.
AI SDK 7은 스키마(schema)를 통해 각 도구에 지정할 수 있는 완전히 타입이 지정된 도구 컨텍스트(tool context)를 추가합니다. 이 컨텍스트는 제3자 도구가 필요하지 않은 컨텍스트에 접근하는 것을 방지하기 위해 해당 도구로 제한됩니다.
Tool Context에 대해 더 자세히 알아보세요.
더 복잡한 에이전트 루프(agentic loops)의 경우, 프롬프트, 모델 선택 등을 조정하기 위해 prepareStep 단계에서 접근하고 수정할 수 있는 변수가 필요한 경우가 많습니다.
AI SDK 7은 단계 준비(step preparation) 및 도구 승인(tool approval) 함수 중에 사용할 수 있는 타입이 지정된 런타임 컨텍스트(runtime context)를 도입하며, 선택적인 텔레메트리(telemetry) 지원을 제공합니다. 이를 통해 더 많은 로직을 ToolLoopAgent에 캡슐화하고, 해당 내부 로직을 가진 에이전트들을 공유할 수 있습니다.
Runtime Context에 대해 자세히 알아보세요.
많은 에이전트 워크플로우(agent workflows)는 PDF, 이미지, 데이터셋 또는 기타 아티팩트(artifacts)와 같은 대규모 입력을 처리해야 합니다. 이러한 파일들을 인라인(inline)으로 전송하는 것은 느리고 낭비가 심하며, 특히 파일이 반복해서 전송되는 상태 비저장 추론(stateless inference)의 경우 더욱 그렇습니다.
AI SDK 7은 파일을 한 번 업로드한 다음, 이후의 모델 호출(model calls)에 가벼운 참조(reference)를 전달할 수 있는 최상위 API를 추가합니다. 이를 통해 동일한 바이트를 반복해서 다시 업로드하는 것을 방지하여, 추론(inference) 속도를 높이고 반복되거나 다단계로 진행되는 실행 과정에서 대역폭을 절약할 수 있습니다.
uploadFile은 파일 업로드 엔드포인트를 제공하는 모든 프로바이더(providers)와 함께 사용할 수 있습니다. 이 함수는 프로바이더 간에 이동 가능한 프로바이더 참조 객체(provider reference object)를 반환합니다.
Provider File Uploads에 대해 자세히 알아보세요.
프로바이더 관리 컨테이너 환경(provider-managed container environments)으로 매 요청마다 스킬(skills)을 인라인으로 전송하는 것은 파일을 인라인으로 전송하는 것과 동일한 오버헤드 문제를 가집니다.
AI SDK 7은 스킬을 한 번 업로드한 다음, 이후의 추론 호출에서 해당 스킬의 참조를 사용할 수 있게 해주는 최상위 API를 추가합니다. uploadFile과 유사하게, 이 함수는 프로바이더 참조 객체를 반환합니다.
Provider Skill Uploads에 대해 자세히 알아보세요.
MCP는 에이전트를 도구(tools) 및 리소스(resources)에 연결하는 일반적인 방법이 되었습니다. 하지만 모든 도구가 모델에 노출될 필요는 없으며, 일부 MCP 서버는 도구와 함께 특화된 UI를 노출해야 할 수도 있습니다.
AI SDK 7은 MCP Apps에 대한 지원을 추가합니다. 이제 MCP 서버는 모델에 보이는 도구와 앱 전용 도구를 분리할 수 있고, 앱 메타데이터를 보존하며, 샌드박스 처리된 iframe 내에서 앱 UI를 렌더링할 수 있습니다. JSON-RPC 브리지(bridge)가 도구, 리소스 및 디스플레이 상호작용을 연결합니다.
이를 통해 모델은 필요한 도구를 사용하면서도, 사용자는 검토, 구성 또는 상호작용을 위해 앱 전용 인터페이스를 볼 수 있는 더욱 풍부한 에이전트 경험을 구축할 수 있습니다.
지금 바로 첫 번째 에이전트를 구축해 보세요. AI SDK를 사용한 MCP 앱
에이전트를 개발할 때는 전체 앱을 작성하지 않고도 빠르게 테스트할 수 있어야 합니다. AI SDK 7은 단 몇 줄의 코드만으로 에이전트를 실행할 수 있는 터미널 UI (TUI) 패키지를 추가했습니다:
이 TUI는 대화형이며, 추론 (reasoning) 및 도구 (tools)를 지원하고, 마크다운 (markdown)을 서식이 지정된 텍스트로 렌더링합니다.
[.자신만의 터미널 에이전트 만들기]에 대해 자세히 알아보세요.
에이전트가 더욱 자율적이고 실행 시간이 길어짐에 따라, 승인 (approvals), 내구성 (durability), 샌드박싱 (sandboxing) 및 견고함 (robustness)에 대한 필요성이 증가합니다.
AI SDK 7은 자동화되거나 인간 참여형 (human-in-the-loop) 방식이 될 수 있는 에이전트 수준의 도구 승인을 지원하며, 다음과 같은 승인 유형을 제공합니다:
특정 도구의 사용 시나리오가 승인 필요성을 결정하기 때문에, 도구 승인은 ToolLoopAgent, generateText, streamText에서 정의됩니다.
더 높은 위험이 따르는 워크플로 (workflows)를 위해, AI SDK 7은 위조된 승인을 방지하기 위해 선택 사항인 HMAC 서명 도구 승인을 도입했습니다. 또한 SDK는 실행을 계속하기 전에 도구 입력과 정책을 재검증함으로써 재생 (replay) 동작을 강화합니다.
[.도구 승인이 작동하는 방식]을 참조하세요.
에이전트 실행이 여러 단계에 걸쳐 있거나 인간의 승인을 기다리는 경우, 실행 중간에 프로세스가 재시작되거나 배포되면 처음부터 다시 시작해야 함을 의미합니다. AI SDK 7은 프로세스 재시작, 배포, 중단 및 지연된 승인 상황에서도 생존할 수 있는 내구성 있고 재개 가능한 에이전트 실행을 위해 @ai-sdk/workflow와 WorkflowAgent를 도입했습니다.
WorkflowAgent는 워크플로 단계 경계 전반에 걸쳐 워크플로 기반 스트리밍 (streaming), 도구, 승인, 콜백 (callbacks), prepareCall 및 프로바이더 모델 직렬화 (provider model serialization)를 지원합니다. 또한 공유 에이전트 상태와 안정적인 텔레메트리 (telemetry)를 위한 타입이 지정된 런타임 컨텍스트 (typed runtime context)를 지원합니다.
콜백 (Callbacks)에는 이제 단계 번호 (step numbers), 이전 결과 (previous results), 소요 시간 (duration), 그리고 성공 또는 실패 정보와 같이 더 풍부한 실행 데이터가 포함됩니다. 유효하지 않은 도구 호출 (tool calls)은 유효하지 않은 도구를 실행하지 않고도 보존되며, 도구 변환 (tool conversion) 시 UI 및 콜백을 위해 원시 출력 (raw outputs)을 toModelOutput 형태로 보존할 수 있습니다.
WorkflowAgent로 에이전트 구축하는 방법을 알아보세요.
에이전트는 단순한 요청보다 더 다양한 방식으로 중단될 수 있습니다. 제공자 (provider)가 스트림 (stream)을 열고 청크 (chunks) 전송을 중단하거나, 도구 (tool)가 응답하지 않고 멈춰 있거나, 다단계 실행 (multi-step run)이 전체 예산을 초과할 수 있습니다.
AI SDK 7은 전체, 단계별 (per-step), 청크별 (per-chunk), 그리고 도구별 (per-tool) 제한을 포함하여 텍스트 생성 및 에이전트 API 전반에 걸쳐 일급 시민 (first-class) 타임아웃 설정을 추가합니다. 타임아웃 중단은 TimeoutError를 사용하며, 중단 사유는 스트림 및 UI 프로토콜을 통해 전파됩니다.
타임아웃에 대해 자세히 알아보세요.
셸 명령을 실행하거나, 파일을 읽고 쓰거나, 생성된 코드를 실행하는 에이전트는 일관된 실행 환경이 필요하지만, 기반이 되는 샌드박스 (sandbox)는 로컬 개발, CI, 그리고 프로덕션 환경에 따라 자주 변경됩니다. AI SDK 7은 도구 및 에이전트 내에서 이식 가능한 명령 실행 (portable command execution)을 위한 일급 시민 추상화 (first-class abstraction)를 추가합니다. 도구는 특정 샌드박스와 독립적으로 개발될 수 있으며, 샌드박스를 인식하는 어떤 도구든 어떤 샌드박스 제공자와도 함께 사용할 수 있습니다. SandboxSession
Vercel Sandbox와 같은 샌드박스 환경은 이러한 목적에 이상적입니다.
에이전트 런타임 (Agent runtimes)은 단일 애플리케이션 서버를 넘어 확장되고 있습니다. 팀들은 동일한 에이전트 로직을 코딩 환경, 호스팅된 샌드박스, 로컬 세션, 그리고 제3자 하네스 (third-party harnesses) 내부에서 실행하기를 원합니다.
AI SDK 7은 실험적인 하네스 추상화 (harness abstractions)를 도입합니다. 이는 Claude Code, Codex, Pi와 같이 완전히 구성된 기성 에이전트 하네스 (agent harnesses)를 실행하기 위한 단일 API입니다. 하네스는 작동할 샌드박스 (sandbox), 사용자 정의 지침 (custom instructions), 기술 (skills), 그리고 도구 (tools)로 구성할 수 있습니다. 일관된 인터페이스를 통해 기성 하네스를 실행하고, 각각을 독립적으로 구성하며, 통합 레이어 (integration layer)를 변경하지 않고도 하나를 다른 것으로 교체할 수 있습니다. HarnessAgent
내부적으로 이 추상화는 v1 어댑터 사양 (adapter spec), 브리지 지원 (bridge support), 그리고 세션을 생성하고 재개하기 위한 확장된 샌드박스 세션 프리미티브 (sandbox session primitives)로 구성됩니다. 하네스 세션은 일시 정지 후 재개할 수 있으며, 심지어 개별 턴 (turns)을 실행 도중 중단하고 재개할 수도 있습니다.
HarnessAgent는 AI SDK의 인터페이스를 구현하므로, 그 입력값과 반환값은 기존 AI SDK 통합 (integrations)과 완전히 호환되며, Agent, generate, stream, useChat() 및 새로운 TUI가 추가적인 연결 작업 없이 작동합니다.
.에 대해 더 자세히 알아보세요. AI SDK Harnesses
프로덕션 환경에서 에이전트가 어떻게 동작하는지 이해하는 것은 어려운 일입니다. AI SDK 7은 관찰 가능성 (observability)을 에이전트 구축의 핵심 요소 (first-class part)로 만듭니다.
AI SDK 7은 단일하고 확장 가능한 통합 시스템을 중심으로 텔레메트리 (telemetry)를 개편합니다. 모든 generateText 또는 streamText 호출에 라이프사이클 콜백 (lifecycle callbacks)을 연결하는 대신, 애플리케이션 시작 시 텔레메트리를 한 번만 등록하면 됩니다: generateText, streamText
이 재설계에는 다음이 포함됩니다:
관찰 가능성 통합 (Observability integrations): Datadog, Langfuse, Braintrust, Raindrop, Sentry, Laminar, Langsmith.
이제 트레이스 (Traces)는 루트 생성 (root generation), 각 모델 호출, 개별 단계, 도구 실행, 임베딩 (embeddings), 리랭킹 (reranking), 사용량, 오류, 그리고 선택된 런타임 또는 도구 컨텍스트를 포함하여 AI 작업의 전체 형태를 캡처합니다.
더 자세한 내용은 .에서 확인할 수 있습니다. AI SDK Telemetry documentation
AI SDK 7은 node:diagnostics_channel을 통해 Node.js tracing channel (추적 채널) 지원을 추가합니다. SDK는 해당 채널을 통해 generateText, streamText, 모델 호출, 도구 실행 (tool executions), 임베딩 (embeddings) 및 리랭킹 (reranking)에 대한 구조화된 텔레메트리 (telemetry) 이벤트를 방출합니다. ai:telemetry
더 자세한 내용은 tracing channel documentation에서 확인할 수 있습니다.
AI SDK 7은 모델 출력, 스트리밍 동작 및 도구 실행에 대한 단계별 성능 통계 (performance statistics)를 추가합니다. 다음과 같은 질문에 답할 수 있습니다: 모델이 응답을 시작하는 데 얼마나 걸렸는가? 토큰이 얼마나 빠르게 도착했는가? 어떤 도구가 가장 많은 시간을 소모했는가?
performance statistics에 대해 더 자세히 알아보세요.
프로덕션 에이전트 (Production agents)에는 라이프사이클 훅 (lifecycle hooks)이 필요합니다. 상태 기록, 과금 및 디버깅은 모두 실행 (runs), 단계 (steps) 및 도구가 언제 시작되고 종료되는지를 정확히 아는 것에 달려 있기 때문입니다. AI SDK 7은 모델 호출, 에이전트, 도구 및 기타 함수 전반에서 콜백 (callbacks)이 일관되게 발생하도록 하여, 각 요소가 언제 시작되었는지, 어떤 모델이 실행되었는지, 토큰을 얼마나 사용했는지, 그리고 어떻게 종료되었는지를 관찰할 수 있게 합니다.
더 자세한 내용은 Lifecycle Callbacks documentation에서 확인할 수 있습니다.
실시간 모델 API (Realtime model APIs)는 강력하지만, 각 제공업체(provider)마다 세션, 오디오, 도구 및 브라우저 인증을 다르게 노출합니다.
AI SDK 7은 브라우저 WebSocket 세션에 대한 실험적인 제공업체 불가지론적 (provider-agnostic) 실시간 지원을 추가합니다. SDK는 서버에서 생성된 휘발성 토큰 (ephemeral tokens), OpenAI, Google 및 xAI를 위한 제공업체 구현, 그리고 UIMessage[]를 반환하는 React 실시간 훅 (realtime hook)을 지원합니다.
실시간 세션은 오디오 전사 (audio transcription) 및 클라이언트 주도형 도구 호출 (client-driven tool calling)을 지원하므로, UI를 특정 제공업체의 이벤트 형식에 종속시키지 않고도 음성 에이전트, 협업형 코파일럿 (collaborative copilots) 및 저지연 대화형 인터페이스를 구축할 수 있습니다.
AI Gateway는 WebSocket 서브프로토콜 인증(subprotocol auth), 모델 쿼리 선택(model query selection), 검증된 프로바이더 옵션(validated provider options)을 포함하여, gateway.experimental_realtime()을 통한 정규화된 실시간 세션(normalized realtime sessions)을 지원합니다.
realtime에 대해 더 알아보기
AI 애플리케이션은 텍스트와 이미지를 넘어 확장되고 있습니다. AI SDK 7은 fal, Google AI Studio, Google Vertex, 그리고 Replicate를 위한 프로바이더 구현과 함께 generateVideo를 통한 실험적 지원을 도입합니다.
AI SDK 7의 비디오 생성(Video generation)은 비디오 전용 모델 해상도(video-specific model resolution)를 사용하며, 기본 프로바이더를 통한 문자열 기반 모델 조회(string-based model lookup)를 지원하고, 구성 가능한 크기 제한 및 중단(abort) 지원을 포함한 더 안전한 제한적 다운로드 처리(safer bounded download handling)를 포함합니다.
generating video에 대해 더 알아보기
단 한 번의 명령으로 AI SDK 7을 설치하세요.
AI SDK 7은 Vercel의 핵심 팀(Gregor, Lars, Felix, Aayush, Josh, Nico)과 우리의 놀라운 기여자 커뮤니티의 협업 결과물입니다:
AI 자동 생성 콘텐츠
본 콘텐츠는 Vercel AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기