Este projeto foi desenvolvido como parte do curso de inteligência artificial da Boot.dev, com o objetivo de construir um agente autônomo capaz de utilizar funções específicas para interagir com um sistema de arquivos Python.
O agente utiliza a API do Gemini (Google GenAI) para interpretar comandos em linguagem natural e decidir, com base neles, quais funções executar. Ele possui um loop de feedback, ou seja, é capaz de:
- Planejar chamadas de função com base na intenção do usuário
- Executar funções reais no sistema (como ler arquivos, listar diretórios ou rodar scripts Python)
- Receber os resultados das funções como "mensagens de ferramenta" e continuar raciocinando com base neles
- Iterar até chegar a uma resposta final para a tarefa
O agente é capaz de:
- Listar arquivos e diretórios
- Ler o conteúdo de arquivos
- Escrever/sobrescrever arquivos
- Executar scripts Python com argumentos opcionais
.
├── main.py # Script principal (ponto de entrada)
├── .env # Contém a variável GEMINI_API_KEY (não versionado)
├── .gitignore
├── calculator/ # Diretório monitorado pelo agente
│ ├── main.py
│ ├── tests.py
│ └── pkg/
│ ├── calculator.py
│ └── render.py
├── functions/ # Funções auxiliares e schemas
│ ├── get_files_info.py
│ ├── get_file_content.py
│ ├── write_file.py
│ └── run_python.py
- Clone o repositório:
git clone https://github.com/FranciscoGoyaAMC/ai_agent.git
cd ai_agent- Crie um ambiente virtual e ative:
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows- Instale as dependências:
pip install -r requirements.txt- Configure a chave da API Gemini:
Crie um arquivo
.envcom:
GEMINI_API_KEY=your-key-here
- Execute o agente com um prompt:
python main.py "3 + 7 * 2"O agente não tem acesso irrestrito ao sistema. Ele opera apenas dentro do diretório calculator/ e não pode modificar arquivos fora dele. Essa restrição é injetada manualmente via argumento working_directory nas chamadas de função.
Este projeto foi desenvolvido por Francisco Goya como parte do Bootcamp de IA no Boot.dev.
Sinta-se à vontade para explorar o código, abrir issues ou sugerir melhorias!
"AI isn't magic. It's just math, with a lot of compute behind it."