MODULO 5.1

🤖 Jarvis: Seu Assistente Pessoal

Imagine ter um estagiario que mora dentro do seu chat: voce manda uma mensagem, ele entende, executa uma tarefa e responde. Neste modulo voce vai construir o seu proprio assistente de IA no Telegram, conectado a um modelo como o Claude ou o GPT, rodando 24 horas por dia no seu servidor.

6
Topicos
45
Minutos
Basico
Nivel
Pratico
Tipo
1

O Que e um Assistente de IA Pessoal

Um assistente de IA pessoal e um programa que recebe mensagens suas, pensa usando um modelo de linguagem e executa tarefas. Voce ja conhece o ChatGPT no navegador. A diferenca aqui e que o assistente vive no SEU chat (Telegram), responde 24 horas por dia, e pode fazer coisas de verdade: consultar a previsao do tempo, salvar uma nota, criar um lembrete. Ele nao so conversa: ele age.

🧠 Analogia: O Estagiario que Mora no Chat

Pense num estagiario super dedicado. Voce manda uma mensagem no chat: "ve quanto tempo falta para a reuniao". Ele le, entende, vai checar a agenda e te responde. Voce nao precisa explicar como buscar na agenda: ele sabe. Seu assistente de IA e exatamente isso, mas digital e disponivel a qualquer hora.

  • Voce manda: uma mensagem em linguagem natural ("resume esse texto pra mim")
  • Ele pensa: o modelo de IA interpreta o que voce quer
  • Ele age: usa uma ferramenta (uma "tool") se precisar
  • Ele responde: manda a resposta de volta no chat

💡 Por que "Jarvis"?

Jarvis e o assistente do Homem de Ferro nos filmes: voce fala, ele entende e faz. O seu Jarvis nao vai pilotar uma armadura, mas vai te ajudar no dia a dia. O conceito e o mesmo: um ajudante que escuta em linguagem natural e executa. Voce vai descobrir que montar um e mais simples do que parece: basta juntar tres pecas (um chat, um cerebro e algumas ferramentas).

2

A Arquitetura Basica

Todo assistente segue o mesmo fluxo de quatro etapas: o bot recebe a mensagem, o modelo de IA pensa, as ferramentas executam, e a resposta volta. Entender esse caminho deixa tudo mais facil, porque cada peca que voce montar nos proximos topicos se encaixa nesse desenho.

👤 Voce Telegram o chat Bot seu codigo LLM Claude / GPT pensa tool: tempo tool: nota ferramentas resposta volta pelo mesmo caminho

👁 As quatro etapas, em ordem

  • 1.Recebe: voce manda "que horas sao em Tokyo?" no Telegram. O bot (seu codigo) recebe esse texto.
  • 2.Pensa: o bot envia sua mensagem ao modelo de IA. O modelo entende a intencao.
  • 3.Executa: se precisar de dados externos, o modelo pede para usar uma ferramenta (ex: consultar a hora).
  • 4.Responde: a resposta final volta pelo bot ate o seu chat no Telegram.

💡 Dica: tres pecas, nada mais

No fundo, o assistente todo cabe em tres pecas: o chat (Telegram, onde a conversa acontece), o cerebro (o LLM, que pensa) e as ferramentas (funcoes que executam acoes). Se voce sempre souber em qual peca esta mexendo, nunca vai se perder no codigo.

3

Criando o Bot no Telegram

O Telegram tem uma forma oficial e gratuita de criar bots: o BotFather. E um bot que cria bots. Voce conversa com ele, da um nome ao seu assistente e recebe um token (uma senha unica que da ao seu codigo o controle do bot). Sem token, seu codigo nao consegue mandar nem receber mensagens.

1

Abra o BotFather

No Telegram, procure por @BotFather (o oficial tem selo azul de verificado). Clique em "Iniciar".

2

Crie o bot

Envie o comando e siga as perguntas: nome de exibicao e nome de usuario (precisa terminar em "bot").

/newbot

# BotFather pergunta o nome:

Meu Jarvis

# E o username (deve terminar em "bot"):

meu_jarvis_bot

3

