UiPath Documentation
getting-started
latest
false
Guide de démarrage du développeur
  • Vue d'ensemble (Overview)
    • Vue d'ensemble (Overview)
  • Commencer avec les agents UiPath
    • Introduction
    • Configurer votre environnement
    • Créer l'agent
    • Testez l'agent
  • Premiers pas avec les agents UiPath utilisant LangGraph
  • Créer un agent low-code dans Studio Web
  • Ajouter des outils à votre agent UiPath
Important :
Ce contenu a été traduit à l'aide d'une traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Créer l'agent

Définissez le contrat de l'agent, rédigez l'invite système et configurez les schémas d'entrée et de sortie dans agent.json.

Une fois la CLI installée et votre compte UiPath connecté, vous êtes prêt à élaborer l’agent.

Étape 4 - Élaborer la solution et l’agent

Les agents low-code résident dans une solution, l'unité déployable que la CLI télécharge vers Studio Web. Vous créez d'abord la solution, puis élaborez l'agent à l'intérieur.

  1. Créez un répertoire de travail et élaborationz la solution:

    mkdir Monster-Selector-Lab
    cd Monster-Selector-Lab
    uip solution init MonsterSelector
    mkdir Monster-Selector-Lab
    cd Monster-Selector-Lab
    uip solution init MonsterSelector
    

    Cela crée un répertoire MonsterSelector/ contenant MonsterSelector.uipx (le manifeste de la solution), plus AGENTS.md et CLAUDE.md fichiers d’information qui orientent les agents de codage vers la structure de la solution.

  2. Élaborez le projet d’agent dans le répertoire de la solution:

    uip agent init MonsterSelector/MonsterSelector
    uip agent init MonsterSelector/MonsterSelector
    

    uip agent init <path> crée le projet d'agent au chemin donné et l'enregistre automatiquement avec la solution. Il génère agent.json (l'invite système, les schémas et les paramètres du modèle), entry-points.json, un élaboration evals/ vide et un ID de projet généré automatiquement.

  3. Déplacez-vous dans le répertoire de la solution pour les étapes restantes:

    cd MonsterSelector
    cd MonsterSelector
    
Remarque :

Deux répertoires nommés Monitor. Votre répertoire lab contient désormais MonsterSelector/ (la solution) qui contient à son tour un autre MonsterSelector/ (le projet d’agent). C'est normal: la solution et le projet d'agent peuvent partager un nom. Pendant que vous suivez les étapes suivantes, faites attention au répertoire dans lequel vous vous trouvez. L'étape 4 se termine par vous dans le répertoire de la solution (Monster-Selector-Lab/MonsterSelector/).


Étape 5 - Configurer l'agent

La configuration de l’agent est définie par les fichiers agent.json et entry-points.json . Vous les modifiez directement pour mettre en œuvre la conception depuis le début de ce lab, en remplaçant le contenu de l'espace réservé généré par l'élaboration.

Configurer agent.json

Pour remplacer l'élaboration, ouvrez MonsterSelector/agent.json (par rapport au répertoire de solution dans lequel vous vous trouvez). Remplacez l’intégralité de son contenu par les éléments suivants. La seule exception est la valeur projectId de la dernière ligne; conservez l'UUID généré par votre élaboration plutôt que d'utiliser l'espace réservé indiqué ici.

Le fichier JSON ci-dessous implémente la conception de ce que vous construisez:

  1. Schéma d’entrée: questDescription et monsters , tous deux requis.
  2. Schéma de sortie: monsterIndex .
  3. Requête système: le texte d'instruction dans messages[0] (le rôle system ) qui indique au modèle comment raisonner.
  4. Rotation de l’utilisateur: le message dans messages[1] (le rôle user ) qui transporte questDescription et monsters dans l’invite au moment de l’exécution: il s’agit du tour de la conversation LLM, et non d’un utilisateur final humain.
{
  "version": "1.1.0",
  "settings": {
    "model": "gpt-4.1-2025-04-14",
    "maxTokens": 16384,
    "temperature": 0,
    "engine": "basic-v2",
    "maxIterations": 25,
    "mode": "standard"
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "questDescription": {
        "type": "string",
        "description": "Description of the quest"
      },
      "monsters": {
        "type": "array",
        "description": "Candidate monsters from the D&D 5e API"
      }
    },
    "required": ["questDescription", "monsters"]
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "monsterIndex": {
        "type": "string",
        "description": "The index slug of the chosen monster"
      }
    }
  },
  "metadata": {
    "storageVersion": "50.0.0",
    "isConversational": false,
    "showProjectCreationExperience": false,
    "targetRuntime": "pythonAgent"
  },
  "type": "lowCode",
  "messages": [
    {
      "role": "system",
      "content": "You are an RPG game master helping to select the most thematically appropriate monster for a quest. Given a quest description and a list of candidate monsters (each with a name and an index slug), pick the ONE monster whose lore, environment, or threat level best fits the quest. Return ONLY the index slug of your chosen monster. Do not return the full object or any commentary - just the string slug. If multiple candidates fit, favor the most iconic or thematically resonant choice.",
      "contentTokens": [
        {
          "type": "simpleText",
          "rawString": "You are an RPG game master helping to select the most thematically appropriate monster for a quest. Given a quest description and a list of candidate monsters (each with a name and an index slug), pick the ONE monster whose lore, environment, or threat level best fits the quest. Return ONLY the index slug of your chosen monster. Do not return the full object or any commentary - just the string slug. If multiple candidates fit, favor the most iconic or thematically resonant choice."
        }
      ]
    },
    {
      "role": "user",
      "content": "{{input.questDescription}} {{input.monsters}}",
      "contentTokens": [
        { "type": "variable", "rawString": "input.questDescription" },
        { "type": "simpleText", "rawString": " " },
        { "type": "variable", "rawString": "input.monsters" }
      ]
    }
  ],
  "projectId": "your-scaffold-generated-uuid-here"
}
{
  "version": "1.1.0",
  "settings": {
    "model": "gpt-4.1-2025-04-14",
    "maxTokens": 16384,
    "temperature": 0,
    "engine": "basic-v2",
    "maxIterations": 25,
    "mode": "standard"
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "questDescription": {
        "type": "string",
        "description": "Description of the quest"
      },
      "monsters": {
        "type": "array",
        "description": "Candidate monsters from the D&D 5e API"
      }
    },
    "required": ["questDescription", "monsters"]
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "monsterIndex": {
        "type": "string",
        "description": "The index slug of the chosen monster"
      }
    }
  },
  "metadata": {
    "storageVersion": "50.0.0",
    "isConversational": false,
    "showProjectCreationExperience": false,
    "targetRuntime": "pythonAgent"
  },
  "type": "lowCode",
  "messages": [
    {
      "role": "system",
      "content": "You are an RPG game master helping to select the most thematically appropriate monster for a quest. Given a quest description and a list of candidate monsters (each with a name and an index slug), pick the ONE monster whose lore, environment, or threat level best fits the quest. Return ONLY the index slug of your chosen monster. Do not return the full object or any commentary - just the string slug. If multiple candidates fit, favor the most iconic or thematically resonant choice.",
      "contentTokens": [
        {
          "type": "simpleText",
          "rawString": "You are an RPG game master helping to select the most thematically appropriate monster for a quest. Given a quest description and a list of candidate monsters (each with a name and an index slug), pick the ONE monster whose lore, environment, or threat level best fits the quest. Return ONLY the index slug of your chosen monster. Do not return the full object or any commentary - just the string slug. If multiple candidates fit, favor the most iconic or thematically resonant choice."
        }
      ]
    },
    {
      "role": "user",
      "content": "{{input.questDescription}} {{input.monsters}}",
      "contentTokens": [
        { "type": "variable", "rawString": "input.questDescription" },
        { "type": "simpleText", "rawString": " " },
        { "type": "variable", "rawString": "input.monsters" }
      ]
    }
  ],
  "projectId": "your-scaffold-generated-uuid-here"
}
Remarque :

