# Agent IA - Nœud de workflow | Docs - nodulz

Source: https://nodulz.com/fr/docs/nodes/ai_agent

Language: fr

Planifie et exécute des outils

## Utilisation et spécificités

Connectez les composants de modèle, mémoire et outils, ou renseignez la configuration explicite. maxIterations borne les appels d’outils. Les outils à effets externes doivent conserver leurs règles d’approbation.

Type technique : `ai_agent`. Runtime : `nodulz`.

## Exemple guidé

Pour vérifier un premier agent sans action d’écriture externe :

1. Préparez un identifiant de modèle accessible et choisissez un modèle disponible pour ce compte.
2. Reliez le déclencheur manuel à l’agent par les connexions d’exécution. Reliez le composant de modèle au port de modèle de l’agent, ou renseignez sa configuration explicite.
3. Utilisez le payload manuel `{ "question": "Reformule en une phrase : notre réunion est reportée à demain." }`.
4. Renseignez `userPrompt` avec `{{ input.question }}` et `systemPrompt` avec `Réponds en français, en une phrase, sans ajouter de faits.`.
5. Exécutez et vérifiez le texte dans la propriété `text` de la sortie.

Ajoutez ensuite un seul outil de lecture dont vous maîtrisez la cible. Reliez-le au port d’outils, donnez-lui un nom unique et une description précisant quand l’utiliser. Demandez une tâche qui nécessite cette lecture et inspectez la trace pour vérifier l’appel réel. Mentionner un outil dans le prompt ou dans `toolsJson` ne remplace pas sa connexion.

La sortie contient `text`, `steps`, `iterations`, `usage`, `durationMs` et `trace`. Dans une étape suivante, lisez par exemple `{{ nodes.agent1.text }}` en adaptant `agent1` au nom technique réel. Une réponse peut varier entre deux appels : vérifiez surtout les faits, le format et les outils utilisés.

`maxIterations` borne les tours d’agent, `maxTokens` la sortie d’un appel et `maxTotalTokens` l’usage cumulé de cet agent. Les outils appelant d’autres modèles ont leur propre usage. Commencez avec une tâche courte ; augmentez une limite après avoir identifié celle qui bloque.