Guarde o token

O BotFather responde com o token. Ele se parece com isto (copie e guarde com cuidado):

Use this token to access the HTTP API:

7891234567:AAH4k_exemplo-de-token-NAO-use-o-real

Polling (mais simples)

Seu codigo fica perguntando ao Telegram "tem mensagem nova?" de tempos em tempos. Nao precisa de dominio nem HTTPS. Ideal para comecar e para rodar no VPS.

  • Roda em qualquer lugar
  • Zero configuracao de rede

Webhook (mais avancado)

O Telegram avisa o seu servidor sempre que chega uma mensagem. Mais eficiente, mas exige um endereco publico com HTTPS. Deixe para depois.

  • Resposta instantanea
  • Menos gasto de rede

⚠️ Erro Comum

Problema: "Colei o token num arquivo e subi pro GitHub. Agora ele vazou."
Solucao: O token e uma senha. Quem tiver ele controla seu bot. Nunca coloque o token direto no codigo nem em repositorio publico. Use um arquivo .env (voce vai ver no topico 6) e adicione .env no .gitignore. Se vazou, fale com o BotFather e use /revoke para gerar um token novo.

4

Conectando o Cerebro: Claude ou GPT

Agora o seu bot precisa de um cerebro. Em vez de programar regras "se a mensagem for X, responda Y", voce manda a mensagem do usuario para um modelo de IA (Claude da Anthropic ou GPT da OpenAI) e ele devolve a resposta. Tecnicamente, isso e uma chamada de API: seu codigo manda um pedido pela internet e recebe a resposta de volta.

O bot que so responde (sem IA ainda)

Comece simples: receber uma mensagem e repetir. Aqui em Python com a biblioteca python-telegram-bot.

# instalar a biblioteca

$ pip install python-telegram-bot anthropic

import os

from telegram.ext import Application, MessageHandler, filters

async def responder(update, ctx):

    texto = update.message.text

    await update.message.reply_text("Voce disse: " + texto)

🤖 Agora com o cerebro de IA

Em vez de repetir o texto, voce envia a mensagem para o modelo e devolve o que ele responde. A "API key" e a senha que da acesso ao modelo (sai de console.anthropic.com ou platform.openai.com).

from anthropic import Anthropic

cliente = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

async def responder(update, ctx):

    resp = cliente.messages.create(

        model="claude-3-5-haiku-latest",

        max_tokens=500,

        messages=[{"role": "user",

            "content": update.message.text}])

    texto = resp.content[0].text

    await update.message.reply_text(texto)

O prompt e o conteudo que voce manda; a resposta vem em resp.content[0].text.

👁 O que voce vai ver no chat

# Voce no Telegram:

Voce: explica o que e Git em uma frase

# O bot (cerebro de IA) responde:

Jarvis: Git e um sistema que salva o

historico do seu codigo, deixando voce

voltar no tempo e trabalhar em equipe.

💡 Dica: comece pelo modelo barato

Cada chamada de API custa dinheiro (centavos, mas soma). Enquanto voce testa e erra, use um modelo pequeno e barato (como Haiku ou GPT-mini). Quando o assistente estiver redondo, voce troca uma linha (o nome do modelo) para um mais forte. Assim voce nao gasta a toa aprendendo.

5

Skills e Comandos

Ate aqui seu Jarvis so conversa. Para ele executar acoes, voce cria comandos. No Telegram, comandos comecam com barra: /start, /ajuda, /nota. Cada comando aponta para uma funcao do seu codigo. E o jeito mais simples de dar "skills" (habilidades) ao seu assistente.

Mapeando /comando para uma acao

Voce registra um CommandHandler para cada comando. Quando o usuario digita /nota comprar pao, a funcao recebe o texto e age.

from telegram.ext import CommandHandler

async def cmd_start(update, ctx):

    await update.message.reply_text("Ola! Eu sou o Jarvis.")

async def cmd_nota(update, ctx):

    texto = " ".join(ctx.args)

    salvar_nota(texto)  # sua funcao

    await update.message.reply_text("Nota salva: " + texto)

