Le mode de raisonnement DeepSeek permet au modèle de produire une phase de réflexion avant sa réponse finale. Il mérite d’être essayé pour résoudre un problème à plusieurs étapes, analyser du code ou organiser une tâche avec des contraintes. En contrepartie, la réponse peut demander davantage de temps et consommer plus de tokens dans l’API.
Dans l’application, recherchez le contrôle Think, ou DeepThink dans certaines interfaces. Pour les développeurs, l’API dispose de paramètres distincts pour activer la réflexion et choisir son niveau d’effort. Attention : le raisonnement n’active pas automatiquement la recherche sur Internet et ne garantit pas une réponse correcte.
Dernière vérification documentaire : 31 octobre 2026.
Think, DeepThink et Search : quelle différence ?
DeepSeek utilise plusieurs noms qui peuvent prêter à confusion. Think ou DeepThink concerne la réflexion du modèle ; Search concerne la recherche d’informations externes. Le visuel de l’application publié sur la page officielle de téléchargement présente ces commandes séparément.
Le nom DeepThink apparaît notamment dans l’annonce de DeepSeek-V3.1 d’août 2025, qui expliquait comment basculer entre les modes Thinking et Non-Thinking. Ce libellé ne signifie donc pas que toutes les versions de l’application utilisent encore le modèle historique R1.
Autre distinction : choisir un modèle n’est pas nécessairement choisir son effort de réflexion. DeepSeek a présenté Expert Mode comme une voie d’accès à V4 Pro dans son annonce du 13 août 2026. Cela ne permet pas d’assimiler automatiquement ce nom d’interface au réglage API reasoning_effort="max".
Pour choisir le bon réglage, posez-vous deux questions différentes : « Ma tâche demande-t-elle une analyse approfondie ? » et « Ai-je besoin d’informations externes ou récentes ? » Une démonstration mathématique et une recherche sur un événement récent ne sollicitent pas les mêmes fonctions.
Comment activer le mode de raisonnement dans DeepSeek ?
Pour utiliser la fonction dans le service grand public, passez par le chat officiel DeepSeek ou l’application obtenue depuis le site de l’éditeur. Vous n’avez pas besoin de programmer un appel API pour cette utilisation.
- Ouvrez une conversation. Préparez une demande suffisamment précise pour que le modèle connaisse votre objectif et vos contraintes.
- Repérez le contrôle de réflexion. Le visuel officiel présente un bouton Think dans la zone de saisie. Une autre version peut encore afficher DeepThink.
- Activez ce contrôle avant d’envoyer la demande. Ne considérez pas le seul choix d’un modèle comme une confirmation du réglage de réflexion.
- Lisez la réponse finale et contrôlez son résultat. Pour revenir à une réponse directe, désactivez le contrôle de réflexion lorsque votre interface propose cette bascule.

Ces indications s’appuient sur les commandes documentées et le visuel public de DeepSeek, pas sur l’inspection d’un compte connecté. L’emplacement et le libellé peuvent évoluer : fiez-vous à l’option réellement affichée dans votre version plutôt qu’à une capture ancienne.
Faut-il aussi activer Search ?
Utilisez la recherche lorsque votre demande dépend de faits externes : une annonce récente, une documentation modifiée ou une information qu’il faut sourcer. La réflexion sert plutôt à exploiter et analyser les informations disponibles.
Lorsque votre interface permet de combiner recherche et réflexion, vérifiez les sources citées avant de reprendre une affirmation importante. Écrire « utilise des informations récentes » dans un message ne prouve pas, à lui seul, que le système a consulté Internet.
Quand utiliser Thinking plutôt que le mode normal ?
Le bon choix dépend de la difficulté réelle de la tâche, pas seulement de sa catégorie. Commencez par le mode le moins coûteux en temps qui répond correctement à votre besoin, puis augmentez l’effort si le résultat manque une contrainte ou une étape importante.
| Votre tâche | Mode à essayer | Contrôle utile |
|---|---|---|
| Reformuler un court message | Réponse directe | Le sens, le ton et les informations sont conservés |
| Résumer un texte simple | Réponse directe, puis réflexion si l’analyse est complexe | Aucune information importante n’est inventée ou supprimée |
| Résoudre un problème mathématique à plusieurs étapes | Thinking | Les hypothèses, calculs et cas particuliers sont valides |
| Diagnostiquer un bug difficile | Thinking | La correction passe des tests représentatifs |
| Construire un planning avec dépendances | Thinking | Toutes les durées et contraintes sont respectées |
| Vérifier une information récente | Recherche sourcée ; réflexion si une analyse est nécessaire | La source originale confirme l’information |
Ce tableau propose des points de départ, pas un classement issu de tests comparatifs. Une traduction technique délicate peut demander davantage d’analyse qu’un calcul élémentaire. Inversement, activer le raisonnement maximal pour une simple correction orthographique peut ajouter de l’attente sans bénéfice utile.
Deux consignes pour exploiter le raisonnement
Une demande précise permet de mieux évaluer la réponse. Indiquez les données disponibles, les contraintes et le format attendu, plutôt que de demander seulement au modèle de « réfléchir davantage ».
Planifier une tâche avec des contraintes vérifiables
À partir de 9 h, planifiez trois tâches :
A : 45 minutes.
B : 60 minutes.
C : 30 minutes.
A doit précéder C.
Ajoutez une pause de 10 minutes entre deux tâches.
Tout doit finir avant midi.
Donnez le planning sous forme de tableau, puis vérifiez
chaque contrainte. Si elles sont incompatibles, expliquez
laquelle doit être modifiée.

