Prompt engineering avec LangChain Python et JavaScript
Créez et exécutez des prompts avancés avec la librairie langchain-core - tutoriel LangChain complet en Python et en JavaScript
L’IA générative rend les programmes informatiques capables de discuter exactement comme un humain. C’est fascinant, mais ce n’est en fait que la pointe de l’iceberg.
Quand on écrit un prompt, ce n’est pas juste un message à destination de l’IA que l’on crée, c’est un véritable nouveau modèle d’IA.
Par exemple, si je dis à Mistral : “j’ai reçu le message suivant, est-ce un spam?”, j’ai créé en une ligne de texte ce que l’on appelle en machine learning un “classificateur binaire non supervisé”. Impressionnant !
Le prompt est donc un véritable langage de programmation pour contrôler des LLM et créer des mini-systèmes d’IA, sans données et en quelques minutes de travail.
Cette approche est un pilier fondamental de l’IA agentique, c’est-à-dire la rencontre entre le code et l’IA générative.
Découvrons comment créer des prompts réutilisables avec LangChain.
L’astuce du jour : prompt playground
LangSmith est la partie commerciale de l’écosystème LangChain / LangGraph. La plateforme LangSmith permet d’héberger des agents, d’évaluer leur bon fonctionnement, voire de créer des agents en no-code avec le nouveau système Fleet (ex Agent Builder).
Une fonctionnalité parfois sous-estimée est la “prompt playground” : en quelques clics, vous pouvez tester des prompts complexes sur tout un jeu de données, comparer plusieurs modèles, mesurer les résultats avec précision, et même partager vos prompts à plus grande échelle dans le cadre d’un travail d’équipe.
Vous préférez une alternative open source ? Le projet langfuse (qui n’est PAS rattaché à LangChain, malgré son nom) propose exactement la même fonctionnalité.

Le cas d’usage : reprompting
Vous mangez des prompts matin, midi et soir ? Reprenez-en encore une cuillerée : utilisez l’IA pour créer des prompts qui améliorent vos prompts, et expérimentez-les dans le playground langfuse ou LangSmith.
À vos claviers : Créez un premier template de prompt
🐍 Team Python
Dans le numéro précédent de la newsletter Formation LangChain France, nous avons installé uv, qui vient d’ailleurs de se faire racheter par OpenAI. Le monde de l’IA est très petit !
Si vous avez néanmoins choisi de continuer à utiliser des notebooks, sur Google Colab ou en local, commençons par une astuce : vous pouvez afficher proprement du Markdown via le module display de IPython.
from IPython.display import Markdown;
Markdown(prompt)Rappelons qu’un prompt est avant tout une chaîne de caractères. Comme ils sont un peu longs, on privilégie en général la syntaxe multi-lignes :
"""
Tu es un robot tueur.
Utilise LangChain pour créer un agent IA qui va détruire le monde.
"""Très rapidement, vous allez vous poser la question suivante : comment injecter une variable dans un prompt ?
Il ne s’agit pas seulement de créer un template de prompt réutilisable : l’injection de variable dans un prompt joue aussi un rôle important dans la synthèse des conversations longues et le pattern “dynamic prompt” pour la boucle agentique.
La syntaxe la plus courante est le “f-string” (chaîne de caractères formatée) :
f"L’utilisateur s’appelle {prenom}"La fonction “str.format”, plus ancienne, permet de passer la variable a posteriori :
"L’utilisateur s’appelle {prenom}".format(prenom="Eric")Python 3.14 introduit les “t-strings” (t pour template), similaire au f-string mais qui renvoie un objet “Template” plus élaboré. Attention, LangChain ne supporte pas Python 3.14 au moment où j’écris ces lignes (mars 2026).
Le “ChatPromptTemplate” de langchain-core permet de gérer des templates de conversation, mais je ne le recommande plus aujourd’hui : Python fournit déjà assez d’outils, et le few-shot learning via une conversation (avec un prompt constitué de plusieurs messages) fonctionne moins bien avec les modèles récents (on privilégie plutôt un prompt système bien conçu).
La syntaxe Mustache est aussi populaire, son avantage est de ne pas être spécifique à Python :
"L’utilisateur s’appelle {{prenom}}".
On ne peut pas dire que les solutions manquent !! Maintenant que vous êtes surarmés avec pas moins de 5 syntaxes pour les prompts, la documentation LangChain fournit une page très complète sur le prompt engineering pour savoir quoi mettre dans ce fameux prompt !
🟨 Team JavaScript
En JavaScript, c’est très simple : les Template Literals sont la syntaxe à privilégier pour définir de longues chaînes de caractères.
Il s’agit d’un système moins sophistiqué que le formatage des chaînes de caractères en Python mais tout aussi efficace pour construire des prompts pour l’IA.
tone1="informative and calm"
tone2="aggressive techfluenceur marketing"
prompt=`You must write a LinkedIn post
Expected tone ${tone1}`Mettez ça dans une fonction, et vous obtenez un générateur de prompts dynamiques !
Vous pouvez aussi choisir de mobiliser le ChatPromptTemplate de LangChain pour avoir un prompt très structuré. Je ne le recommande pas forcément en Python où il est redondant avec les fonctionnalités de base, mais en JavaScript il peut compenser l’absence de mécanismes avancés pour le formatage des chaînes de caractères.
La communauté LangChain
Cette semaine on fait un détour par Le Mans pour vous présenter Edwin Simonnet, Docteur en IA, spécialiste LLM & LangChain, et Dev Mobile Flutter ! Retrouvez Edwin sur LinkedIn.
Pour apparaître dans la newsletter et faire connaissance avec la communauté LangChain France : répondez directement à la newsletter par mail et dites-moi quelques mots sur votre profil !
Dans le prochain épisode
On passe des prompts simples aux conversations multi-messages : types de messages - système, user, et tool ; lien avec la mémoire et le tool calling…
Qu’en pense l’IA ?
Cette semaine, je demande à Flux 2 Pro, le modèle d’image de l’allemand Black Forest Labs, ce qu’il pense de cet épisode de Formation LangChain France :