app.add_handler(CommandHandler("start", cmd_start))

app.add_handler(CommandHandler("nota", cmd_nota))

👁 O que voce vai ver no chat

Voce: /nota comprar pao e leite

Jarvis: Nota salva: comprar pao e leite

Voce: /ajuda

Jarvis: Comandos: /nota, /tempo, /lembrete

✓ O que FAZER

  • Criar sempre um /ajuda que lista os comandos
  • Dar nomes curtos e claros (/tempo, /nota)
  • Confirmar a acao com uma resposta ("Nota salva")

✗ O que NAO fazer

  • Criar 20 comandos antes do bot funcionar
  • Nomes confusos (/xpt2)
  • Deixar o usuario sem feedback (silencio = parece quebrado)

💡 Dica: comandos no menu do Telegram

Volte ao BotFather e use /setcommands para registrar a lista de comandos. Assim, quando o usuario digita "/" no chat, aparece um menu bonito com os comandos disponiveis. E um detalhe que faz o seu Jarvis parecer profissional.

6

Deploy: Rodando 24/7 no VPS

Seu Jarvis so responde enquanto o codigo esta rodando. No seu computador, ele para quando voce fecha o terminal ou desliga a maquina. Para responder a qualquer hora, ele precisa morar num VPS (o servidor da Trilha 3) e rodar como um servico do systemd, que liga sozinho e reinicia se cair.

Passo 1: Suba o codigo e crie o .env

No VPS, o arquivo .env guarda os tokens fora do codigo.

$ nano .env

# dentro do arquivo:

TELEGRAM_TOKEN=7891234567:AAH...

ANTHROPIC_API_KEY=sk-ant-...

# e proteja para ninguem ler

$ chmod 600 .env

Passo 2: Crie o servico do systemd

Crie o arquivo /etc/systemd/system/jarvis.service.

[Unit]

Description=Jarvis Bot

After=network.target

[Service]

WorkingDirectory=/home/deploy/jarvis

EnvironmentFile=/home/deploy/jarvis/.env

ExecStart=/usr/bin/python3 bot.py

Restart=always

[Install]

WantedBy=multi-user.target

Passo 3: Ligue e veja rodando

# recarrega a lista de servicos

$ sudo systemctl daemon-reload

# liga agora e tambem no boot

$ sudo systemctl enable --now jarvis

# confere o status

$ sudo systemctl status jarvis

● jarvis.service - Jarvis Bot

   Active: active (running)

⚠️ Erro Comum

Problema: "O servico nao sobe e o status diz failed."
Solucao: Quase sempre e caminho errado ou variavel faltando. Veja os logs com journalctl -u jarvis -n 50. Confira se o WorkingDirectory existe, se o .env tem os dois tokens e se o caminho do Python esta certo (teste com which python3).

✓ O que FAZER

  • Guardar tokens no .env, nunca no codigo
  • Usar Restart=always para reerguer se cair
  • Olhar journalctl quando algo der errado

✗ O que NAO fazer

  • Rodar com python bot.py no terminal e fechar a sessao
  • Commitar o .env no Git
  • Esquecer o enable (nao sobe depois de um reboot)

🏆 Parabens!

Se voce chegou ate aqui, tem um assistente de IA que vive no seu Telegram, pensa com Claude ou GPT, executa comandos e roda 24 horas por dia no seu servidor. Esse e o esqueleto de qualquer assistente. No proximo modulo, voce vai aprofundar o cerebro do seu Jarvis e dar a ele memoria e raciocinio mais ricos.

📚 Resumo do Modulo

Assistente de IA e um estagiario no chat - recebe, pensa, executa e responde
Arquitetura em tres pecas - chat (Telegram), cerebro (LLM) e ferramentas (tools)
BotFather e token - cria o bot no Telegram e usa polling para comecar
Chamada de API ao Claude/GPT - manda o prompt, recebe a resposta, devolve no chat
Comandos e deploy 24/7 - /comando para acoes e systemd no VPS com tokens no .env

Proximo Modulo:

5.2 - Intelecto: dando memoria e raciocinio mais profundo ao seu assistente de IA