Vous disposez ici d’un contrôle indépendant : les trois tâches et les deux pauses représentent 155 minutes. Un enchaînement sans autre interruption commence à 9 h et termine à 11 h 35. Il reste à vérifier que l’ordre proposé respecte bien la dépendance entre A et C.
Analyser du code et demander des tests
Analysez cette fonction Python :
def moyenne(valeurs):
return sum(valeurs) / len(valeurs)
Expliquez son comportement pour [] et [2, 4, 6].
Proposez une version qui refuse explicitement une liste vide.
Ajoutez des tests couvrant le cas vide, une seule valeur
et plusieurs valeurs. Séparez le diagnostic, la correction
et les tests.
Ces exemples sont des consignes à utiliser, et non des réponses attribuées à DeepSeek. Pour comparer deux modes, gardez la même demande et des conditions aussi proches que possible. Évaluez la correction du résultat plutôt que la longueur du texte produit.
Demander une justification claire ou des étapes contrôlables est utile. Cela ne remplace toutefois pas l’activation du réglage de réflexion et ne permet pas de vérifier à lui seul le fonctionnement interne du modèle.
Le raisonnement DeepSeek est-il gratuit ou plus coûteux ?
La présentation officielle de l’application annonce un assistant utilisable gratuitement. N’en déduisez pas que toutes les fonctions sont illimitées ou qu’un forfait identique s’applique aux outils tiers. Les sources consultées ne justifient pas l’invention d’un abonnement distinct appelé « DeepThink Premium ».
Dans l’API, la situation est différente : DeepSeek facture les tokens traités et générés selon les conditions du modèle. Une phase de réflexion plus importante peut augmenter la consommation de sortie. Consultez les tarifs officiels plutôt que d’appliquer au programme la gratuité du chatbot.
Le coût ne se déduit pas uniquement du nombre de mots de la réponse visible. Pour connaître la consommation effective, examinez les statistiques usage retournées par l’API, conformément au guide des tokens.
Dans Chat Completions, completion_tokens_details.reasoning_tokens détaille la part de raisonnement à l’intérieur des tokens de sortie. Ne l’ajoutez pas une seconde fois à completion_tokens pour calculer un total. Les champs sont décrits dans la référence de la réponse API.

Il n’existe pas de multiplicateur universel du type « Thinking coûte deux fois plus ». Pour votre application, comparez la consommation réelle, la durée et le taux de réponses exploitables sur des tâches représentatives.
Activer le mode de raisonnement dans l’API DeepSeek
Au 31 octobre 2026, les identifiants documentés deepseek-flash et deepseek-v4-pro prennent en charge Thinking et Non-Thinking. Le guide officiel du premier appel API présente leur utilisation avec le SDK compatible OpenAI.
Dans l’API, la réflexion est activée par défaut avec un effort high. Cette valeur par défaut ne permet pas de déduire le réglage d’une conversation dans l’application ou chez un fournisseur tiers.
Choisir entre none, low, high et max
La référence Chat Completions distingue la désactivation et les niveaux d’effort suivants. Les usages proposés par DeepSeek dans son annonce sur les niveaux de réflexion constituent des points de départ à adapter.
| Valeur de reasoning_effort | Effet | Point de départ pratique |
|---|---|---|
none | Désactive le mode de raisonnement | Tâche directe ne justifiant pas une réflexion supplémentaire |
low | Active un effort limité | Tâche simple pour laquelle vous souhaitez conserver la réflexion |
high | Active l’effort standard documenté | Analyse ou workflow d’agent courant |
max | Active l’effort maximal proposé | Problème complexe dont le résultat justifie davantage de calcul |

