juillet 2026

N’utilisez pas un agent IA avant d’avoir été au bout avec le LLM

Je suis tombé sur un tweet de Andrej Karpathy qui m’a fait réfléchir sur quand commencer à orchestrer des agents (la plupart du temps c’est prématuré)

Lorsque Andrej Karpathy parle de « understand the model underneath first », il ne dit pas qu’il faut connaître les équations des transformeurs ou être chercheur en IA. Il veut dire qu’avant de construire des agents sophistiqués, il faut comprendre ce que sait réellement faire un LLM, ses limites et la manière de le piloter efficacement.

En d’autres termes, il faut maîtriser le modèle de base avant de construire une architecture complexe autour de lui.

1. Comprendre ce qu’un LLM sait faire naturellement

Un modèle de langage moderne est déjà capable de nombreuses tâches sans nécessiter d’agent :

  • Résumer un document.
  • Écrire du code.
  • Expliquer un concept.
  • Transformer un texte.
  • Extraire des informations.
  • Planifier une suite d’actions.
  • Générer du contenu structuré.

Beaucoup de développeurs créent aujourd’hui des architectures comportant plusieurs agents, alors qu’un simple prompt bien conçu adressé à GPT-5 ou Claude permettrait d’obtenir le même résultat. ET je ne vous dis pas ce que ça vous coûte en tokens !

L’objectif est donc de connaître les capacités natives du modèle avant d’ajouter des couches de complexité.

2. Connaître les limites du modèle LLM

Un bon développeur d’agents doit également connaître les faiblesses du modèle.

Par exemple :

  • Il peut halluciner lorsqu’il manque d’informations.
  • Il oublie progressivement une partie du contexte lorsque celui-ci devient très long.
  • Il est sensible à la formulation des instructions.
  • Certains modèles sont meilleurs pour le raisonnement, d’autres pour le code ou la rédaction.
  • Les performances évoluent fortement d’une version à l’autre.

Très souvent, lorsque l’on pense que « l’agent fonctionne mal », le véritable problème provient du modèle sous-jacent.

3. Savoir guider le modèle

Avant d’investir du temps dans un framework d’agents, il est essentiel de maîtriser les techniques permettant d’exploiter pleinement un LLM.

Parmi elles :

  • Le prompt engineering.
  • Les instructions système.
  • Les sorties structurées (JSON, XML…).
  • Le few-shot prompting.
  • Le function calling.
  • La gestion du contexte.
  • Les techniques de raisonnement lorsqu’elles sont appropriées.

Selon Karpathy, une bonne maîtrise de ces mécanismes permet déjà de résoudre une très grande partie des problèmes rencontrés.

4. Comprendre le coût réel des agents

Un agent complexe peut facilement exécuter une séquence comme celle-ci :

Dans certains cas, un prompt mieux conçu permettrait d’obtenir le même résultat en un ou deux appels seulement.

Avant d’ajouter des agents, il est donc important de se demander si la tâche nécessite réellement une orchestration complexe.

5. Comprendre les capacités émergentes

L’un des messages importants de Karpathy est que les capacités des modèles progressent très rapidement.

Ce qui nécessitait plusieurs agents hier peut devenir une simple capacité native demain.

Par exemple :

En 2023 voilà comment fonctionnait un LLM

Les progrès du modèle rendent progressivement inutiles certaines architectures multi-agents qui semblaient indispensables auparavant.

Pourquoi Karpathy évoque-t-il OpenAI ?

Il fait référence à une tendance observée dans les débuts de la recherche en IA.

À cette époque, beaucoup d’efforts étaient consacrés à la construction de systèmes complexes :

  • planificateurs ;
  • orchestrateurs ;
  • mémoires sophistiquées ;
  • architectures d’agents.

Or les plus grandes avancées sont finalement venues de l’amélioration du modèle fondamental :

  • davantage de données ;
  • davantage de puissance de calcul ;
  • meilleure architecture (Transformer) ;
  • meilleures méthodes d’entraînement ;
  • lois de scaling.

Une fois le modèle devenu suffisamment performant, une grande partie des mécanismes complexes n’était plus nécessaire.

Et c’est exactement en phase avec ce que je dis plus haut au début de cet article. Quand vous n’avez pas encore exploité à fond un LLM, c’est pas la peine de faire des orchestrations inutilement.OpenAI, à très tôt, avant d’avoir pu exploiter à fond un LLM, ce qui est normal puisque les LLM n’étaient encore perfectibles. Ils avaient commencé à faire des orchestrations d’agents en voulant améliorer les résultats mais en fait ils sont allés dans des complications vraiment très grandes.

De cette expérience, il en a tiré qu’il faut exploiter un LLM jusqu’au bout. Et c’est seulement quand il montre ses limites que vous allez vers l’orchestration d’agents. Pas avant.

Alors développeur quand allez vous faire de l’orchestration comme tonton Boris?

Les frameworks d’agents deviennent réellement intéressants lorsque le problème nécessite :

  • des tâches longues ;
  • plusieurs outils externes ;
  • une mémoire persistante ;
  • une orchestration complexe ;
  • des validations indépendantes ;
  • des processus asynchrones.

Conclusion