temperature: 0. réduit la variance de sortie, mais ne rend pas le modèle entièrement déterministe. Même à 0, le modèle peut parfois renvoyer des sorties valides différentes entre les exécutions. Pour cet agent, toute sélection de « personnalisé» est correcte; la reproductibilité exacte des chaînes n’est pas l’objectif.

Configurer input-points.json

Ouvrez MonsterSelector/entry-points.json et remplacez l'intégralité de son contenu par les éléments suivants. Encore une fois, conservez la valeur uniqueId générée par votre élaboration plutôt que d'utiliser l'espace réservé.

Le JSON ci-dessous définit un point d'entrée agent unique, que vous appelez dans les étapes ci-dessous. Une solution peut exposer plusieurs points d'entrée (par exemple, une variante simple et une variante à entrée étendue du même agent), mais un seul est tout ce dont nous avons besoin ici.

{
  "$schema": "https://cloud.uipath.com/draft/2024-12/entry-point",
  "$id": "entry-points.json",
  "entryPoints": [
    {
      "filePath": "/content/agent.json",
      "uniqueId": "your-scaffold-generated-uuid-here",
      "type": "agent",
      "input": {
        "type": "object",
        "properties": {
          "questDescription": {
            "type": "string",
            "description": "Description of the quest"
          },
          "monsters": {
            "type": "array",
            "description": "Candidate monsters from the D&D 5e API"
          }
        },
        "required": ["questDescription", "monsters"]
      },
      "output": {
        "type": "object",
        "properties": {
          "monsterIndex": {
            "type": "string",
            "description": "The index slug of the chosen monster"
          }
        }
      }
    }
  ]
}
{
  "$schema": "https://cloud.uipath.com/draft/2024-12/entry-point",
  "$id": "entry-points.json",
  "entryPoints": [
    {
      "filePath": "/content/agent.json",
      "uniqueId": "your-scaffold-generated-uuid-here",
      "type": "agent",
      "input": {
        "type": "object",
        "properties": {
          "questDescription": {
            "type": "string",
            "description": "Description of the quest"
          },
          "monsters": {
            "type": "array",
            "description": "Candidate monsters from the D&D 5e API"
          }
        },
        "required": ["questDescription", "monsters"]
      },
      "output": {
        "type": "object",
        "properties": {
          "monsterIndex": {
            "type": "string",
            "description": "The index slug of the chosen monster"
          }
        }
      }
    }
  ]
}