Ces valeurs ne désignent pas des nombres fixes de tokens ou de secondes. Le niveau max n’est donc pas un engagement sur une durée, ni une garantie de meilleure réponse.
Exemple Python avec activation et désactivation explicites
L’exemple suivant utilise Chat Completions et affiche uniquement la réponse finale, puis la consommation retournée. Il nécessite un compte API, une clé valide et un solde utilisable. Installez le SDK :
python -m pip install --upgrade openai
Définissez votre clé dans la variable d’environnement DEEPSEEK_API_KEY, dans l’environnement où vous lancez Python. Le script ne charge pas automatiquement un fichier .env et ne doit pas contenir votre clé en clair.
Enregistrez le code suivant dans deepseek_reasoning.py :
import os
from openai import APIConnectionError, APIStatusError, OpenAI
THINKING = True
MODEL = "deepseek-flash"
def main() -> None:
api_key = os.getenv("DEEPSEEK_API_KEY")
if not api_key or not api_key.strip():
raise SystemExit("Définissez la variable DEEPSEEK_API_KEY.")
try:
with OpenAI(
api_key=api_key,
base_url="https://api.deepseek.com",
timeout=120.0,
max_retries=0,
) as client:
response = client.chat.completions.create(
model=MODEL,
messages=[
{
"role": "user",
"content": (
"À partir de 9 h, planifiez A (45 minutes), "
"B (60 minutes) et C (30 minutes). "
"A doit précéder C. Ajoutez une pause de "
"10 minutes entre deux tâches. Tout doit "
"finir avant midi. Donnez le planning et "
"vérifiez chaque contrainte."
),
}
],
reasoning_effort="high" if THINKING else "none",
extra_body={
"thinking": {
"type": "enabled" if THINKING else "disabled"
}
},
max_tokens=16384,
)
except APIStatusError as error:
raise SystemExit(f"Erreur API HTTP {error.status_code}.") from error
except APIConnectionError as error:
raise SystemExit("Erreur réseau ou délai dépassé.") from error
if not response.choices:
raise SystemExit("Aucun choix renvoyé par l'API.")
choice = response.choices[0]
if choice.finish_reason == "length":
raise SystemExit("Sortie tronquée : vérifiez le budget et le contexte.")
if not choice.message.content:
raise SystemExit(f"Aucune réponse finale. Fin : {choice.finish_reason}")
print(choice.message.content)
if response.usage:
print("Consommation :", response.usage.model_dump())
if __name__ == "__main__":
main()
Lancez ensuite :
python deepseek_reasoning.py
Pour désactiver la réflexion, remplacez simplement THINKING = True par THINKING = False. Le script ajuste alors les deux réglages de façon cohérente : effort none et thinking.type désactivé. Ne laissez pas un réglage demander la désactivation pendant qu’un autre demande un effort actif.
Le budget max_tokens=16384 est un choix pour cet exemple, pas la valeur par défaut du modèle. Il limite la génération, sans garantir que chaque problème disposera d’un budget suffisant. La vérification de finish_reason empêche ici de présenter une sortie tronquée comme une réponse complète.
Le paramètre max_retries=0 évite les relances automatiques pendant ce premier essai. Le timeout configure les délais réseau du SDK, pas une garantie sur la durée totale du traitement. Ces options sont décrites dans la documentation officielle de la bibliothèque Python.
La syntaxe de ce script a été contrôlée, mais aucun appel à un compte DeepSeek n’a été exécuté pour cet exemple. Aucune réponse générée ou mesure de performance n’est présentée comme un test réel.
Attention : Responses API utilise une autre configuration
Le code précédent utilise Chat Completions. Avec Responses API, la configuration passe par reasoning={"effort": "high"}, ou reasoning={"effort": "none"} pour désactiver la réflexion. Le plafond s’appelle max_output_tokens et inclut les tokens visibles et les tokens de raisonnement.

