Geheugenbeheer van Agent

AI-agents met Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

AI-agents met Hugging Face smolagents

Standaard Zonder Status

Elke .run() oproep is een nieuwe start.

  • Voorbeeld:
career_advisor.run("Welke carrièrevaardigheden moet ik benadrukken?")
Je moet Python, SQL, datavisualisatie, 
machine learning basisprincipes en communicatievaardigheden gericht op bedrijfsresultaten benadrukken.
career_advisor.run("Kun je die vaardigheden als opsommingstekens formatteren?")
Sorry, ik weet niet zeker welke vaardigheden je bedoelt. Kun je verduidelijken?
AI-agents met Hugging Face smolagents

Geheugen Behouden Tussen Interacties

career_advisor.run("Welke carrièrevaardigheden moet ik benadrukken?")
Je moet Python, SQL, datavisualisatie, 
machine learning basisprincipes en communicatievaardigheden gericht op bedrijfsresultaten benadrukken.
  • Pass reset=False:
career_advisor.run("Kun je die vaardigheden als opsommingstekens formatteren?", reset=False)
Zeker! Hier zijn de vaardigheden als opsommingstekens:
- Python
- SQL
- Datavisualisatie
...
AI-agents met Hugging Face smolagents

Geheugen Helpt Ook Bij Debuggen

Gebruiker: Wat is het verwachte salaris?
Agent: Het is $80,000
Gebruiker: Wacht, dat lijkt niet te kloppen...
Agent: Sorry, ik weet niet zeker wat je bedoelt

Inspecteer wat er gebeurde in de run van de agent:

  • Alle gegenereerde code van de agent bekijken
  • Zijn redenering, acties en hulpmiddelgebruik traceren
  • Foute antwoorden of gebroken logica debuggen
AI-agents met Hugging Face smolagents

Welke Code Voerde de Agent Uit?

De methode .return_full_code() laat je alle uitgevoerde code zien.

executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...andere stappen weggelaten voor beknoptheid

salary = 80000  # <- hardcoded?

# script gaat verder...
AI-agents met Hugging Face smolagents

Wat Dacht de Agent?

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 vond 15 relevante vaardigheden voor overgang",
  "token_usage": {"total_tokens": 334},
  ...
}
AI-agents met Hugging Face smolagents

Agent Sessies Opslaan voor Analyse

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)

# Sla geheugen op in een bestand
save_agent_memory(career_advisor)

Logboeken kunnen helpen bij:

  • Achteraf analyse
  • Regressietesten
  • Verbeteren van agentgedrag in de tijd
AI-agents met Hugging Face smolagents

Agent Fouten Oplossen: Wat Aanpassen

  • Geheugenproblemen: Gebruik reset=False of reset bewust
  • Redeneerproblemen: Probeer een sterker model
  • Inconsistent gedrag: Verbeter systeem prompt
  • Hulpmiddelverwarring: Verduidelijk hulpmiddel docstrings
AI-agents met Hugging Face smolagents

Laten we oefenen!

AI-agents met Hugging Face smolagents

Preparing Video For Download...