Pour un outil qui écrit dans un service, configurez l’approbation lorsque nécessaire et vérifiez la [reprise depuis l’historique](/docs/executions#agent-tool-approval). Une mémoire est facultative : ajoutez-la seulement si plusieurs échanges doivent partager leur contexte.

## Identifiants et prérequis

- [Créer et configurer l’identifiant : ai-model](/docs/credentials/ai-model)

Créez l’identifiant dans la rubrique Identifiants de votre instance nodulz, puis sélectionnez-le dans le nœud. Les identifiants disponibles dépendent du propriétaire et du partage. Consultez le [guide des identifiants](/docs/credentials) pour les accès et la rotation.

## Paramètres

Les noms ci-dessous correspondent aux clés techniques. Les valeurs par défaut ne constituent pas une configuration prête à exécuter : renseignez les champs requis par votre opération. Les chemins contenant [] décrivent les éléments d’une liste ; certains champs dépendent du mode sélectionné.

| Paramètre | Type | Par défaut | Valeurs / limites |
| --- | --- | --- | --- |
| `credentialId` | `string` | - | - |
| `model` | `string` | `""` | - |
| `modelNodeId` | `string` | - | - |
| `fallbackModelNodeIds` | `array` | `[]` | - |
| `modelRoutes` | `array` | `[]` | - |
| `modelRoutes[].modelNodeId` | `string` | - | -; min 1 |
| `modelRoutes[].combinator` | `enum` | `"and"` | `and`, `or` |
| `modelRoutes[].conditions` | `array` | - | -; min 1 |
| `modelRoutes[].conditions[].field` | `string` | `""` | - |
| `modelRoutes[].conditions[].operator` | `enum` | `"equals"` | `equals`, `not_equals`, `contains`, `not_contains`, `gt`, `gte`, `lt`, `lte`, `empty`, `not_empty` |
| `modelRoutes[].conditions[].value` | `string` | `""` | - |
| `memoryNodeId` | `string` | - | - |
| `systemPrompt` | `string` | `"You are a helpful AI agent with access to tools."` | - |
| `userPrompt` | `string` | `""` | - |
| `agentMode` | `enum` | `"tools_agent"` | `tools_agent`, `react` |
| `maxIterations` | `number` | `10` | -; ≥ 1, ≤ 50 |
| `maxTokens` | `number` | - | -; ≥ 1 |
| `maxTotalTokens` | `number` | - | -; ≥ 1, ≤ 10000000 |
| `timeoutSeconds` | `number` | - | -; ≥ 1, ≤ 3600 |
| `toolNodeIds` | `array` | `[]` | - |
| `toolsJson` | `string` | `""` | - |
| `temperature` | `number` | - | -; ≥ 0, ≤ 2 |

## Aide de configuration

| Réglage | Rôle et conseils |
| --- | --- |
| `systemPrompt`<br>Rôle et consignes | Précisez le domaine d’expertise, les outils à utiliser, les limites et le format de réponse attendu. |
| `userPrompt`<br>Tâche à accomplir | Accepte les expressions du workflow. Vide : utilise automatiquement l’entrée reçue, y compris lors d’un appel depuis un autre agent. |
| `credentialId`<br>Identifiant | Identifiant requis pour accéder au service externe. |
| `model`<br>Modèle | Identifiant du modèle chez le fournisseur (ex. gpt-4o, claude-3-5-sonnet). |
| `maxTotalTokens`<br>Budget total de tokens | Facultatif. Cumule les tokens d’entrée et de sortie de cet agent. Réserve le contexte avant chaque appel, borne la sortie et bloque la suite si le fournisseur omet l’usage ou dépasse le budget. Les outils appelant d’autres modèles ont leur propre usage. |
| `maxIterations`<br>Nombre maximal de tours | Nombre maximal de tours agent/outils avant arrêt. |
| `maxTokens`<br>Tokens max. | Nombre maximal de tokens de sortie, raisonnement compris pour les modèles concernés. Une réponse tronquée provoque une erreur : augmentez cette limite ou réduisez la demande. |
| `timeoutSeconds`<br>Délai maximal (secondes) | Durée maximale d’un appel au modèle, pièces jointes comprises. De 1 à 3 600 secondes ; 120 par défaut. L’annulation du workflow interrompt aussi l’appel. |
| `temperature`<br>Température | Une valeur basse favorise des réponses régulières. Laissez vide pour utiliser le réglage du fournisseur ; certains modèles ignorent ce paramètre. |
| `toolsJson`<br>Schémas des outils (JSON avancé) | Avancé : tableau JSON qui décrit les outils reliés à cet agent. Utilisez leurs noms exacts et précisez parameters (JSON Schema) pour guider les arguments. Un outil doit être relié pour être exécuté. |

## Configuration initiale

Exemple de configuration initiale du catalogue, à adapter avant exécution. Les secrets doivent rester dans les identifiants.

```json
{
  "model": "",
  "fallbackModelNodeIds": [],
  "modelRoutes": [],
  "systemPrompt": "You are a helpful AI agent with access to tools.",
  "userPrompt": "",
  "agentMode": "tools_agent",
  "maxIterations": 10,
  "toolNodeIds": [],
  "toolsJson": ""
}
```

## Vérification

Vérifiez d’abord une réponse sans outil, puis une demande qui exige l’outil de lecture configuré. Comparez le texte à la sortie réelle de l’outil et inspectez `steps`, `trace` et `usage`. Testez aussi une donnée manquante et un refus d’approbation avant toute action d’écriture en production. Un texte affirmant qu’une action a eu lieu ne prouve pas son exécution.

Voir aussi : [Expressions et données](/docs/expressions), [Exécutions](/docs/executions), [Catalogue des nœuds](/docs/nodes).

## Pour aller plus loin

- [Fonctionnalités - nodulz](https://nodulz.com/fr/product/overview)
- [Catalogue des nœuds - nodulz](https://nodulz.com/fr/product/catalog)
- [Serveur MCP - nodulz](https://nodulz.com/fr/product/mcp)
- [Tarifs - nodulz](https://nodulz.com/fr/pricing)
- [Cas d’usage et automatisations - nodulz](https://nodulz.com/fr/use-cases)
- [Choisissez ce que vos workflows peuvent faire. - nodulz](https://nodulz.com/fr/compare)
- [Documentation - nodulz](https://nodulz.com/fr/docs)