Ne mélangez pas ces paramètres dans un même exemple. La référence DeepSeek Responses API décrit le format propre à cet endpoint.
Historique et outils : que faire de reasoning_content ?
Dans Chat Completions, reasoning_content contient le raisonnement renvoyé par le service, tandis que content contient la réponse finale. Leur gestion dans l’historique dépend de la présence du paramètre tools.
| Configuration de la requête | Règle documentée |
|---|---|
Sans tools | Le raisonnement des tours précédents n’a pas besoin d’être retransmis ; s’il l’est, il est ignoré pour le contexte |
Avec tools | Le raisonnement des tours précédents doit être retransmis intégralement, y compris pour les tours sans appel d’outil |
Le guide officiel Thinking Mode avertit qu’un historique incomplet avec outils peut provoquer une erreur 400. Conservez le message assistant complet plutôt que son seul texte :
messages.append(response.choices[0].message)
Cette instruction appartient à une boucle de conversation existante. Ne reconstruisez pas artificiellement un raisonnement manquant. La conservation technique du message ne vous oblige pas à afficher tous ses champs à l’utilisateur.
Dans un workflow d’outils, votre application doit aussi exécuter les fonctions autorisées et retourner leurs résultats : le modèle ne les exécute pas seul. Le guide Tool Calls détaille cet échange.
Enfin, en Chat Completions, forcer un outil avec tool_choice="required" ou imposer une fonction précise n’est pas pris en charge en Thinking Mode : la référence indique une erreur 400. Cette restriction doit être distinguée du problème d’historique.
Trois pièges techniques à éviter
Confondre effort et paramètres d’échantillonnage
En Thinking Mode, temperature, presence_penalty et frequency_penalty sont sans effet selon le guide officiel. Le comportement de top_p dépend du modèle et du mode. Ces paramètres ne remplacent pas reasoning_effort : l’exemple les omet pour éviter un réglage trompeur.
Interpréter trop tôt une réponse streaming comme vide
Un flux peut fournir du raisonnement avant le texte final. Un fragment sans content ne prouve donc pas un échec. En Chat Completions, gérez séparément les champs de delta et vérifiez la fin du flux.
Responses API emploie d’autres événements, notamment response.reasoning_text.delta et response.output_text.delta, puis un événement de fin. Son guide de streaming précise qu’il ne faut pas attendre le marqueur data: [DONE] propre à Chat Completions.
Prendre une sortie JSON pour une réponse forcément correcte
Pour JSON Output, DeepSeek documente response_format={"type": "json_object"}, une consigne demandant explicitement du JSON et un budget suffisant pour éviter une troncature. Le guide JSON Output signale aussi la possibilité de contenus vides.
Contrôlez ensuite le schéma et les valeurs : un objet JSON valide peut contenir une mauvaise date, une catégorie non autorisée ou une conclusion erronée. Le raisonnement du modèle ne remplace pas ces validations.
Pourquoi le mode de raisonnement ne fonctionne-t-il pas comme prévu ?
Identifiez d’abord l’environnement concerné : application officielle, API ou outil tiers. Une erreur de paramètres dans un programme ne se corrige pas comme un bouton absent dans l’application.
| Symptôme | Vérification utile | Action |
|---|---|---|
| DeepThink n’apparaît pas | Version et provenance de l’interface ; présence de Think | Suivre les commandes réellement disponibles, sans imposer un ancien libellé |
| La réponse prend trop de temps | Complexité, effort choisi, longueur de génération et disponibilité du service | Simplifier la tâche ou essayer un effort inférieur si cela convient au besoin |
| La réponse finale est tronquée | finish_reason, budget de génération et contexte | Réduire la demande ou ajuster le budget avant de relancer |
| Erreur 400 avec outils | Historique complet, champs de raisonnement et tool_choice | Corriger la cause indiquée, sans supprimer des champs requis |
| Un paramètre ne change rien | Prise en charge selon le modèle, le mode et le protocole | Retirer les options sans effet et utiliser le contrôle adapté |
| Erreur 402 | Solde du compte API | Vérifier la facturation plutôt que le bouton de réflexion |
| Erreur 429 ou 503 | Limitation des requêtes ou surcharge du service | Réduire les relances et appliquer une attente adaptée |
Les codes HTTP sont décrits dans la documentation officielle des erreurs DeepSeek. Toutes les erreurs 400 ne viennent pas de reasoning_content, et un timeout ne prouve pas que le modèle a épuisé son budget de réflexion.
Quel réglage retenir pour votre usage ?
Dans le chat : essayez Think lorsque votre tâche comporte plusieurs étapes, hypothèses ou contraintes. Gardez la réponse directe pour les demandes simples et utilisez Search séparément lorsque des informations externes sont nécessaires.
Dans l’API : configurez explicitement le mode et l’effort, contrôlez la consommation et préservez les messages requis lorsque vous utilisez des outils. Avant de généraliser un réglage, comparez quelques tâches représentatives avec des critères vérifiables.
Le bon résultat n’est pas celui qui contient le plus de réflexion visible : c’est celui qui respecte votre demande, reste vérifiable et apporte une réponse exploitable avec un délai et un coût adaptés.




