Gerenciando a Memória do Agente

Agentes de IA com Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentes de IA com Hugging Face smolagents

Sem Estado por Padrão

Cada chamada .run() é um novo começo.

  • Exemplo:
career_advisor.run("Quais habilidades de carreira devo destacar?")
Você deve destacar Python, SQL, visualização de dados, 
fundamentos de aprendizado de máquina e habilidades de comunicação voltadas para resultados de negócios.
career_advisor.run("Você pode formatar essas habilidades como tópicos?")
Desculpe, não tenho certeza de quais habilidades você está se referindo. Pode esclarecer?
Agentes de IA com Hugging Face smolagents

Retendo Memória Entre Interações

career_advisor.run("Quais habilidades de carreira devo destacar?")
Você deve destacar Python, SQL, visualização de dados, 
fundamentos de aprendizado de máquina e habilidades de comunicação voltadas para resultados de negócios.
  • Passe reset=False:
career_advisor.run("Você pode formatar essas habilidades como tópicos?", reset=False)
Claro! Aqui estão as habilidades como tópicos:
- Python
- SQL
- Visualização de dados
...
Agentes de IA com Hugging Face smolagents

A Memória Também Ajuda a Depurar

Usuário: Qual é o salário esperado?
Agente: É $80,000
Usuário: Espere, isso parece errado...
Agente: Desculpe, não tenho certeza do que você quer dizer

Inspecione o que aconteceu na execução do agente:

  • Revisando todo o código gerado pelo agente
  • Rastreando seu raciocínio, ações e uso de ferramentas
  • Depurando respostas incorretas ou lógica quebrada
Agentes de IA com Hugging Face smolagents

Qual Código o Agente Executou?

O método .return_full_code() permite ver todo o código executado.

executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...outros passos omitidos para brevidade

salary = 80000  # <- hardcoded?

# script continua...
Agentes de IA com Hugging Face smolagents

O Que o Agente Estava Pensando?

conversation_steps = career_advisor.memory.get_succinct_steps()
print(conversation_steps[5])
{
  "step_number": 5,
  "tool_calls": [
    {"function": {"name": "python_interpreter"}},
    {"function": {"name": "web_search"}}
  ],
  "code_action": "import requests\nskills = requests.get('api.jobsearch.com').json()",
  "observations": "resume_agent encontrou 15 habilidades relevantes para transição",
  "token_usage": {"total_tokens": 334},
  ...
}
Agentes de IA com Hugging Face smolagents

Salvar Sessões do Agente para Análise

import json

def save_agent_memory(agent):
    with open("agent_memory.json", "w") as f:
        json.dump(agent.memory.get_succinct_steps(), f, indent=2, default=str)

# Salvar memória em um arquivo
save_agent_memory(career_advisor)

Logs podem ajudar com:

  • Análise pós-fato
  • Testes de regressão
  • Melhorar o comportamento do agente ao longo do tempo
Agentes de IA com Hugging Face smolagents

Corrigindo Falhas do Agente: O Que Ajustar

  • Problemas de memória: Use reset=False ou redefina intencionalmente
  • Problemas de raciocínio: Tente um modelo mais forte
  • Comportamento inconsistente: Melhore o prompt do sistema
  • Confusão de ferramentas: Esclareça as docstrings das ferramentas
Agentes de IA com Hugging Face smolagents

Vamos praticar!

Agentes de IA com Hugging Face smolagents

Preparing Video For Download...