Travailler avec des agents à étapes multiples

Agents IA avec Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agents IA avec Hugging Face smolagents

Exemple : assistant de voyage

Agents IA avec Hugging Face smolagents

Intervalles de planification : aider l'agent à repenser

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    planning_interval=3,
    max_steps=12
)
  • planning_interval=3 : l'agent fait une pause toutes les 3 étapes.
Agents IA avec Hugging Face smolagents

Exécution avec intervalles de planification

« Planifiez des vacances familiales de 2 semaines en Europe, avec des sites historiques pour adultes et des activités pour enfants, pour moins de 5 000 $. »

[Étape 1] Rechercher « hôtels Paris » -> Hôtels de luxe trouvés (~4 000 $ au total)

[Étape 2] Rechercher « attractions familiales Paris » -> Tour Eiffel, Louvre, billets de parc thématique

[Étape 3] Pause et remise en question (intervalle de planification) Hôtels trop chers -> budget dépassé. Chercher des options moins coûteuses + activités pour enfants.

[Étape 4] Rechercher « hôtels familiaux abordables en Europe » -> Options intermédiaires dans plusieurs villes

Agents IA avec Hugging Face smolagents

Rappels : points d'ancrage dans le processus de l'agent

Agents IA avec Hugging Face smolagents

Fonction de rappel de base

def callback_function(agent_step, agent):
    # Do something with the agent step or the agent itself
    pass
  • agent_step : détails sur l'étape (plan, numéro d'étape, etc.)
  • agent : l'objet agent complet (état + méthodes)
Agents IA avec Hugging Face smolagents

Rappels lors de la planification

def planning_callback(agent_step, agent):
    print("AGENT PLANNING")
    print("=" * 50)
    print(agent_step.plan[:300])
    if len(agent_step.plan) > 300:
        print("\n... (plan truncated)")
    print("=" * 50)
AGENT PLANNING
==================================================
Search affordable hotels + kid activities
Then create balanced itinerary...
... (plan truncated)
==================================================
Agents IA avec Hugging Face smolagents

Rappels lors des actions

def action_callback(agent_step, agent):
    step_num = agent_step.step_number
    print(f"Step {step_num}: Taking action")

    if agent_step.is_final_answer:
        total_tokens = agent_step.token_usage.total_tokens
        print(f"Total tokens used: {total_tokens}")
Step 2: Taking action!
Step 3: Taking action!
Step 4: Taking action!
Total tokens used: 4,218
Agents IA avec Hugging Face smolagents

Ajouter des rappels aux agents

from smolagents import ActionStep, PlanningStep

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Agents IA avec Hugging Face smolagents

Que pouvez-vous faire avec les rappels ?

  • Consigner les recherches pour connaître ce que les utilisateurs cherchent le plus
  • Ajouter des points de validation humaine
  • Envoyer des mises à jour d'avancement à des tableaux de bord ou applis
  • Ajuster le comportement en cours d'exécution selon la performance
  • Et plus encore…
Agents IA avec Hugging Face smolagents

Passons à la pratique !

Agents IA avec Hugging Face smolagents

Preparing Video For Download...