Como Criei Meu Próprio Chatbot Sem Experiência em Programação: Lições Aprendidas
Criei um chatbot funcionando do zero, sem nenhum conhecimento de programação, em 5 meses usando a API do GPT e o ChatGPT 4 — veja como fiz isso e o que aprendi sendo um completo iniciante.
Atualização (2026): Esse chatbot evoluiu e se tornou a Sydney! Depois de muitas iterações, a Sydney agora vive em /ask/ e foca no conteúdo do blog e nos produtos.
Desde que o chatGPT foi lançado no ano passado, fiquei fascinado com a IA generativa e quis explorar a criação do meu próprio chatbot usando a API disponível. Como um completo iniciante sem nenhuma experiência em programação, esse era um objetivo ambicioso. Mesmo assim, estava determinado a me desafiar e ganhar experiência prática trabalhando com sistemas de IA. Minha motivação era ir além de simplesmente usar essas ferramentas e começar a desenvolver uma compreensão mais profunda de como elas são construídas. Decidi aproveitar meu conteúdo existente criando um chatbot que pudesse responder perguntas sobre os posts do meu blog. Construir esse chatbot do zero foi uma experiência de aprendizado inestimável, embora ainda tenha um longo caminho pela frente. Neste post, vou compartilhar algumas das principais lições que aprendi até agora nessa jornada como um iniciante em programação.
Então quais foram meus desafios?
- Para começar, eu não sabia programar. Não sabia quase nada (ou nada mesmo) de HTML (além do uso de
<h1>ou<h2>), muito menos Python ou qualquer outra linguagem de programação. - Claro que também não sabia como fazer o deploy de uma aplicação na nuvem, nunca tinha ouvido falar de Docker, Cloud Run etc...
- Eu nem conseguia migrar este site do Bluehost para o GCP porque não entendia nada de MySQL, instância virtual etc...
- Não sabia nada de SSH, chave pública, chave privada ou qualquer coisa do tipo T.T
- Também não tinha nenhuma base em machine learning ou matemática avançada.
- E não sou mais nenhum garoto :| Tenho 40 anos e um emprego em tempo integral.
Mas depois de cerca de 5 meses, aqui está a versão 0.1 do chatbot que construí, usando a API GPT da OpenAI e muita ajuda do ChatGPT 4. Não estou brincando quando digo versão 0.1 porque ainda está muito (muito) longe do que eu esperava, mas bem, está "funcionando" (mais ou menos). O que ele consegue fazer:
- Se você fizer ao chatbot uma pergunta sobre tópicos anteriores que escrevi, ele consegue sintetizar o conteúdo de vários artigos e fornecer uma resposta.
- Esse ponto é importante para mim porque anteriormente escrevi sobre a implementação de soluções prontas, mas o problema comum é que esses chatbots não sintetizam o conteúdo entre os posts. O chatbot "parece" mais uma função de busca do que um chatbot de verdade.
- Ele foi projetado para responder perguntas apenas sobre os meus posts, então se você perguntar sobre outros tópicos, provavelmente ele vai dizer que não pode ajudar.
- Seu conhecimento inclui todos os posts que publiquei nos últimos 17 anos, até o final de setembro de 2023. Isso são cerca de 500 posts.
Há muitas coisas que o chatbot ainda NÃO consegue fazer, como:
- Não consegue lembrar com precisão um número específico em um post que escrevi.
- Não consegue responder perguntas sobre datas de publicação com precisão.
- Tenho certeza de que ele tem muitos problemas de segurança T.T (triste, triste, muito triste)
- e muitas outras coisas
Atualização fevereiro de 2024:
A versão 2.1 do chatbot está disponível e você pode conferir o post sobre ela "Chatbot v2.10 Unveiled: Elevating User Experience with Enhanced Speed, Scalability, and Simplicity."
Então o que aprendi durante a primeira fase dessa jornada?
1. O ChatGPT 4 consegue realizar a maioria das tarefas básicas/intermediárias de programação
se você souber o que está procurando e for específico com seus prompts/compartilhamento de contexto.
A chave aqui é saber o que pedir para a máquina fazer. Ela consegue fazer "quase tudo" nas tarefas de programação, desde que sejam específicas o suficiente. Digo "quase tudo" de propósito porque ela falha repetidamente em seguir alguns exemplos fornecidos.
O código gerado pelo chatGPT 4 costuma ser modular o suficiente para ser reutilizado depois. A máquina frequentemente inclui comentários específicos ao longo do código também.
2. Faça cursos/aulas fundamentais de programação/TI
Se você estivesse no meu lugar, não saberia o que perguntar sobre o que não sabe. Algumas maneiras de superar isso:
- Explique o objetivo geral do projeto ao chatGPT e peça uma visão geral de todas as etapas. Isso vai te dar uma ideia aproximada das áreas em que você precisará aprender mais.
- Se você seguir cegamente o que o chatGPT diz para fazer, pode não fazer nenhum sentido. (Eu tentei isso :P)
- Esses cursos fundamentais foram super úteis para mim. Eles me deram um conhecimento amplo (mas não profundo) para que eu soubesse como diferentes peças deveriam se encaixar.
3. Complete estes cursos GRATUITOS e curtos sobre como construir sistemas com a API do ChatGPT
Dois cursos sobre a API do chatGPT vão te poupar muito tempo:
Embora esses cursos sejam para iniciantes, quando os encontrei pela primeira vez alguns meses atrás, não tinha conhecimento fundamental suficiente para acompanhar o que estava sendo dito. Por isso parei de assistir depois de cerca de 10 minutos. Depois de tentar trabalhar com a API da OpenAI e diferentes prompts por um tempo, fiquei travado e então me lembrei desses cursos. Basicamente eles me deram todas as respostas que precisava para construir esta versão 0.1.
O curso de engenharia de prompts é particularmente útil porque me mostra como instruir o chatGPT a gerar saídas de uma certa maneira. Por exemplo, eu nunca teria pensado nesse tipo de mensagem de sistema sem assistir ao curso:
Certifique-se de fazer perguntas de acompanhamento relevantes ao usuário."
O formato de bullet points compatíveis com HTML e as quebras de linha ajudam muito a facilitar o uso do chatbot quando as respostas são longas.
4. Leia a documentação oficial da OpenAI por conta própria
Sou preguiçoso (:D), então inicialmente não me dei ao trabalho de ler a documentação da OpenAI. Simplesmente copiei e colei a documentação no chatGPT, pedi que a usasse como fonte de referência e me guiasse com códigos reais. Não funcionou muito bem e desperdicei bastante tempo antes de decidir ler a documentação eu mesmo e então fazer perguntas mais direcionadas ao chatGPT.
5. O ChatGPT se perde facilmente quando a conversa é muito longa ou quando você para e recomeça depois de algumas horas
Acho que não deveria me surpreender com isso porque, semelhante a um humano, o chatGPT se perde facilmente quando a conversa fica muito longa. O que quero dizer com isso?
- Começa a recomendar códigos que não fazem nenhum sentido
- Ou não consegue se lembrar de outro trecho de código/conselho que deu recentemente
Também quando você para de trabalhar com ele por algumas horas (ou da noite para o dia) e volta, mesmo depois de pedir ao chatGPT que leia todo o histórico da conversa e confirme que fez isso, semelhante a um humano, preciso fornecer muito mais contexto recente e base de código novamente. Caso contrário, ele parece "esquecer" completamente muitos detalhes que me disse antes.
6. A API do GPT 4 é cara, então tente usar o GPT 3.5 ao máximo
Por exemplo, desperdicei $20 usando a API do GPT 4 para tarefas de sumarização que o GPT 3.5 faz bem. Além disso, certifique-se de testar o código em alguns arquivos primeiro antes de "soltá-lo" em centenas de arquivos, porque o custo da API GPT pode aumentar rapidamente.
7. O OpenAI Cookbook é seu amigo
De novo, cometi o erro de não me dar ao trabalho (ou mais precisamente, não saber) de verificar o OpenAI sample cookbook antes. Lá você pode encontrar:
- Como contar tokens usando tiktoken: isso é importante porque se você pedir apenas ao chatGPT para fazer isso, ele vai usar metodologias antigas para o GPT 3 e não a abordagem mais atualizada.
- Respostas a perguntas baseadas em embeddings: basicamente usei a mesma abordagem para construir a versão 0.1 do chatbot.
8. O comprimento da janela de contexto é complicado para iniciantes
Diferentes modelos GPT têm limites máximos de tokens diferentes, e modificar o código para garantir que você fique dentro do limite de tokens não é fácil para iniciantes (como eu). Tive que gastar muito tempo nessa parte porque tenho muitos posts de blog que são muito, muito longos.
Além disso, para o chatbot, quero que ele sintetize o conteúdo de vários posts antes de dar uma resposta, então frequentemente atingia o limite de tokens.
9. Controle de versão, controle de versão e controle de versão
Isso provavelmente é super intuitivo para especialistas, mas para um iniciante em programação como eu, tive que aprender da maneira difícil. E também tive que descobrir a frequência certa de commits do git que funciona para este projeto, já que sou o único contribuidor/programador.
Conclusão
Em resumo, essa jornada de construção de chatbot como iniciante me ensinou a importância de aprender os fundamentos, aproveitar o ChatGPT para tarefas específicas, estudar a documentação da API e usar controle de versão. Embora ainda haja espaço significativo para melhoria, agora tenho um protótipo básico que consegue sintetizar informações dos meus posts para responder perguntas. Indo em frente, minhas prioridades são expandir a base de conhecimento do chatbot para cobrir novo conteúdo, melhorar sua capacidade de recuperar detalhes precisos dos posts e otimizar suas respostas para ficar dentro dos limites de tokens. Também planejo continuar desenvolvendo minhas habilidades em áreas como engenharia de prompts e deploy em nuvem.
É isso por enquanto. Vou continuar atualizando sobre as lições aprendidas e compartilhar quando a nova versão estiver disponível.
Você já tentou construir algo com a API da OpenAI sem ser desenvolvedor? Adoraria saber o que mais te travou — para mim foi definitivamente os limites da janela de contexto e o controle de versão :P
Uma semana depois
Após 1 semana de sprint, concluí atualizações adicionais no chatbot. Para ler mais sobre isso, acesse aqui "Evolving My Chatbot: A One-Week Sprint to Smarter Interactions."
Abraços,
Chandler