Un agent n’est qu’une couche d’orchestration autour d’un LLM.

Si le modèle est mal compris ou mal exploité, ajouter davantage d’agents ne fera qu’augmenter la complexité, les coûts et les risques d’erreur.

À l’inverse, lorsqu’on maîtrise parfaitement les capacités du modèle sous-jacent, il devient beaucoup plus facile de savoir quand un agent est réellement nécessaire et quand un simple appel au LLM est largement suffisant.

Je trouve que le terme de prompt engineer n’est finalement pas si futile que ça !

Coder sur son PC depuis son téléphone avec Claude Code

Objectif

Utiliser Claude Code installé sur un PC Windows depuis un téléphone Android (ConnectBot) via SSH. On va dans un premier temps

1. Trouver le nom du PC

Dans l’invite de commande :

hostname

Exemple :

PCYVON2

2. Trouver le nom d’utilisateur Windows

Dans l’invite de commande :

whoami

Exemple :

PCYVON2\yvonh

Le login SSH est donc :

yvonh

3. Trouver l’adresse IP du PC

Dans l’invite de commande :

ipconfig

Repérer l’adresse IPv4 :

192.168.1.xxx

Depuis ConnectBot :

ssh yvonh@192.168.1.xxx

Il est préférable d’utiliser l’adresse IP plutôt que le nom du PC.

4. Vérifier si le serveur SSH est installé

Dans PowerShell :

Start-Service sshd

Si l’erreur suivante apparaît :

Impossible de trouver un service assorti du nom « sshd »

cela signifie que OpenSSH Server n’est pas installé.

5. Installer le serveur OpenSSH

Ouvrir PowerShell en administrateur

Si le message suivant apparait :

Get-WindowsCapability :
L’opération demandée nécessite une élévation.

indique que PowerShell n’a pas été lancé avec les droits administrateur.

Procédure :

  • Menu Démarrer
  • Rechercher PowerShell
  • Clic droit
  • Exécuter en tant qu’administrateur

6. Vérifier les composants OpenSSH

Dans PowerShell administrateur :

Get-WindowsCapability -Online |
Where-Object Name -like 'OpenSSH*'

Exemple :

OpenSSH.Client~~~~0.0.1.0     Installed
OpenSSH.Server~~~~0.0.1.0     NotPresent

7. Installer OpenSSH Server

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

8. Démarrer le service SSH

Start-Service sshd

Le rendre automatique :

Set-Service -Name sshd -StartupType Automatic

Vérifier que c’est lancé :

Get-Service sshd

Résultat attendu :

Status : Running

9. Vérifier le Firewall

Par précaution on vérifie que le firewall ne viennent pas gêner :

Get-NetFirewallRule -Name *ssh*

Si aucune règle n’existe :

New-NetFirewallRule `
    -Name sshd `
    -DisplayName "OpenSSH Server" `
    -Enabled True `
    -Direction Inbound `
    -Protocol TCP `
    -Action Allow `
    -LocalPort 22

10. Tester localement

Depuis le PC :

ssh yvonh@localhost

Si le serveur fonctionne, Windows demande le mot de passe du compte.

11. Connexion depuis ConnectBot

Host :

192.168.1.xxx

Login :

yvonh

Port :

22

Commande SSH :

ssh yvonh@192.168.1.xxx

Cas réseau

Fonctionne

Internet Box
      │
 ┌────┴─────┐
 │          │
PC Ethernet Téléphone Wi-Fi
192.168.1.42
192.168.1.55

Le PC peut être en Ethernet et le téléphone en Wi-Fi tant qu’ils sont connectés à la même box.

Ne fonctionne pas directement depuis un opérateur mobile

Dans ce cas, il faut utiliser une solution comme Tailscale, WireGuard ou ouvrir un accès SSH sécurisé.

Alternatives gratuites à Termius

Termius est une superbe application, mais il peut couter cher, c’est sur abonnement mensuel et non payable en une fois. Néanmoins il existe comme toujours des alternatives gratuites. Pour ma part j’utilise ConnectBot.

Android

  • ConnectBot (Open Source)
  • JuiceSSH
  • Material Terminal

iPhone

  • WebSSH
  • a-Shell

Architecture recommandée

Téléphone
      │
ConnectBot
      │
SSH
      │
PC Windows
      │
Claude Code

Ou, encore mieux : Utiliser Tmux ! j’adore cet outil, il permet de récupérer une session quand vous fermez votre ordinateur.

Téléphone
      │
ConnectBot
      │
SSH
      │
VPS
      │
tmux
      │
Claude Code

Cette architecture permet de laisser Claude Code travailler même lorsque le téléphone est verrouillé ou déconnecté.

Utilisation avancée de Claude avec les hook

Les hooks permettent d’exécuter des actions lorsqu’un point de workflow est atteint (concept qu’on retrouve partout en informatique, même dans les framework javascript)

Dans votre .claude/settings.json, ajoutez cette entrée pour avoir un son lorsque Claude a fini de travailler

"hooks": {
      "Stop": [
        {
          "hooks": [
            {
              "type": "command",
              "command": "afplay /System/Library/Sounds/Glass.aiff"
            }
          ]
        }
      ]
    }

Pour Widows il faut utiliser rundll32