Script Python que implementa um agente completo com 2 ferramentas. Usado para fixar o conceito de que um agente é um loop.
modelo + ferramentas + loop com critério de parada
Este projeto usa uv para gerenciar dependências e ambiente Python.
Para instalar o uv:
curl -LsSf https://astral.sh/uv/install.sh | shCom o uv instalado, instale as dependências do projeto:
uv syncO uv cria automaticamente um .venv isolado e instala exatamente as versões registradas em uv.lock, sem precisar ativar o ambiente manualmente.
export ANTHROPIC_API_KEY=sk-ant-... # substitua pela sua chaveOs comandos abaixo usam uv run, que executa o script dentro do .venv do projeto sem precisar ativá-lo.
cd /caminho/para/lab-rails-legacy
uv run python agente_hello_world.pyImprime cada iteração do loop com o texto do modelo, a ferramenta pedida e o resultado.
Termina quando stop_reason == "end_turn".
uv run python agente_hello_world.py --quietuv run python agente_hello_world.py --pergunta "Liste os modelos ActiveRecord deste projeto."- Apenas 2 ferramentas (
list_directory,read_file). Mais que isso obscurece o conceito. - Sem permissão de escrita. Demonstrativo. Sem risco.
MAX_ITERACOES = 10. Rede de segurança contra loop infinito.- Modelo: Sonnet 4.6. Equilíbrio de qualidade e custo.
- Geoffrey Huntley — "How to build a coding agent"
- Documentação Anthropic — Tool use overview
- Paper arXiv — "Dive into Claude Code: The Design Space"