Créer un agent IA de raisonnement multi-étapes avec GPT-4 et des outils de réutilisabilité de la pensée

Intermédiaire

Ceci est unEngineering, AI Chatbotworkflow d'automatisation du domainecontenant 11 nœuds.Utilise principalement des nœuds comme Agent, ChatTrigger, LmChatOpenAi, ToolWorkflow, ExecuteWorkflowTrigger. Utiliser GPT-4 et des outils de réutilisable de réflexion pour créer des agents d'IA à raisonnement multi-étapes

Prérequis
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "nodes": [
    {
      "id": "97a1c69c-d9b4-44a4-a533-25c1af48b38f",
      "name": "À la réception d'un message de chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -32,
        -96
      ],
      "webhookId": "35e86578-a7fb-4973-9783-9963602c9bb6",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "3a6435c3-636b-4e88-b4be-3fdc7af4f587",
      "name": "Agent IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        208,
        -128
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a very smart assistant.\n\nYou always start by calling the tool \"Initial thoughts\" to plan the way you'll proceed to use the tools X, Y, and Z.\n\nOnce you've executed your initial plan, call the tool \"Additional thoughts\" to check in with the results and decide if you need to further use tools X, Y, and Z or if you're ready to answer the user.\n"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1cdbe2f6-5b78-4c5c-8a76-2ddd2b126543",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        48,
        112
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "dMiSy27YCK6c6rra",
          "name": "Duv's OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "99fb74bf-dae8-4ae4-9f35-ad5c95d5a97d",
      "name": "Mémoire simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        208,
        112
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "74bd5f99-5e02-41b9-961e-7d4654df47a4",
      "name": "Réflexions initiales",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        448,
        224
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "KNxyzmWuqSCK1GUR",
          "cachedResultName": "TEMPLATE - AI agent with multiple thinking tools"
        },
        "description": "Always start your process by calling this tool to write initial thoughts and plan the way you'll go about answering the user query.",
        "workflowInputs": {
          "value": {
            "Thoughts": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Thoughts', `Write initial thoughts very concisely (be token efficient, just list some thoughts) on the best ways to go about the user query.`, 'string') }}"
          },
          "schema": [
            {
              "id": "Thoughts",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Thoughts",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Thoughts"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "81f7dad8-01d4-4f26-be4b-250835f97a6b",
      "name": "Réflexions supplémentaires",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        624,
        224
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "KNxyzmWuqSCK1GUR",
          "cachedResultName": "TEMPLATE - AI agent with multiple thinking tools"
        },
        "description": "Call this tool after having ... to check-in and decide if other steps would be needed before being able to finally answer the user query.",
        "workflowInputs": {
          "value": {
            "Thoughts": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Thoughts', `Write your thoughts very concisely (be token efficient, just list some thoughts) on the best ways to go about the user query.`, 'string') }}"
          },
          "schema": [
            {
              "id": "Thoughts",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Thoughts",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Thoughts"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6912f166-d7a7-441c-92e6-578f3f9a81e5",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        -96
      ],
      "parameters": {
        "width": 480,
        "height": 768,
        "content": "# Advanced Agent Reasoning Framework\n\nThis template demonstrates how to give an AI agent multiple, custom \"thinking\" steps to build more powerful and reliable automations. It bypasses the single **Think Tool** limit by using a reusable sub-workflow.\n\n## How it works\n\nA simple sub-workflow is used as a reusable \"scratchpad.\" We call it multiple times with the **Tool (Workflow)** node, giving each call a unique description to guide the agent's thinking process (e.g., plan first, then reflect later).\n\n## How to use this template\n\nThis template is a foundation. To make it your own:\n\n1.  **Add your action tools:** Connect your own tools (e.g., web search, API calls) to the **AI Agent**. It needs tasks to think about!\n2.  **Customize the thinking:** Edit the `description` of the `Initial thoughts` and `Additional thoughts` tools to make them relevant to your new action tools.\n3.  **Instruct the agent:** Update the **system prompt** of the main **AI Agent** to tell it how to use its new set of thinking and action tools to solve problems.\n4.  **Connect your AI provider** and activate the workflow."
      },
      "typeVersion": 1
    },
    {
      "id": "3dd09d82-c7d3-40e9-bad6-3b64729142e5",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        96
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 240,
        "content": "## Your thinking tools\nFeel free to adjust their prompts, add more, and connect other necessary tools for your workflow."
      },
      "typeVersion": 1
    },
    {
      "id": "7fdd3183-a348-4c1b-b1ee-5ceef90bfc07",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        352
      ],
      "parameters": {
        "color": 7,
        "width": 304,
        "height": 320,
        "content": "## The subworkflow\nThis subworkflow imitates the thinking tool as it accepts a string called \"thought\" as an input."
      },
      "typeVersion": 1
    },
    {
      "id": "3eab469a-d1d3-4da2-be78-c938f85dc943",
      "name": "Sous-workflow de réflexion",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        80,
        512
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "Thoughts"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "96cb61dc-146f-4c34-bec5-6d150d2c2bd7",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        -240
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 240,
        "content": "## The agent\nDon't forget to customise the system prompt to your use case!"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "99fb74bf-dae8-4ae4-9f35-ad5c95d5a97d": {
      "ai_memory": [
        [
          {
            "node": "3a6435c3-636b-4e88-b4be-3fdc7af4f587",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "74bd5f99-5e02-41b9-961e-7d4654df47a4": {
      "ai_tool": [
        [
          {
            "node": "3a6435c3-636b-4e88-b4be-3fdc7af4f587",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "1cdbe2f6-5b78-4c5c-8a76-2ddd2b126543": {
      "ai_languageModel": [
        [
          {
            "node": "3a6435c3-636b-4e88-b4be-3fdc7af4f587",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "81f7dad8-01d4-4f26-be4b-250835f97a6b": {
      "ai_tool": [
        [
          {
            "node": "3a6435c3-636b-4e88-b4be-3fdc7af4f587",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "97a1c69c-d9b4-44a4-a533-25c1af48b38f": {
      "main": [
        [
          {
            "node": "3a6435c3-636b-4e88-b4be-3fdc7af4f587",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Ingénierie, Chatbot IA

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds11
Catégorie2
Types de nœuds7
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Guillaume Duvernay

Guillaume Duvernay

@duv

AI and automation expert

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34