Suivre les étapes de l’agent, surveiller l’action
Vous créez un assistant smolagents pour un coach de basket qui a besoin d’aide pour analyser des rapports PDF contenant des statistiques de joueurs, des infos de scouting et des stratégies de jeu.
Le coach s’appuie sur l’agent pour répondre à des questions comme : « Quelles stratégies défensives devrions-nous appliquer contre leur second cinq ? »
Mais le coach ne veut pas seulement des réponses — il souhaite aussi comprendre ce que l’agent fait en coulisses.
Dans cet exercice, vous allez écrire un callback d’action qui s’exécute à chaque étape effectuée par l’agent, comme l’appel d’un outil ou l’utilisation du modèle. Ce callback va :
- Afficher le nombre d’étapes,
- Et, si l’agent a terminé, indiquer combien de tokens ont été utilisés.
Cela aidera le coach (et vous !) à suivre la progression de l’agent et l’effort nécessaire pour aboutir à une conclusion.
Cet exercice fait partie du cours
Agents IA avec Hugging Face smolagents
Instructions
- Complétez la signature de la fonction en ajoutant le paramètre
agent_step. - Vérifiez si l’étape courante a produit une réponse finale à l’aide de l’attribut
.is_final_answerdeagent_step. - Si c’est la réponse finale, récupérez le nombre total de tokens depuis
total_tokenset affichez-le.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define an action callback that accepts the agent step and the agent
def action_callback(____, agent):
step_num = agent_step.step_number
print(f"Step {step_num}: Analyzing basketball data!")
# Check if the agent step includes token usage
if agent_step.____:
total_tokens = agent_step.token_usage.total_tokens
# Print how many tokens were used
print(f"Analysis complete! Total tokens used: {____}")