Comprendre agent.json et input-points.json

  • agent.json est la définition de l'agent: les paramètres du modèle, l'invite système et les schémas d'entrée et de sortie.
  • entry-points.json expose ces schémas au runtime de la solution.
  • Attention: les blocs inputSchema et outputSchema doivent être identiques dans les deux fichiers. Une incompatibilité entraîne l’échec de la validation.

S’adapte à votre cas d’utilisation. Pour créer un autre agent, remplacez les chaînes content dans messages[0] par votre invite système et mettez à jour les blocs properties dans inputSchema et outputSchema pour qu'ils correspondent aux champs auxquels votre invite fait référence. Implémentez ces mêmes modifications dans entry-points.json. Les paramètres settings, metadata, type et de structure de message restent inchangés.


Étape 6 - Validez l’agent

Dans le répertoire de la solution, validez l’agent:

uip agent validate MonsterSelector
uip agent validate MonsterSelector

Vous devriez voir "Status": "Valid" avec "StorageVersion": "50.0.0" et un résumé "Validated" montrant agent: true. La validation génère également les fichiers .agent-builder/ utilisés par Studio Web; vous n'avez pas besoin d'y remédier.

Si la validation échoue, confirmez que inputSchema et outputSchema sont identiques dans agent.json et entry-points.json, et que chaque variable référencée dans messages[1].content utilise le préfixe input. (par exemple, {{input.questDescription}}).


Une fois l'agent validé localement, vous êtes prêt à le télécharger sur Studio Web et à exécuter un test en direct dans la section suivante.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour