DeepSeek AI Agent schlägt mit 400 "reasoning_content must be passed back" fehl, wenn Tools verwendet werden

Hi everyone,

Ich bin auf ein Problem gestoßen, wenn ich den AI Agent Node mit DeepSeek Reasoning Models 
(deepseek-v4-flash / deepseek-reasoner) und einem verbundenen Tool verwende.

**Fehler:**
400 Bad Request: Der reasoning_content im Thinking Mode muss an die API zurückgegeben werden.

**Was passiert:**
Wenn der AI Agent während eines Gesprächs ein Tool aufruft, scheint n8n das 
reasoning_content Feld aus der Assistant-Nachricht zu entfernen, bevor die History 
an die DeepSeek API zurück gesendet wird. Seit DeepSeek V3.2 ist dieses Feld in 
Multi-Turn Tool-Calling Anfragen erforderlich — ohne es lehnt die API die Anfrage 
mit einem 400 Fehler ab.

**Schritte zum Reproduzieren:**
1. Richten Sie einen AI Agent Node mit DeepSeek Chat Model (deepseek-v4-flash oder deepseek-reasoner) ein
2. Verbinden Sie ein beliebiges Tool (z.B. HTTP Request, Calculator)
3. Führen Sie den Agent mit einem Prompt aus, der Tool-Nutzung auslöst
4. Beobachten Sie den 400 Fehler

**Zugehörige GitHub Issues:**
- https://github.com/n8n-io/n8n/issues/22579
- https://github.com/n8n-io/n8n/issues/29119
- https://github.com/n8n-io/n8n/issues/29661

Das scheint viele Benutzer zu beeinflussen. Hat jemand einen funktionierenden Workaround gefunden, 
oder gibt es einen ETA für einen offiziellen Fix?

Danke!

Hi @Hetvi_Shah

Bitte nutze stattdessen diesen Community-Node, um den Thinking-Modus zu deaktivieren

https://www.npmjs.com/package/n8n-nodes-deepseek-v4

Hinweis: Du kannst diesen Node nur auf selbst gehosteten n8n-Instanzen installieren. Unverrifizierte Community-Nodes sind auf n8n Cloud nicht verfügbar.

Dies passiert normalerweise in der Tool-Call-Schleife, nicht in der ersten Modellanfrage.

Die zu überprüfende Sequenz ist:

  1. Die erste DeepSeek-Antwort enthält tool_calls plus reasoning_content.
  2. n8n führt das Tool aus.
  3. Die nächste Modellanfrage muss die Assistentennachricht mit der providerspezifischen Reasoning-Payload replizieren.

Wenn Schritt 3 reasoning_content verwirft, lehnt DeepSeek Thinking Mode die Folgeanfrage mit dem angezeigten 400er-Fehler ab. Das Deaktivieren des Thinking Mode kann eine vorübergehende Lösung sein, aber die echte Lösung besteht darin, dass der Adapter/Node Reasoning-Payloads über Tool-Calls hinweg bewahrt und repliziert.

Zum Debuggen erfassen Sie sowohl die rohe erste Antwort als auch den nächsten ausgehenden Request Body. Wenn die erste Reasoning-Content enthält und die zweite nicht, liegt der Bug in der Brücke zwischen Tool-Ausführung und dem nächsten chat-completions-Aufruf.

Verwandter Checkliste:
https://inferflow.hashnode.dev/deepseek-reasoning-content-and-openai-compatible-sse-debugging

Willkommen @Hetvi_Shah!

Dies ist ein bekanntes Problem, das das n8n-Team nachverfolgt. Die vorübergehende Lösung besteht darin, den Community-Node n8n-nodes-deepseek-v4 zu installieren (Einstellungen > Community Nodes, nur für Self-Hosted) und den Thinking Mode in den Node-Einstellungen zu deaktivieren – dies verhindert, dass das Feld reasoning_content generiert wird und vermeidet den 400-Fehler vollständig. Für Cloud-Nutzer ist derzeit die einzige Option, DeepSeek Reasoner als Basismodell für Tool-fähige Agenten zu vermeiden, bis der offizielle Fix bereitgestellt wird. Du kannst den Fortschritt des Fixes in den GitHub-Issues verfolgen, die du bereits verlinkt hast.

Willkommen @Hetvi_Shah!

