Agentenspeicher verwalten

AI-Agents mit Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

AI-Agents mit Hugging Face smolagents

Standardmäßig zustandslos

Jeder .run()-Aufruf ist ein Neustart.

  • Beispiel:
career_advisor.run("Welche Karrierefähigkeiten sollte ich hervorheben?")
Du solltest Python, SQL, Datenvisualisierung, 
Grundlagen des maschinellen Lernens und Kommunikationsfähigkeiten hervorheben, die auf Geschäftsergebnisse abgestimmt sind.
career_advisor.run("Kannst du diese Fähigkeiten als Aufzählungspunkte formatieren?")
Entschuldigung, ich bin mir nicht sicher, auf welche Fähigkeiten du dich beziehst. Kannst du das klären?
AI-Agents mit Hugging Face smolagents

Speicher zwischen Interaktionen behalten

career_advisor.run("Welche Karrierefähigkeiten sollte ich hervorheben?")
Du solltest Python, SQL, Datenvisualisierung, 
Grundlagen des maschinellen Lernens und Kommunikationsfähigkeiten hervorheben, die auf Geschäftsergebnisse abgestimmt sind.
  • reset=False übergeben:
career_advisor.run("Kannst du diese Fähigkeiten als Aufzählungspunkte formatieren?", reset=False)
Klar! Hier sind die Fähigkeiten als Aufzählungspunkte:
- Python
- SQL
- Datenvisualisierung
...
AI-Agents mit Hugging Face smolagents

Speicher hilft auch beim Debuggen

Benutzer: Wie hoch ist das erwartete Gehalt?
Agent: Es sind 80.000 $
Benutzer: Moment, das scheint falsch zu sein...
Agent: Entschuldigung, ich bin mir nicht sicher, was du meinst

Untersuche, was im Lauf des Agenten passiert ist:

  • Überprüfen des gesamten generierten Codes
  • Nachverfolgen von Überlegungen, Aktionen und Tool-Nutzung
  • Debuggen falscher Antworten oder fehlerhafter Logik
AI-Agents mit Hugging Face smolagents

Welchen Code hat der Agent ausgeführt?

Die Methode .return_full_code() zeigt dir den gesamten ausgeführten Code.

executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...andere Schritte ausgelassen

salary = 80000  # <- fest codiert?

# Skript geht weiter...
AI-Agents mit Hugging Face smolagents

Was dachte der 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 fand 15 relevante Fähigkeiten für den Übergang",
  "token_usage": {"total_tokens": 334},
  ...
}
AI-Agents mit Hugging Face smolagents

Agentensitzungen für Analyse speichern

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)

# Speicher in Datei sichern
save_agent_memory(career_advisor)

Logs helfen bei:

  • Nachträglicher Analyse
  • Regressionstests
  • Verbesserung des Agentenverhaltens über die Zeit
AI-Agents mit Hugging Face smolagents

Agentenfehler beheben: Was anpassen

  • Speicherprobleme: reset=False verwenden oder gezielt zurücksetzen
  • Denkprobleme: Stärkeres Modell ausprobieren
  • Inkonsistentes Verhalten: System-Prompt verbessern
  • Tool-Verwirrung: Tool-Dokstrings klären
AI-Agents mit Hugging Face smolagents

Lass uns üben!

AI-Agents mit Hugging Face smolagents

Preparing Video For Download...