Modèles de Conception CLI pour Agents IA : Idées Reçues et Approches Pratiques

Clarification sur le protocole d'interface CLI
La plus grande idée fausse de la partie 1 était que "CLI" signifiait donner un terminal Linux à un LLM. CLI est en réalité un protocole d'interface : commande textuelle en entrée → résultat textuel en sortie. L'implémentation peut se faire de deux manières :
- En tant que binaire ou script dans le PATH du shell — devient un outil CLI qui s'exécute dans un véritable shell
- En tant qu'analyseur de commande dans votre code — lorsque le LLM génère
run(command="weather --city Tokyo"), vous analysez la chaîne et l'exécutez directement dans votre code d'application sans shell impliqué
L'essentiel est de faire en sorte que le LLM ait l'impression d'utiliser un CLI. Dans le système de l'auteur, la plupart des commandes ne touchent jamais le système d'exploitation — ce sont des fonctions Go distribuées par un routeur de commandes. Seules les commandes qui nécessitent véritablement un système d'exploitation réel (exécution de scripts, installation de paquets) vont vers une micro-machine virtuelle isolée. L'agent ne sait pas et ne se soucie pas de la couche qui traite sa commande.
Principes de conception CLI adaptés aux agents
Deux philosophies fondamentales
Philosophie 1 : Conception de l'aide de style Unix
tool --help→ liste des commandes de haut niveautool <command> --help→ paramètres spécifiques et utilisation pour cette sous-commande
Cela permet à l'agent de découvrir les capacités à la demande sans devoir intégrer toute la documentation dans le contexte dès le départ.
Philosophie 2 : Réflexion sur les conseils
Chaque réponse — surtout les erreurs — doit inclure des conseils qui réduisent l'exploration inutile.
Mauvais exemple :
> cat photo.png [error] binary file
Bon exemple :
> cat photo.png [error] cat: fichier binaire détecté (image/png, 182KB). Utilisez : see photo.png (voir l'image) Ou : cat -b photo.png (encoder en base64)
Pourquoi c'est important : l'exploration invalide gaspille des tokens. Dans les conversations multi-tours, ce gaspillage s'accumule — chaque tentative infructueuse reste dans le contexte, consommant de l'attention et des ressources d'inférence pour chaque tour suivant. Un seul conseil utile peut économiser des tokens significatifs pour le reste de la conversation.
Conception CLI sécurisée
Lorsque les commandes CLI impliquent des opérations dangereuses ou irréversibles, l'outil lui-même doit fournir des mécanismes de sécurité.
Mode test / Prévisualisation des changements — Prévenir les erreurs
Pour les opérations relevant de l'autorité de l'agent mais ayant des conséquences difficiles à inverser. L'objectif est de permettre à l'agent (ou à l'humain) de voir ce qui va se passer avant de valider.
> dns update --zone example.com --record A --value 1.2.3.4 ⚠ MODE TEST : Enregistrement A pour example.com : 5.6.7.8 → 1.2.3.4 Propagation : ~300s. Pas instantanément réversible. Pour exécuter : ajoutez --confirm
La prévisualisation doit clairement montrer quel est l'état actuel et ce qui va être modifié. L'agent confirme avec --confirm.
Autorisation humaine — Opérations au-delà de l'autonomie de l'agent
Pour les opérations nécessitant un jugement ou une approbation humaine — peu importe la confiance de l'agent, il ne peut pas les réaliser seul.
Approche 1 : Approbation par notification bloquante
> pay --amount 500 --to vendor --reason "office supplies for Q2" ⏳ Approbation requise. Notification envoyée à votre appareil. En attente de réponse... ✓ Approuvé. Paiement de 500 $ effectué. [exit:0 | 7.2s]
Comme la vérification de connexion d'appareil d'Apple — le CLI envoie une notification directement sur l'appareil de l'humain avec tout le contexte (montant, destinataire, raison). Le CLI se bloque jusqu'à ce que l'humain approuve ou rejette, puis renvoie le résultat à l'agent.
Approche 2 : Code de vérification / Authentification à deux facteurs
> transfer --from savings --to checking --amount 10000 ⚠ Cette opération nécessite une vérification 2FA. Raison : transfert de 10 000 $ entre comptes. Un code a été envoyé à votre authentificateur. Ré-exécutez avec : --otp <code>
📖 Read the full source: r/LocalLLaMA
👀 See Also

30 jours de Claude pour une entreprise freelance : 5 prompts qui fonctionnent
Un freelance a testé Claude quotidiennement pendant 30 jours et partage 5 prompts qui ont réduit la rédaction de propositions de 45 à 5 minutes, augmenté les tarifs de 30 % sans aucune opposition et triplé les taux de réponse aux propositions à froid.

Revue pratique : 3 compétences essentielles sur Clawhub et 3 à éviter
Un développeur a testé les compétences de Clawhub pendant des semaines et en a trouvé trois qui valent la peine d'être installées : web-search (Brave), daily-brief et memory-search. Trois autres — food-order, multi-agent orchestrators et humanizer — gaspillent des tokens et ajoutent une complexité inutile.

Correctif en trois couches pour les modèles manquants et le bug de suppression du docteur sur OpenClaw Ollama Cloud
Une installation propre d'OpenClaw avec les modèles Ollama Cloud a échoué : seul kimi-k2.5 fonctionnait, les configurations disparaissaient. Cause racine : liste des fournisseurs manquante, champ name requis, et 'openclaw doctor --fix' supprime votre bloc de fournisseur.

Correction d’automatisation de navigateur à distance avec configuration du nœud OpenClaw
Utilisez un nœud OpenClaw local pour éviter les maux de tête liés au CDP/RDP — exécutez le navigateur visible, conservez votre IP et vos cookies.