Chatbot
Um chatbot é um software que conversa em linguagem natural por texto ou voz, desde scripts que comparam palavras-chave, como o ELIZA, até aplicativos de chat com LLMs, como o ChatGPT.
Um chatbot é um programa de computador que conversa com pessoas em linguagem natural, por texto ou voz. ELIZA, de Joseph Weizenbaum, escrita no MIT e publicada em 1966, costuma ser considerada o primeiro chatbot: seu script DOCTOR imitava um psicoterapeuta ao identificar palavras-chave e transformar as declarações do usuário em perguntas, e Weizenbaum ficou perturbado ao ver usuários, incluindo sua própria secretária, confidenciarem no programa como se ele os entendesse. Desde então, os chatbots passaram por três gerações, de scripts baseados em regras a bots baseados em intenções e a modelos de linguagem grandes (LLMs). O ChatGPT da OpenAI, lançado em 30 de novembro de 2022, tornou a terceira geração popular, e hoje “chatbot” costuma significar uma interface de chat para um LLM, como ChatGPT, Claude ou Gemini.
Como funcionam os chatbots#
- Chatbots baseados em regras: Comparam as palavras do usuário com padrões escritos manualmente e respondem usando modelos predefinidos. São previsíveis e baratos, mas falham diante de qualquer formulação que seus autores não tenham previsto.
- Chatbots baseados em intenções: Um classificador de compreensão de linguagem natural (NLU) associa cada mensagem a uma intenção, como consultar um saldo, e extrai detalhes como uma conta ou data; em seguida, os fluxos de diálogo definidos pelos designers determinam a resposta. Bancos, companhias aéreas e empresas de telecomunicações criaram bots de atendimento ao cliente dessa forma porque todas as respostas podiam ser revisadas antecipadamente.
- Chatbots com LLM: Geram cada resposta, um token de cada vez, com base na conversa até então. Um prompt de sistema define o papel e as regras do bot, e o modelo lida com formulações que ninguém previu.
O modelo por trás de um chatbot com LLM é um Transformer treinado para diálogos com ajuste por instruções e aprendizado por reforço com feedback humano (RLHF), e não tem memória entre chamadas. A aplicação armazena a conversa e a envia por inteiro, formatada pelo modelo de template de chat, a cada nova mensagem:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM2-135M-Instruct")
# O chatbot armazena a conversa e a envia por inteiro a cada novo turno
messages = [
{"role": "system", "content": "You are a support assistant for an online store."},
{"role": "user", "content": "Where is my order?"},
{"role": "assistant", "content": "Could you share your order number?"},
{"role": "user", "content": "It's 4417."},
]
# O template de chat transforma o histórico em um único prompt para o modelo continuar
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
print(prompt)O prompt impresso envolve cada turno em marcadores <|im_start|> e <|im_end|> com sua função e termina com uma linha <|im_start|>assistant aberta, então os próximos tokens do modelo se tornam a resposta e “São 4417” só faz sentido porque a pergunta anterior está no mesmo prompt. Cada turno torna esse prompt mais longo, então conversas extensas são reduzidas ou resumidas antes de exceder a janela de contexto, e o cache de prompt evita reprocessar o histórico inalterado em cada turno.
Fundamentação, ferramentas e imagens#
Um chatbot de suporte que responde apenas com base em seus dados de treinamento afirmará políticas incorretas com confiança; por isso, bots de produção primeiro recuperam os documentos e dados de conta relevantes com geração aumentada por recuperação (RAG), verificam as entradas e os rascunhos com proteções de IA e encaminham a conversa para uma pessoa quando não é possível fundamentar uma resposta:
Chatbots que chamam ferramentas por meio de chamada de funções, como consultar um pedido, estão se tornando agentes de IA, e chatbots multimodais aceitam fotos e capturas de tela em um turno por meio de modelos de visão e linguagem (VLMs). A interface LLM da Ultralytics envia um prompt, uma imagem ou todo o histórico de mensagens para qualquer modelo de chat compatível com OpenAI e retorna o próprio objeto de resposta do provedor, para que um pipeline YOLO26 possa pedir a um modelo multimodal que descreva uma cena somente depois que a detecção encontrar uma pessoa nela.
Riscos#
Alucinações têm consequências jurídicas quando uma empresa coloca o bot em operação. Em Moffatt v. Air Canada, decisão de fevereiro de 2024, o chatbot do site da companhia aérea disse a um passageiro enlutado que ele poderia solicitar um desconto de tarifa por luto após a viagem, contradizendo a política real da empresa. O Tribunal de Resolução Civil da Colúmbia Britânica rejeitou o argumento da Air Canada de que o chatbot era responsável por suas próprias declarações e ordenou que a companhia pagasse a diferença. Chatbots também enfrentam tentativas de injeção de prompt e de jailbreak, e modelos ajustados para agradar os usuários podem cair na bajulação da IA, concordando com afirmações falsas em vez de corrigi-las.
Chatbots e termos relacionados#
- Assistente virtual: Software como Siri ou Alexa que executa solicitações em vários aplicativos e dispositivos. Um chatbot costuma existir em um único site, aplicativo ou canal de mensagens e se concentra na conversa.
- Agente de IA: Um sistema que busca atingir um objetivo ao escolher e executar ações, muitas vezes ao longo de várias etapas sem intervenção humana. Um chatbot se torna um agente quando também age por meio de ferramentas, além de responder.
- IA conversacional: O campo mais amplo de tecnologias por trás de chatbots e assistentes, incluindo reconhecimento de fala, NLU, gerenciamento de diálogo e síntese de fala.