Guter Issue-Report mit den GitHub-Links. Für einen praktischen Workaround in der Produktion jetzt: Wechsle das Modell zu deepseek-chat (nicht die Reasoner-Varianten). Das deepseek-chat-Modell enthält kein reasoning_content in seiner Response, also gibt es nichts zu entfernen und die Tool-Call-Schleife funktioniert ohne die 400. Du verlierst den Chain-of-Thought-Vorteil, gewinnst aber eine stabile Tool-Ausführung. Wenn du speziell den Reasoning-Modus brauchst, ist der einzige funktionale Weg im Moment über den n8n-nodes-deepseek-v4 Community-Node auf Self-Hosted, der einen Toggle zum Deaktivieren des Thinking-Modus pro Vorschlag von @kjooleng beinhaltet.

Willkommen zurück @Hetvi_Shah :waving_hand:

Eine kurze Nachverfolgung meiner vorherigen Antworten mit einem robusteren Workaround, der DeepSeek weiterhin als AI Agent Chat Model mit Tools nutzt.

Ich habe gerade einen neuen Self-Host Community Node namens n8n-nodes-deepseek-chat-model veröffentlicht, der eine DeepSeek Chat Model (Corrected) Variante bereitstellt, die speziell darauf abgestimmt ist, den Fehler reasoning_content in Tool-Call-Schleifen zu vermeiden:

Anstatt sich auf Thinking Mode zu verlassen und dann mit dem Payload zu kämpfen, ermöglicht dir dieser Node, DeepSeek im Non-Thinking-Modus so zu betreiben, dass es schön mit dem Tool-Calling-Flow des AI Agent zusammenspielt, sodass du nicht mehr sieht:

The reasoning_content in the thinking mode must be passed back to the API.

So verwendest du es (nur Self-Host)

  • Gehe zu Settings → Community Nodes in deinem Self-Hosted n8n

  • Klicke auf Install und füge ein: n8n-nodes-deepseek-chat-model

  • Nach der Installation startest du deinen n8n Container neu, damit der Node überall verfügbar ist (besonders im Queue-Modus)

  • Im AI Agent Node deines Workflows stellst du das Chat Model auf DeepSeek Chat Model (Corrected) ein

  • Schalte Thinking Mode aus in den Einstellungen dieses Nodes

  • Halte deine Tools wie üblich konfiguriert und führe den Agent aus

Mit diesem Setup läuft DeepSeek sauber mit Tools über den AI Agent, und das Feld reasoning_content wird niemals emittiert, sodass der 400 Fehler verschwindet, ohne dass du eine benutzerdefinierte HTTP-Brücke brauchst.

Für n8n Cloud ist dies immer noch nicht nutzbar (Community Node, nur Self-Host), aber für jeden, der bei Self-Host durch dieses Problem blockiert war, sollte dies ein praktischer Weg sein, DeepSeek + Tools in die Produktion zu bringen, während das Core Team an einer First-Party-Lösung arbeitet.

Danke für deinen Beitrag, ich hatte das gleiche Problem, habe den Knoten verwendet, den du erstellt hast, und konnte es lösen.

Ich bin interessiert darin, zu lernen, wie ich meine eigenen Knoten erstellen kann. Hast du eine Empfehlung, um damit anzufangen, sie zu entwickeln? Danke!

@EzeMorales Freut mich, dass dir der Node geholfen hat! Der beste Einstiegspunkt zum Erstellen eigener Nodes ist das n8n Community Node Starter Kit auf GitHub (suche nach „n8n-nodes-starter

Wir verfolgen dies intern als AI-2422, um das zu lösen.

Der beste Weg ist, den Prozess in der Dokumentation zu befolgen, um die neue CLI-Option zu nutzen, die wir jedem empfehlen, der einen Node erstellen möchte. Das GitHub-Starter-Repository stammt aus diesem CLI-Tool, könnte aber ein paar Versionen älter sein.

Ich habe eine vorübergehende Lösung gefunden, während das n8n-Team dieses Problem (AI-2422) behebt.

Verwende den Knoten ‘OpenRouter Chat Model’ als Modell des KI-Agenten und konfiguriere OpenRouter so, dass Anfragen an ein DeepSeek-Modell wie deepseek-v4-flash weitergeleitet werden.

Wenn du deinen eigenen Provider-API-Schlüssel in OpenRouter über BYOK nutzt, sind die ersten eine Million BYOK-Anfragen pro Monat von der Servicegebühr von OpenRouter befreit.

Mit dieser Konfiguration kann ich DeepSeeks Reasoning-Modus und Tool-Calling-Funktionen in n8n weiterhin nutzen, während das Problem behoben wird.