TL;DR: Existem dois caminhos para criar um assistente com ChatGPT em 2026: Custom GPTs (sem código, direto na interface da OpenAI) e a Assistants API (para integrações com site, WhatsApp e apps). Este tutorial cobre os dois, com instruções concretas, boas práticas de prompt e o que evitar em cada abordagem. Se você quer apenas um assistente interno para a equipe, o Custom GPT resolve. Se precisa conectar com canais externos, vai precisar da API.
Você abriu o ChatGPT, digitou uma pergunta, recebeu uma resposta razoável, e pensou: "seria ótimo se meu time ou meus clientes pudessem usar algo assim, mas só para o meu negócio." Esse pensamento é mais comum do que parece, e a boa notícia é que em 2026 as ferramentas para isso estão mais acessíveis do que nunca.
O problema é que "criar um assistente com ChatGPT" pode significar coisas completamente diferentes dependendo do seu contexto. Um assistente que responde dúvidas internas da equipe jurídica é um projeto bem diferente de um bot de atendimento integrado ao WhatsApp. Confundir os dois é o erro mais frequente de quem começa.
Este tutorial separa os dois caminhos com clareza, explica quando usar cada um, e mostra o passo a passo de cada abordagem. Ao final, você vai saber exatamente o que fazer, seja você um desenvolvedor construindo uma integração técnica ou um gestor querendo criar algo funcional hoje, sem escrever uma linha de código.
Os dois caminhos: Custom GPT ou Assistants API
Antes de qualquer configuração, a primeira decisão é essa: onde o seu assistente vai viver?
Se a resposta for "dentro do ChatGPT, para uso da minha equipe ou para mim mesmo", você quer um Custom GPT. Se a resposta for "no meu site, no WhatsApp da empresa, integrado ao CRM ou ao app", você precisa da Assistants API.
A confusão acontece porque ambos são "assistentes feitos com ChatGPT", mas tecnicamente são produtos diferentes. O Custom GPT é uma configuração dentro da plataforma da OpenAI. A Assistants API é um conjunto de endpoints que você chama via código para construir seu próprio produto em qualquer canal.
Resumindo em uma linha cada um:
- Custom GPT: sem código, rápido de configurar, funciona só dentro do ChatGPT.
- Assistants API: requer código, mais flexível, integra com qualquer canal.
Vamos cobrir os dois.
Como criar um Custom GPT do zero
O que você precisa antes de começar
Para criar um Custom GPT, você precisa de um plano Plus, Pro, Teams ou Enterprise da OpenAI. O plano gratuito não dá acesso a essa funcionalidade. Feita essa verificação, o processo todo pode levar menos de uma hora na primeira vez, dependendo da complexidade da configuração e do volume de documentos.
Passo 1: abrir o criador de GPTs
No menu lateral do ChatGPT, clique em GPTs e depois em Criar. Você vai ver uma interface dividida em duas colunas: a esquerda é onde você configura, a direita é onde você testa em tempo real.
Passo 2: definir nome e descrição
O nome e a descrição não são apenas cosméticos. Eles comunicam ao modelo qual é o propósito do assistente e aparecem para quem for usá-lo.
Seja específico nos dois campos. Em vez de "Assistente de Suporte", prefira algo como "Assistente de Suporte Nível 1 da Acme Ltda." A descrição deve completar: "Responde dúvidas sobre planos, cobranças e cancelamentos com base na política interna da empresa."
Passo 3: escrever as instruções do sistema
Esse é o campo mais importante de toda a configuração. É aqui que você define o comportamento do assistente de forma persistente.
Um bom bloco de instruções tem cinco componentes:
- Identidade: quem o assistente é e para quem ele atende.
- Objetivo: o que ele deve fazer em cada interação.
- Limites: o que ele não deve responder ou fazer.
- Formato: tamanho das respostas, uso de tópicos, emojis, idioma.
- Política de desconhecimento: o que fazer quando não sabe a resposta.
Um exemplo concreto para um assistente de suporte de software:
"Você é um assistente de suporte da empresa Nuvem Fiscal, especializado em dúvidas sobre emissão de NF-e e NFS-e. Responda exclusivamente com base nos documentos anexados. Use português brasileiro formal, sem emojis. Respostas devem ter no máximo três parágrafos. Se a informação solicitada não estiver na base de conhecimento, informe ao usuário que você não encontrou a resposta e sugira que ele abra um chamado em suporte@nuvemfiscal.com."
Perceba que cada frase resolve um problema real: define o domínio, limita a fonte, especifica o tom, controla o tamanho e cobre o caso de falha.
Passo 4: configurar a base de conhecimento
Se você quer que o assistente responda com base em documentos específicos da sua empresa (manuais, políticas, FAQs, catálogo de produtos), é aqui que você faz o upload.
Formatos aceitos incluem PDF, DOCX, TXT e outros formatos de texto e código, conforme a documentação oficial da OpenAI, que pode ser atualizada periodicamente. Algumas observações práticas sobre esse passo:
- Remova versões desatualizadas antes de subir. Se você tem um contrato de 2023 e um de 2025, suba apenas o mais recente, ou o modelo pode misturar informações das duas versões.
- PDFs escaneados (imagem) podem não ter seu texto extraído corretamente, pois a plataforma depende de texto selecionável no documento. Prefira documentos nativamente digitais ou use OCR antes do upload. Prefira documentos nativamente digitais.
- Divida documentos muito longos em arquivos menores por tema. Facilita a recuperação das informações relevantes.
Passo 5: configurar ferramentas e permissões
Na aba de configuração, você vai ver opções de ferramentas: navegação na web, geração de imagens, execução de código. Para um assistente de atendimento focado em responder com base em documentos internos, a recomendação é desativar todas.
A navegação na web, em particular, pode fazer o assistente buscar informações fora da sua base de conhecimento, o que contradiz o objetivo de um assistente especializado com fontes controladas.
Nas permissões de compartilhamento, você tem três opções: somente você, seu workspace (plano Teams ou Enterprise), ou público na GPT Store. Para assistentes com dados internos da empresa, mantenha como privado ou restrito ao workspace.
Passo 6: testar antes de publicar
O painel da direita mostra o assistente em funcionamento enquanto você configura. Use esse espaço para testar os casos mais difíceis, não os mais fáceis.
Perguntas que o assistente deveria responder bem com base na sua base de conhecimento são o teste óbvio. Mas teste também o que ele faz quando você pergunta algo fora do escopo. Ele nega educadamente? Ele inventa uma resposta? Se inventar, refine as instruções da política de desconhecimento.
Como criar um assistente com a Assistants API
Quando faz sentido usar a API
Imagine a Mariana, responsável pelo suporte de uma plataforma de gestão para salões de beleza. A equipe dela atende por WhatsApp, pelo chat do site e por e-mail. Ela não quer que os clientes precisem acessar o ChatGPT para interagir com o assistente, e precisa que as respostas cheguem diretamente nos canais que já usam.
Esse caso não tem solução com Custom GPT. Precisa da Assistants API.
Os três conceitos centrais da API
A Assistants API organiza tudo em torno de três objetos:
- Assistant: a definição do agente. Contém as instruções do sistema, o modelo escolhido (como o gpt-4o) e as ferramentas habilitadas. Você cria um assistant uma vez e reutiliza em quantas conversas quiser.
- Thread: representa uma conversa. Cada usuário tem sua própria thread, e o histórico de mensagens fica armazenado nela.
- Run: é a execução de uma solicitação. Quando o usuário envia uma mensagem, você cria um run que associa a thread ao assistant e aguarda o processamento.
Passo 1: obter a API key
Acesse o console da OpenAI em platform.openai.com, vá em API Keys e crie uma nova chave secreta. Salve em um gerenciador de senhas ou variável de ambiente. Nunca coloque a chave diretamente no código-fonte.
Passo 2: criar o assistant
Em Python, o código mínimo para criar um assistant é este:
from openai import OpenAI
client = OpenAI(api_key="sua-api-key")
assistant = client.beta.assistants.create(
name="Assistente de Suporte",
instructions="Você é um assistente de suporte da empresa X. Responda apenas dúvidas sobre os produtos da empresa, em português do Brasil. Se não souber a resposta, oriente o usuário a entrar em contato pelo e-mail suporte@empresa.com.",
model="gpt-4o"
)
print(assistant.id)
Guarde o assistant.id retornado. Você vai reutilizá-lo em todas as interações, sem precisar recriar o objeto.
Passo 3: criar uma thread para cada conversa
Cada usuário que inicia uma conversa precisa de uma thread própria:
thread = client.beta.threads.create()
print(thread.id)
Armazene o thread.id associado ao identificador do usuário no seu sistema (ID do cliente, número de WhatsApp, sessão do navegador).
Passo 4: adicionar mensagens e executar
Quando o usuário envia uma mensagem, adicione à thread e inicie um run:
client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content="Como faço para cancelar minha assinatura?"
)
run = client.beta.threads.runs.create(
thread_id=thread.id,
assistant_id=assistant.id
)
Passo 5: aguardar o processamento e buscar a resposta
O processamento é assíncrono. Você precisa verificar o status do run até ele completar:
import time
while run.status in ["queued", "in_progress"]:
time.sleep(1)
run = client.beta.threads.runs.retrieve(
thread_id=thread.id,
run_id=run.id
)
messages = client.beta.threads.messages.list(thread_id=thread.id)
resposta = messages.data[0].content[0].text.value
print(resposta)
Esse loop de polling funciona bem para começar. Em produção, prefira webhooks quando o volume de requisições for alto.
Passo 6: conectar ao canal de destino
A resposta que você busca no passo 5 é uma string de texto. Você pode enviá-la para qualquer lugar: um endpoint de resposta do WhatsApp Business API, o chat do seu site via websocket, um campo de texto no CRM, ou um e-mail automático.
A ponte entre a Assistants API e o canal de destino é responsabilidade do seu backend. A OpenAI entrega o texto; você decide onde ele aparece.
Boas práticas de prompt para assistentes de atendimento
Um assistente bem configurado não depende só da tecnologia, mas da qualidade das instruções. Alguns padrões que reduzem erros de forma significativa:
Defina identidade e objetivo na primeira linha. Comece sempre com "Você é um assistente especializado em X para Y. Seu objetivo é Z." Isso ancora o comportamento do modelo desde o início.
Diga explicitamente o que o assistente não faz. Se você não quer que ele discuta concorrentes, fale isso nas instruções. Se não deve opinar sobre preço sem consultar uma tabela atualizada, diga. Modelos tendem a extrapolar quando não há limite claro.
Especifique o formato das respostas. "Responda em português do Brasil, em até dois parágrafos, usando tópicos numerados ao dar instruções passo a passo." Essa linha sozinha elimina boa parte das respostas genéricas e longas demais.
Use o próprio modelo para melhorar o prompt. Uma prática comum entre criadores experientes: cole o prompt no ChatGPT e peça que ele identifique ambiguidades e sugira melhorias. Depois itere. O modelo consegue apontar buracos que você não percebe porque conhece bem o contexto.
Itere com base em erros reais. Colete exemplos de respostas ruins nas primeiras semanas de uso e ajuste as instruções para cobrir esses casos. Um assistente de atendimento nunca está "pronto" na primeira versão.
O que não fazer: erros comuns na criação de assistentes
Assistente genérico demais. Um assistente que "pode ajudar com qualquer coisa da empresa" geralmente é ruim em tudo. Uma boa prática amplamente adotada é criar assistentes específicos para cada função: um para suporte nível 1, um para onboarding, um para dúvidas de cobrança. Cada um com instruções focadas.
Base de conhecimento bagunçada. Subir 50 PDFs sem curadoria piora o assistente. Documentos conflitantes, versões antigas e arquivos sem estrutura clara fazem o modelo misturar informações. Menos arquivos, mais organizados, funciona melhor.
Ignorar o caso de falha. Se você não instruir o assistente sobre o que fazer quando não sabe a resposta, ele vai inventar. A política de "não sei" é tão importante quanto as instruções sobre o que responder.
Assistente público com dados internos. Configurar um Custom GPT com documentos sensíveis e deixar como público na GPT Store é um erro de segurança sério. Sempre revise as permissões antes de publicar.
Não testar com usuários reais antes de lançar. O comportamento do assistente em testes controlados é sempre melhor do que na prática. Faça um piloto com um grupo pequeno, colete feedback, ajuste, depois expanda.
Conclusão
Criar um assistente com ChatGPT ficou mais acessível em 2026, mas a diferença entre um assistente útil e um que frustra o usuário está nos detalhes: escopo bem definido, instruções claras, base de conhecimento organizada e iteração contínua.
Se você está começando, use o Custom GPT. Configure em menos de uma hora, teste com sua equipe, e entenda o que funciona antes de investir em uma integração via API. Quando o assistente provar valor no ambiente controlado do ChatGPT, aí vale a pena construir a integração com os canais que seus clientes já usam.
O passo mais importante não é técnico: é definir com precisão o problema que o assistente resolve. Um assistente com escopo claro e instruções honestas vai superar, quase sempre, um assistente mais sofisticado tecnicamente mas sem foco.



