// the find
vercel/ai
The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents
Vercel's TypeScript SDK for building LLM-powered apps, providing a unified API across OpenAI, Anthropic, Google, and others. Ships provider-agnostic streaming, structured output via Zod, tool calling, and React/Next.js hooks that manage UI state for chat and agentic flows. Built for TypeScript developers who want to avoid writing per-provider adapter code.
1. The provider abstraction is genuinely useful — `generateText`, `streamText`, and `generateObject` work identically across providers, so swapping models doesn't cascade through your codebase. 2. `useChat` and `useCompletion` hooks handle the fiddly parts of streaming in React correctly: optimistic message appending, abort signal wiring, and error state — all things that are easy to get subtly wrong yourself. 3. Zod-schema structured output (`Output.object(...)`) abstracts over whether the model uses JSON mode or function-call tricks under the hood, giving you typed responses without caring which provider you're on. 4. The repo ships hundreds of changesets in flight, indicating it's actively maintained and fixes real bugs fast — the SSRF fix, Anthropic beta header removal, and Mistral stop-sequence patch are all signs people are using this in production and issues get addressed.
1. The default pattern now routes through Vercel AI Gateway, quietly adding Vercel infrastructure as a dependency. Direct-provider packages still work, but the README buries that. If you're not on Vercel, read the fine print before adopting the gateway model string syntax. 2. No conversation persistence story — `useChat` holds messages in React state. Every production app ends up writing the same 'serialize messages to DB and reload on mount' glue code, which should be a first-class abstraction by now. 3. The 300+ pending changesets signal a fast-moving API surface; past releases have included breaking changes to hook signatures and message formats without clear migration paths. The `remove-commonjs-exports.md` changeset alone will break any toolchain not fully on ESM. 4. The agent primitives (`ToolLoopAgent`, HITL interrupts) are clearly still stabilizing — there are changesets actively renaming and reshaping these APIs, so building production agents on them today means accepting at least one painful refactor.