E1 · A primeira resposta
10 minRode o bloco do terminal e depois faça uma pergunta sua com python3 agente.py "sua pergunta".
Pronto quando: o terminal mostra a resposta e, na última linha, (modelo llama3.2).
Aula 2 · 12 min
O harness é o programa em volta do modelo. Nesta aula ele tem 19 linhas: pega o seu pedido, manda ao Ollama e imprime a resposta. Ainda não é agente, mas já mostra a separação que importa: trocar o modelo é mudar uma variável, não reescrever o programa.
Começar a aula
Objetivo: rodar o primeiro agente.py e trocar o modelo pela variável MODELO sem mexer no código.
Clique em cada etapa.
Rode dentro de agente-do-zero/. O primeiro comando copia o arquivo da aula do kit para a sua pasta.
#!/usr/bin/env python3
"""Agente do zero (aula 2): o harness mais simples, que leva o seu pedido ao modelo e devolve a resposta."""
import json, os, sys, urllib.request
MODELO = os.environ.get("MODELO", "llama3.2")
URL = os.environ.get("OLLAMA_URL", "http://localhost:11434") + "/api/chat"
def cerebro(mensagens):
corpo = {"model": MODELO, "messages": mensagens, "stream": False, "think": False, "options": {"temperature": 0, "seed": 1}}
pedido = urllib.request.Request(URL, json.dumps(corpo).encode(), {"Content-Type": "application/json"})
with urllib.request.urlopen(pedido, timeout=600) as r:
return json.loads(r.read())["message"]
if __name__ == "__main__":
pedido = " ".join(sys.argv[1:])
resposta = cerebro([{"role": "user", "content": pedido}])
print(f"{resposta['content']}\n(modelo {MODELO})")cd ~/agente-do-zero cp ~/agentes-do-zero-v72/kit/aula2/agente.py . python3 agente.py "Explique em uma frase o que é um agente de IA." ollama list | grep -q "^llama3.1:8b" || ollama pull llama3.1:8b # 5 GB, uma vez só: o download mostra o progresso MODELO=llama3.1:8b python3 agente.py "Explique em uma frase o que é um agente de IA."
Um agente de IA é um programa de computador que pode tomar ações autônomas com base em regras e objetivos definidos, simulando a capacidade de tomada de decisão humana. (modelo llama3.2) Um agente de IA é um sistema que pode tomar decisões e agir em um ambiente, com o objetivo de alcançar um objetivo específico, utilizando aprendizado de máquina e inteligência artificial. (modelo llama3.1:8b)
Mesmo pedido, dois modelos, nenhuma linha de código mudou. A linha do ollama pull baixa o llama3.1:8b (5 GB) só se ele ainda não estiver na máquina. Se der erro de memória no seu notebook, pule a última linha e use o modelo pequeno do E2.
Clique em cada parte.
As duas primeiras variáveis leem o ambiente: se você não disser nada, vale llama3.2 no Ollama local.
Trocar de modelo ou de servidor é mudar a variável, nunca o código.
Monta o corpo do pedido em JSON, envia por HTTP com a biblioteca padrão (urllib) e devolve a mensagem do modelo.
"think": False desliga o modo "pensar em voz alta" de modelos como o qwen3, que deixava a resposta lenta.
Junta as palavras do terminal num pedido, chama o cerebro() uma vez e imprime.
Uma ida e uma volta: ainda não tem ferramenta nem loop. Isso entra na aula 3.
Faça na ordem.
Rode o bloco do terminal e depois faça uma pergunta sua com python3 agente.py "sua pergunta".
Pronto quando: o terminal mostra a resposta e, na última linha, (modelo llama3.2).
Baixe um modelo pequeno (ollama pull llama3.2:1b, 1,3 GB) e repita a pergunta com MODELO=llama3.2:1b na frente. Se o 5 GB ficou lento demais no seu notebook, este é o que você vai querer.
Pronto quando: a última linha mostra o nome do outro modelo e o agente.py não foi alterado.
A explicação aparece depois da sua resposta.
Pergunta 1 de 3
Você quer testar outro modelo. O que muda?
Pergunta 2 de 3
Por que temperatura 0 e semente fixa?
Pergunta 3 de 3
Esta versão do agente.py ainda não é um agente de verdade. O que falta?
Escolha uma alternativa. A explicação aparece depois da sua tentativa.