Vamos lá! Por que isso importa?
Se você já tentou rodar um agente de IA que usa ferramentas por minutos (ou horas), conhece a dor: ou você mantém um worker ligado 24/7 pagando por tempo ocioso, ou reconstrói o estado da sessão do zero a cada requisição. A nova integração OpenAI Agents API na Vercel acaba com esse dilema. 🚀
A OpenAI cuida do agent loop e do session state. A Vercel cuida da aplicação e, o mais importante, do ambiente de execução: cada sessão ganha seu próprio Vercel Sandbox para executar código e acessar arquivos. Sem worker sempre ligado. Sem malabarismo de sessão.
Se você já viu como agentes autônomos estão mudando o fluxo de engenharia (dá uma olhada no nosso post sobre o REA da Meta, o agente autônomo de ML), essa é a peça de deploy que faltava.
Referência oficial: changelog da Vercel.
![]()
O que você ganha na prática
Olha só a lista de recursos traduzida para o mundo real:
- Agent loop e session state gerenciados pela OpenAI — você não escreve o loop de retry/step. A OpenAI escreve.
- Criação e reconexão confiável do Sandbox — via webhooks assinados da OpenAI + Vercel Queues. É aqui que a maioria dos projetos caseiros quebra.
- Ambiente isolado por sessão — um
rm -rferrado não derruba os outros tenants. - Workspace persistente entre follow-ups — arquivos escritos no passo 1 continuam lá no passo 7.
- Scale-to-zero — zero custo ocioso quando ninguém está falando com seu agente.
Formato mínimo do handler
Um handler serverless típico que recebe o webhook e repassa a tarefa do agente fica assim:
// api/agent-webhook.ts
import type { VercelRequest, VercelResponse } from '@vercel/node';
import { verifyOpenAISignature } from './_lib/openai-signature';
export default async function handler(req: VercelRequest, res: VercelResponse) {
// 1. Verifica a assinatura do webhook da OpenAI — nunca confie em payload cru.
if (!verifyOpenAISignature(req)) {
return res.status(401).json({ error: 'assinatura inválida' });
}
const { sessionId, task } = req.body;
// 2. Repassa para o Vercel Sandbox para execução isolada de código.
const sandbox = await createSandbox({ sessionId });
await sandbox.exec(task);
// 3. Persiste o workspace — sobrevive a instruções de follow-up.
await sandbox.persistWorkspace();
return res.status(200).json({ ok: true, sessionId });
}
O pulo do gato: seu handler é stateless. Toda a lógica de loop e estado vive na OpenAI; toda a computação vive no Sandbox. Você só conecta os dois. 🧠

Comparação honesta: fazer na mão vs. essa stack
| Dimensão | Agente feito na mão | OpenAI Agents API + Vercel |
|---|---|---|
| Session state | Você persiste (Redis/DB) | Gerenciado pela OpenAI |
| Agent loop | Você escreve retry/step | Gerenciado pela OpenAI |
| Isolamento de execução | Você constrói (Docker/Firecracker) | Vercel Sandbox por sessão |
| Custo ocioso | Worker sempre ligado | Scale-to-zero |
| Confiabilidade do webhook | Retry manual + fila | Webhooks assinados + Vercel Queues |
| Lock-in | Baixo | Alto (OpenAI + Vercel) |
| Debugabilidade | Controle total | Depende dos logs do provedor |
Cuidados que você não pode ignorar
- Concentração de fornecedor. Você está apostando em duas plataformas ao mesmo tempo. Se qualquer uma mudar preço ou depreciar o formato do webhook, você migra.
- Cold start do Sandbox. Scale-to-zero é ótimo para custo, menos para latência. Para agentes interativos, conte com atraso no primeiro token.
- Escopo da persistência. "Workspace persistente" é por sessão. Memória entre sessões continua sendo problema seu.
- Segurança do webhook é sua. Verificação de assinatura não é opcional — um webhook não assinado é um endpoint de RCE aberto se você joga direto no Sandbox.
Por onde seguir
- Comece pelo sample app para entender o contrato do webhook antes de escrever código de produção.
- Adicione logs estruturados em cada create/reconnect do Sandbox — é onde 90% dos bugs se escondem.
- Se você se importa com UX humanizada de agentes, vale ler as lições de Designing AI with a Human Touch antes de subir para produção.

Fechando a conta
O interessante aqui não é "OpenAI na Vercel". Isso é marketing. O interessante é que o agent loop e o ambiente de execução foram separados de forma limpa. Essa separação é o que torna o scale-to-zero possível, e é o mesmo formato arquitetural para o qual toda plataforma séria de agentes está convergindo.
Se você está construindo agentes que usam ferramentas e precisam rodar por minutos ou horas, essa stack elimina uma categoria de trabalho de infraestrutura que você não deveria estar fazendo na mão. Só entre de olhos abertos quanto ao lock-in.
Próximo passo: clone o sample app, faça o deploy e assista à dança webhook + Sandbox nos seus próprios logs. Esses vinte minutos vão te ensinar mais que qualquer diagrama de arquitetura.