Accueil / Factory / Algos ML / Agents LLM — factory / algos ML / orchestration de modèles de langage

AGENTS LLM.

Un agent LLM est un modèle de langage placé dans une boucle : il lit la demande, décide d'appeler un outil (requête, calcul, recherche), lit le résultat, puis recommence jusqu'à pouvoir répondre. Les chiffres viennent des outils, pas de la mémoire du modèle. C'est ainsi qu'on automatise des tâches en plusieurs étapes.

LLMAppel d'outilsAutomatisationAnalyse de donnéesNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceEfficace sur des tâches cadrées, fragile sur les longues
InterprétabilitéChaque appel d'outil est tracé et relisible
VitessePlusieurs allers-retours avec le LLM par demande
Facilité de réglageOutils, consignes et garde-fous à mettre au point
Tolérance aux données brutesNe vaut que ce que valent ses outils et ses sources
EN 30 SECONDES

Un assistant de direction à qui l'on donne l'accès aux tableaux de bord et une calculatrice. Il ne connaît pas les chiffres par cœur : il va les chercher, calcule, et revient avec une réponse sourcée.

1. On décrit les outils

Chaque outil a un nom, une description et des paramètres attendus. Le LLM ne voit que cette description, jamais le code de l'outil.

2. Le LLM décide, le programme exécute

Le modèle répond par une demande d'appel : tel outil, avec tels paramètres. Le programme exécute l'outil et renvoie le résultat au modèle.

3. La boucle continue jusqu'à la réponse

Le modèle enchaîne les appels nécessaires, vérifie les résultats, puis rédige sa réponse. Un nombre maximal de tours évite les boucles sans fin.

LE CAS MÉTIER

pilotage commercial · réseau de magasins
EN ENTRÉE

Une question en français et un outil

Un directeur réseau demande quelle zone a le meilleur chiffre d'affaires au m². L'agent dispose d'un outil qui calcule les statistiques d'une zone à partir du fichier des 400 magasins.

EN SORTIE

Une réponse chiffrée et la trace des appels

L'agent appelle l'outil pour chaque zone, compare les résultats et rédige sa réponse. Le code affiche chaque appel : on sait d'où vient chaque chiffre.

CE QU'ON MESURE

Le taux de tâches réussies

On prépare des questions dont on connaît la réponse, et on mesure la part de réponses justes, le nombre d'appels et le coût. On relit la trace des échecs : mauvais outil, mauvais paramètre ou mauvaise lecture du résultat.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Questions qui demandent de chercher puis de calculer : reporting, analyse ponctuelle
  • Processus en plusieurs étapes qui s'appuient sur des outils existants : CRM, base de données, API internes
  • Tâches où la trace de chaque action sert au contrôle
  • Volume modéré, où quelques secondes par demande sont acceptables

NON

  • Processus stable et bien connu : un script ou un workflow classique est plus fiable et moins cher
  • Actions irréversibles (paiement, suppression) sans validation humaine
  • Réponse en temps réel sur de gros volumes
  • Simple question sur des documents : un RAG suffit
LES 4 RÉGLAGES QUI COMPTENT

Noms donnés pour l'API Messages d'Anthropic, utilisée dans le code ; les autres fournisseurs ont des équivalents directs.

tools (description des outils)

Le LLM choisit ses outils sur leur seule description. Nom explicite, rôle, valeurs possibles des paramètres : c'est le réglage le plus rentable.

Nombre maximal de tours

Garde-fou contre les boucles et les coûts qui dérapent. Le code s'arrête à 5 tours.

Droits des outils

Donner à l'agent des outils en lecture seule dès que possible. Toute action qui modifie des données passe par une validation humaine.

system (consigne système)

Rôle, périmètre, format de réponse, conduite à tenir quand un outil échoue. Préciser qu'aucun chiffre ne doit être donné sans appel d'outil.

LE CODE MINIMAL

jeu d'exemple : magasins.csv ↓
# Pilotage d'un réseau de magasins : agent LLM en Python
import json
import pandas as pd
import anthropic  # clé API dans la variable d'environnement ANTHROPIC_API_KEY

magasins = pd.read_csv("magasins.csv")

def stats_zone(zone):  # l'outil : du code classique, qui calcule sur les vraies données
    sel = magasins[magasins["zone"] == zone]
    return {"nb_magasins": len(sel), "ca_moyen_k": round(sel["ca_k"].mean(), 1),
            "ca_par_m2_k": round(sel["ca_k"].sum() / sel["surface_m2"].sum(), 3)}

outils = [{"name": "stats_zone", "description": "Statistiques des magasins d'une zone : centre_ville, peripherie ou rural.",
           "input_schema": {"type": "object", "properties": {"zone": {"type": "string"}}, "required": ["zone"]}}]
messages = [{"role": "user", "content": "Quelle zone a le meilleur CA au m2 ? Justifiez avec les chiffres."}]
client = anthropic.Anthropic()

for tour in range(5):  # garde-fou : 5 tours au maximum
    reponse = client.messages.create(model="claude-sonnet-5-5", max_tokens=1000, tools=outils, messages=messages)
    messages.append({"role": "assistant", "content": reponse.content})
    if reponse.stop_reason != "tool_use":
        break
    resultats = []
    for bloc in reponse.content:
        if bloc.type == "tool_use":  # le LLM demande un appel, le programme l'exécute
            print("Appel :", bloc.name, bloc.input)
            resultats.append({"type": "tool_result", "tool_use_id": bloc.id, "content": json.dumps(stats_zone(**bloc.input))})
    messages.append({"role": "user", "content": resultats})
print("".join(b.text for b in reponse.content if b.type == "text"))

Les agents LLM se construisent surtout en Python : en R, le package ellmer permet de déclarer des outils qu'un LLM peut appeler.

QUESTIONS FRÉQUENTES

Quelle différence entre un agent IA et un chatbot ?

Un chatbot répond avec ce qu'il sait. Un agent agit : il appelle des outils, lit leurs résultats et enchaîne plusieurs étapes avant de répondre. La frontière s'estompe, car les assistants grand public disposent désormais d'outils comme la recherche web ou l'exécution de code.

Qu'est-ce que l'appel d'outils (function calling) ?

La capacité d'un LLM à répondre par une demande structurée, par exemple un nom de fonction et ses paramètres en JSON, plutôt que par du texte libre. Le programme exécute la fonction et renvoie le résultat au modèle. C'est la brique de base de tout agent.

Un agent LLM est-il fiable ?

Sur des tâches courtes et bien outillées, souvent oui. Chaque étape comporte un petit risque d'erreur, qui se cumule sur les tâches longues. D'où l'intérêt des traces, des tests sur des cas connus et d'une validation humaine avant toute action sensible.

LES ALGOS VOISINS

à comparer avant de choisir
la brique documentaire

RAG

Donne au LLM des passages de documents. Un agent peut utiliser un RAG comme l'un de ses outils.

Voir la fiche →
le moteur

GPT et LLM

Le modèle de langage qui lit, décide et rédige. L'agent l'entoure d'outils et d'une boucle.

Voir la fiche →
l'autre sens du mot agent

Q-learning

En apprentissage par renforcement, un agent apprend une stratégie par essais et récompenses. Un agent LLM, lui, n'apprend pas pendant la tâche.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →