blense.
InícioFrontendProgramaçãoIANotíciasGuiasCheatsheetsSobre

Tecnologia decodificada, sempre.

Uma leitura curada sobre IA, produto e a cultura por trás do código. Sem ruído, sem hype.

blense.

Tecnologia com foco. Histórias sobre o que a inovação realmente muda.

Seções

FrontendInteligência ArtificialProgramação & DevNotícias Tech

Blense

SobreRSSPolítica de privacidadeTermosCookies
© 2026 Blense · blense.fun
Inteligência Artificial

Como escolher um SDK de IA: por que o medo de lock-in é um erro e como decidir pelo formato do seu app

O medo de ficar preso a um fornecedor de IA é um erro comum. Saiba como escolher o melhor SDK baseando-se no formato do seu projeto e produtividade.

Gpor Genildo Souza30 de jun.1 min de leitura
Como escolher um SDK de IA: por que o medo de lock-in é um erro e como decidir pelo formato do seu app

Por muito tempo eu fiz uma conta errada na cabeça. Quando ia começar um app com IA, eu descartava o Claude Agent SDK e o Vercel AI SDK quase por reflexo — “esses aí devem estar presos ao provedor deles”, eu pensava. Aí ia de Genkit, achando que era a única opção “livre”. Até o dia em que o launcher do Ollama me mostrou, na cara, que eu estava errado o tempo todo.

O que você leva deste artigo
  • 1Nenhum SDK de agente prende você ao vendor — todos rodam Claude, GPT, Gemini ou modelos locais.
  • 2A camada agnóstica é a mesma em todos: apontar uma URL (base-URL / gateway / plugins) + normalização.
  • 3A escolha real é pelo FORMATO do app, não pela marca: agente de código, conteúdo+RAG, lógica tipada ou UI.
  • 4Batteries-included vale mais que agnosticismo teórico — o que vem pronto economiza semanas.

A premissa que me custou caro

A pergunta que travava tudo era: “e se um dia eu quiser trocar de modelo? Vou ficar refém da Anthropic / da Vercel?”. Com esse medo, o critério de escolha virava o vendor — e não o problema que eu estava resolvendo. É um erro silencioso, porque ele parece prudência.

⚠️
Anti-pattern

Escolher um SDK por medo de lock-in de provider. Você pode acabar no tool certo pelo motivo errado — ou no tool errado por um medo que nem existe. Lock-in de provider não é um critério real: nenhum SDK de agente moderno te prende a um único modelo.

O Ollama derrubou a premissa

Rodei o ollama launch e o menu me ofereceu, entre outras coisas, “Launch Claude Code (minimax-m3:cloud)” e “Launch OpenCode”. Repara no detalhe: ele estava prestes a rodar o Claude Code — que usa o Claude Agent SDK por baixo — com um modelo minimax-m3, que não é da Anthropic. Como? Ele só troca o apontamento da URL base.

BASH
# É só isto que o launcher do Ollama faz por baixo dos panos:export ANTHROPIC_BASE_URL=http://localhost:11434   # endpoint Anthropic-compat do Ollamaexport ANTHROPIC_MODEL=minimax-m3:cloudclaude            # Claude Code rodando um modelo NÃO-Claude, com subagentes e tudo

Zero código. Um modelo de terceiro rodando sob o harness do Claude Code, só porque o Ollama expõe um endpoint compatível com o protocolo da Anthropic. Se isso vale pro Claude Code, vale pra qualquer app construído sobre o mesmo SDK.

A camada agnóstica existe em todos

Depois dessa ficha cair, fui olhar os outros. Todos têm o mesmo mecanismo fundamental: apontar para um endpoint + uma camada de normalização. Só muda o nome:

SDK

Como aponta pra outro provider

Normaliza para

claude-agent-sdk

ANTHROPIC_BASE_URL (endpoint que fale o protocolo Anthropic); backends Bedrock/Vertex

shape Anthropic Messages

Vercel AI SDK

gateway() / createGateway({baseURL}) / createOpenAICompatible({baseURL})

contrato neutro (text/tool-call/reasoning)

Genkit

plugins de provider (googleAI, openai-compat…)

abstração de model do Genkit

📝
Cuidado: wiring ≠ comportamento

Apontar a URL é grátis. Mas o modelo do outro lado recebe um harness moldado para quem normaliza. Um modelo OpenAI-native rodando sob o shape Anthropic funciona, mas se ele se comporta bem ali é questão de qualidade do modelo — não de arquitetura. Claude em Bedrock/Vertex é nativo; modelo não-Claude via Anthropic-compat roda, mas teste o comportamento.

“O vendor não é critério. A escolha real é qual batteries-included bate com o formato do app.

— a régua que eu deveria ter usado desde o começo

Os quatro SDKs e o que cada um já traz pronto

Eles não estão no mesmo nível de abstração — e é exatamente isso que decide a escolha. Não é “qual é mais livre” (todos são), e sim “qual já resolve o tipo de app que eu estou construindo”.

claude-agent-sdk — “Claude Code como biblioteca”

É um harness de agente completo. Te dá de graça as cinco primitivas mais chatas de construir: hooks de tool (guard determinístico), aprovação human-in-the-loop, AskUserQuestion como protocolo, subagentes via tool nativa e MCP in-process. Encaixa em: agente de código autônomo com segurança e aprovação.

Genkit — framework de app GenAI

Forte em RAG first-class (retriever/indexer/embedder), flows de orquestração e observabilidade OpenTelemetry com dev UI. Encaixa em: geração de conteúdo, RAG, pipelines, tracing. Foi a escolha certa pro meu editorial — só que pelo motivo errado na época.

pydantic-ai — agentes tipados em Python

Agents e tools tipados, structured output validado por Pydantic, multi-agent. Leve, sem RAG/flows/observabilidade prontos. Encaixa em: lógica de agente tipada. Cheguei a testar no editorial e não encaixou — ele é bateria pra outro formato.

Vercel AI SDK — modelo + tools + provider (+ UI)

streamText/generateText com parts neutras, ToolLoopAgent, a melhor story de provider agnóstico e UI hooks (useChat). Encaixa em: provider-neutro de verdade (OpenAI-native de primeira classe) + integração de UI React.

💡
A matriz que importa

As cinco primitivas do claude-agent-sdk (guard, aprovação, AskUserQuestion, subagentes, MCP) não existem prontas no Vercel AI SDK nem no Genkit — reescrevê-las num app de agente é semanas de trabalho. Inversamente, elas são irrelevantes num app de conteúdo, que não edita repo nem precisa de aprovação.

Capacidade (vem pronto?)

claude-agent-sdk

Vercel AI SDK

Genkit

pydantic-ai

Loop de agente

✓

✓

✓

✓

Guard / hooks de tool

✓ nativo

—

—

—

Aprovação humana

✓

—

—

—

Subagentes nativos

✓

—

—

~

RAG first-class

—

—

✓✓

—

Observabilidade / tracing

básico

básico

✓ OTel

básico

UI hooks (useChat)

—

✓

—

—

Provider agnóstico

via base-URL

✓ neutro

✓ plugins

✓

A régua de decisão

Depois de tudo isso, a pergunta que eu faço hoje, antes de qualquer linha de código, é uma só: qual é o formato do app?

Arsenal do dev de elite.
Do Caos à Produção: Como Orquestrar Agentes Determinísticos com Vercel AI SDK10 minOrquestrando IA em produção com Firebase Genkit: como reduzir o tempo de deploy em 30%7 minFim do subsídio no Claude Agent SDK: prepare seu orçamento para um aumento de 15x a 30x nos custos de IA15 minComo unificar design e código: a estrutura exata para acelerar suas entregas em 2026. 9 min
❌ Como eu decidia

“Qual SDK me prende menos ao vendor?”

Resultado: escolhia por medo, não pelo problema.

✅ Como decido agora

“Qual batteries-included bate com o formato do app?”

Resultado: o tool que já resolve o tipo certo de problema.

  • Agente de código autônomo (segurança, aprovação, subagentes) → claude-agent-sdk

  • Conteúdo + RAG + flows + observabilidade → Genkit

  • Lógica de agente tipada (Python) → pydantic-ai

  • Provider-neutro de verdade + UI → Vercel AI SDK

Bônus: a pegadinha do settingSources

Uma surpresa técnica que vale guardar, se você for de claude-agent-sdk: um agente seu herda o ambiente do Claude Code (hooks, plugins, CLAUDE.md, regras de permissão) mesmo não sendo o Claude Code. E não é por causa da API key — é o default de settingSources.

TYPESCRIPT
// sdk.d.ts: "When omitted, all sources are loaded (matches CLI defaults).//           Pass [] to disable filesystem settings (SDK isolation mode)."buildAgentOptions({  // settingSources OMITIDO  -> carrega ~/.claude inteiro (hooks/CLAUDE.md/perms)  settingSources: [],        // <- modo ISOLAMENTO: só as regras do teu app})
ℹ️
A lição

Auth (qual API key) é ortogonal ao carregamento de settings. Se o teu agente herda comportamento que você não pediu, o lever é settingSources, não a chave. Torne isso explícito — herança acidental é dívida.

O que eu levo pra todo projeto novo

  • Vendor não é critério. Todo SDK de agente é agnóstico via base-URL / gateway / plugins.

  • Decida pelo formato do app, não pela marca nem pelo medo de lock-in.

  • Batteries-included > agnosticismo teórico. O que vem pronto economiza semanas.

  • Testar e migrar sem culpa é seleção correta, não erro (foi assim que saí do pydantic-ai pro Genkit num app de conteúdo).

  • O reaproveitável é UI/infra, não o motor: extraia chat, streaming e retriever num pacote comum.

A parte boa de descobrir que você estava errado é que a régua que sobra é simples e reutilizável. Não “qual SDK é o melhor” — e sim qual SDK é o melhor pra este app.

Continue explorando
Quer mais conteúdo assim?

Veja outros artigos na mesma linha e mantenha o ritmo.

Ver mais artigos
#LLM#AI

Arsenal do dev de elite.

O Fim da Era dos Links Azuis?
Inteligência Artificial

O Fim da Era dos Links Azuis?

A ascensão dos AI Overviews transformou o Google em destino final. Entenda como essa mudança impacta o tráfego e como manter a relevância do seu blog.

Genildo Souza · 20 de ago. · 5 min
GLM-5.2 sai na frente do Kimi K2.7 Code nos primeiros testes práticos de código
Inteligência Artificial

GLM-5.2 sai na frente do Kimi K2.7 Code nos primeiros testes práticos de código

Cinco avaliadores testaram o GLM-5.2 e o Kimi K2.7 Code em tarefas reais. Descubra qual modelo venceu a disputa pela melhor performance em código.

Genildo Souza · 23 de jun. · 6 min
Do Caos à Produção: Como Orquestrar Agentes Determinísticos com Vercel AI SDK
Inteligência Artificial

Do Caos à Produção: Como Orquestrar Agentes Determinísticos com Vercel AI SDK

Descubra como orquestrar agentes de IA de forma profissional, usando conectores universais, saídas tipadas com Zod e tool calling para sistemas reais.

Genildo Souza · 20 de jun. · 10 min
Neste artigo
  • A premissa que me custou caro
  • O Ollama derrubou a premissa
  • A camada agnóstica existe em todos
  • Os quatro SDKs e o que cada um já traz pronto
  • claude-agent-sdk — “Claude Code como biblioteca”
  • Genkit — framework de app GenAI
  • pydantic-ai — agentes tipados em Python
  • Vercel AI SDK — modelo + tools + provider (+ UI)
  • A régua de decisão
  • Bônus: a pegadinha do settingSources
  • O que eu levo pra todo projeto novo