> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sorties

> Définissez des schémas JSON pour structurer les réponses des agents de manière cohérente

Les Sorties structurées vous permettent de définir des schémas JSON que vos agents IA doivent suivre lors de leurs réponses. Cela garantit des réponses cohérentes et lisibles par une machine, faciles à intégrer avec d'autres systèmes, API ou workflows automatisés.

## Présentation

Les Sorties structurées vous permettent de :

* **Définir le format des réponses** — Créer des schémas JSON personnalisés pour les réponses des agents
* **Garantir la cohérence** — Assurer que les agents retournent toujours les données dans la même structure
* **Faciliter l'intégration** — Rendre les réponses facilement exploitables par d'autres systèmes
* **Améliorer l'analyse** — Éliminer la nécessité d'un analyse de texte complexe

## Fonctionnement

### 1. Créer un schéma JSON

Définissez la structure que votre agent doit suivre :

* **Champs** — Spécifiez les champs obligatoires et facultatifs
* **Types de données** — Définissez les types (string, number, boolean, array, object)
* **Structures imbriquées** — Créez des objets JSON imbriqués complexes
* **Exemples** — Fournissez des exemples de valeurs pour plus de clarté

### 2. Assigner à un agent

Sélectionnez le schéma de sortie structurée pour votre agent :

* **Onglet Général** — Choisissez parmi les sorties structurées disponibles
* **Par agent** — Chaque agent peut utiliser un schéma différent
* **Sélection dynamique** — Modifiez les schémas selon vos besoins

### 3. Réponse de l'agent

Lorsque la fonctionnalité est activée, l'agent :

* **Formate en JSON** — Retourne les réponses dans la structure JSON spécifiée
* **Suit le schéma** — Inclut tous les champs obligatoires
* **Maintient la structure** — Préserve les objets et tableaux imbriqués
* **Valide le format** — S'assure que les réponses correspondent au schéma

## Créer des sorties structurées

### Étape 1 : Accéder à l'onglet de sortie

1. Naviguez vers **Agents** dans la barre latérale
2. Sélectionnez un agent ou créez-en un nouveau
3. Cliquez sur **Modifier** pour ouvrir le constructeur d'agent
4. Accédez à l'onglet **Output**

### Étape 2 : Créer un nouveau schéma

1. Cliquez sur le bouton **Créer un nouveau**
2. Saisissez un titre descriptif pour votre sortie structurée
3. Utilisez le constructeur JSON pour définir votre schéma

### Étape 3 : Définir la structure du schéma

Utilisez le constructeur JSON visuel pour créer votre schéma :

#### Structure de base

```json theme={null}
{
  "status": "string",
  "message": "string",
  "data": {
    "result": "string"
  }
}
```

#### Avec des tableaux

```json theme={null}
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "value": "number"
    }
  ],
  "total": "number"
}
```

#### Structure complexe imbriquée

```json theme={null}
{
  "response": {
    "summary": "string",
    "details": {
      "category": "string",
      "subcategory": "string",
      "metadata": {
        "created_at": "string",
        "updated_at": "string"
      }
    },
    "items": [
      {
        "id": "string",
        "properties": {
          "name": "string",
          "value": "number"
        }
      }
    ]
  }
}
```

### Étape 4 : Enregistrer le schéma

1. Cliquez sur **Enregistrer** pour sauvegarder votre sortie structurée
2. Le schéma est désormais utilisable dans les agents

## Assigner aux agents

### Méthode 1 : Depuis l'onglet Général

1. Ouvrez l'agent que vous souhaitez configurer
2. Accédez à l'onglet **Général**
3. Recherchez la section **Format de réponse**
4. Sélectionnez votre sortie structurée dans le menu déroulant
5. Enregistrez l'agent

### Méthode 2 : Depuis l'onglet Output

1. Ouvrez l'agent que vous souhaitez configurer
2. Accédez à l'onglet **Output**
3. Sélectionnez une sortie structurée dans la liste
4. L'agent utilisera ce schéma pour toutes ses réponses

## Cas d'utilisation

### Intégration API

**Scénario :** Vous avez besoin que les réponses de l'agent soient dans un format exploitable par votre API.

**Exemple de schéma :**

```json theme={null}
{
  "status": "success",
  "code": 200,
  "data": {
    "result": "string",
    "timestamp": "string"
  }
}
```

**Réponse de l'agent :**

```json theme={null}
{
  "status": "success",
  "code": 200,
  "data": {
    "result": "Task completed successfully",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}
```

### Extraction de données

**Scénario :** Extraire des données structurées à partir de texte non structuré.

**Exemple de schéma :**

```json theme={null}
{
  "entities": [
    {
      "type": "string",
      "value": "string",
      "confidence": "number"
    }
  ],
  "summary": "string"
}
```

**Réponse de l'agent :**

```json theme={null}
{
  "entities": [
    {
      "type": "person",
      "value": "John Doe",
      "confidence": 0.95
    },
    {
      "type": "company",
      "value": "TechCorp",
      "confidence": 0.88
    }
  ],
  "summary": "Extracted 2 entities from the text"
}
```

### Rapports formatés

**Scénario :** Générer des structures de rapports cohérentes.

**Exemple de schéma :**

```json theme={null}
{
  "report": {
    "title": "string",
    "date": "string",
    "sections": [
      {
        "heading": "string",
        "content": "string",
        "metrics": {
          "value": "number",
          "unit": "string"
        }
      }
    ],
    "summary": "string"
  }
}
```

### Automatisation de workflows

**Scénario :** Structurer les réponses pour le traitement automatisé des workflows.

**Exemple de schéma :**

```json theme={null}
{
  "action": "string",
  "parameters": {
    "key": "value"
  },
  "next_step": "string",
  "metadata": {
    "workflow_id": "string",
    "step_number": "number"
  }
}
```

## Bonnes pratiques

### Conception de schéma

1. **Soyez précis** — Définissez clairement tous les champs et leurs types
2. **Utilisez des exemples** — Incluez des exemples de valeurs dans votre schéma
3. **Restez simple** — Évitez les structures imbriquées trop complexes lorsque c'est possible
4. **Documentez les champs** — Utilisez des noms de champs descriptifs
5. **Considérez les champs facultatifs** — Marquez les champs comme facultatifs lorsque c'est approprié

### Dénomination des champs

* **Utilisez des noms clairs** — `user_name` plutôt que `un`
* **Soyez cohérent** — Suivez une convention de nommage (snake\_case, camelCase)
* **Évitez les abréviations** — Utilisez des mots complets lorsque c'est possible
* **Groupez les champs liés** — Utilisez des objets imbriqués pour les données apparentées

### Structure du schéma

* **À plat lorsque c'est possible** — Privilégiez les structures plates pour les données simples
* **Imbriquez pour l'organisation** — Utilisez l'imbrication pour les données complexes et liées
* **Tableaux pour les listes** — Utilisez des tableaux pour les collections d'éléments similaires
* **Objets pour les groupes** — Utilisez des objets pour regrouper les champs liés

### Tests

1. **Testez avec des requêtes réelles** — Vérifiez que le schéma fonctionne avec des questions d'utilisateurs réelles
2. **Vérifiez tous les champs** — Assurez-vous que tous les champs obligatoires sont remplis
3. **Validez les types** — Confirmez que les types de données correspondent au schéma
4. **Gérez les cas limites** — Testez avec des données inhabituelles ou manquantes

## Gestion des sorties structurées

### Afficher tous les schémas

Dans l'onglet **Output**, vous pouvez :

* **Lister tous les schémas** — Voir toutes les sorties structurées de votre projet
* **Rechercher** — Trouver des schémas par nom
* **Trier** — Trier par date de création ou par titre
* **Voir les détails** — Consulter la structure et les métadonnées du schéma

### Modifier des schémas

1. Cliquez sur un schéma dans la liste
2. Modifiez la structure JSON à l'aide du constructeur visuel
3. Cliquez sur **Enregistrer** pour mettre à jour le schéma
4. Les modifications s'appliquent à tous les agents utilisant ce schéma

### Supprimer des schémas

1. Recherchez le schéma dans la liste
2. Cliquez sur l'icône **Supprimer**
3. Confirmez la suppression
4. Les agents utilisant ce schéma reviendront à des réponses en texte libre

<Warning>
  La suppression d'une sortie structurée affectera tous les agents qui l'utilisent
  actuellement. Assurez-vous de mettre à jour ces agents avant de procéder à la
  suppression.
</Warning>

## Format des réponses

### Réponse normale (par défaut)

Lorsqu'aucune sortie structurée n'est sélectionnée, les agents retournent du texte libre :

```
The user requested information about project status.
The project is currently in progress with 75% completion.
All milestones are on track.
```

### Réponse structurée

Lorsqu'une sortie structurée est sélectionnée, les agents retournent du JSON :

```json theme={null}
{
  "status": "in_progress",
  "completion_percentage": 75,
  "milestones": [
    {
      "name": "Phase 1",
      "status": "completed"
    },
    {
      "name": "Phase 2",
      "status": "in_progress"
    }
  ],
  "on_track": true
}
```

## Intégration avec le prompt système

Lorsqu'une sortie structurée est assignée à un agent :

1. **Schéma inclus** — Le schéma JSON est ajouté au prompt système
2. **Instructions de format** — L'agent reçoit des instructions de formatage explicites
3. **Exemple fourni** — Le schéma sert d'exemple de format
4. **Validation** — L'agent tente de reproduire la structure exacte

## Fonctionnalités avancées

### Valeurs de champs dynamiques

Les schémas peuvent inclure des champs qui s'adaptent à la réponse :

```json theme={null}
{
  "response_type": "string",
  "content": {
    "text": "string",
    "metadata": {}
  }
}
```

### Structures conditionnelles

Utilisez différents schémas pour différents types de réponses :

```json theme={null}
{
  "type": "success|error|warning",
  "message": "string",
  "data": {} // Structure varies by type
}
```

### Réponses avec tableaux

Gérez plusieurs éléments dans les réponses :

```json theme={null}
{
  "count": "number",
  "items": [
    {
      "id": "string",
      "data": {}
    }
  ]
}
```

## Dépannage

### L'agent ne suit pas le schéma

**Causes possibles :**

* Le schéma n'est pas assigné à l'agent
* La structure du schéma est trop complexe
* L'agent a besoin d'instructions plus claires

**Solutions :**

* Vérifiez que la sortie structurée est sélectionnée dans l'onglet Général
* Simplifiez la structure du schéma
* Ajoutez des descriptions de champs plus explicites
* Testez d'abord avec des requêtes plus simples

### Réponses JSON invalides

**Causes possibles :**

* Le schéma contient des erreurs de syntaxe
* L'agent éprouve des difficultés avec la structure complexe
* Des champs obligatoires sont manquants

**Solutions :**

* Validez la syntaxe du schéma dans le constructeur JSON
* Vérifiez les erreurs de validation JSON
* Simplifiez le schéma s'il est trop complexe
* Examinez les réponses de l'agent pour détecter des erreurs d'analyse

### Champs manquants

**Causes possibles :**

* Les champs ne sont pas clairement définis
* L'agent ne comprend pas les exigences des champs
* Le schéma est trop vague

**Solutions :**

* Ajoutez des descriptions de champs claires
* Fournissez des exemples de valeurs dans le schéma
* Rendez les champs facultatifs s'ils ne sont pas toujours disponibles
* Testez avec des requêtes spécifiques

## Exemples

### Exemple 1 : Réponse du support client

**Schéma :**

```json theme={null}
{
  "ticket_id": "string",
  "status": "open|resolved|pending",
  "response": "string",
  "next_actions": ["string"],
  "priority": "low|medium|high|urgent"
}
```

**Réponse de l'agent :**

```json theme={null}
{
  "ticket_id": "TKT-12345",
  "status": "resolved",
  "response": "Your issue has been resolved. The problem was related to account permissions.",
  "next_actions": ["Refresh your browser", "Log out and log back in"],
  "priority": "medium"
}
```

### Exemple 2 : Réponse d'analyse de données

**Schéma :**

```json theme={null}
{
  "analysis": {
    "summary": "string",
    "findings": [
      {
        "category": "string",
        "insight": "string",
        "confidence": "number"
      }
    ],
    "recommendations": ["string"]
  },
  "data_points": "number"
}
```

**Réponse de l'agent :**

```json theme={null}
{
  "analysis": {
    "summary": "Sales data shows 15% increase in Q4",
    "findings": [
      {
        "category": "revenue",
        "insight": "Revenue increased by 15% compared to Q3",
        "confidence": 0.95
      },
      {
        "category": "customers",
        "insight": "New customer acquisition up 20%",
        "confidence": 0.88
      }
    ],
    "recommendations": [
      "Continue current marketing strategy",
      "Focus on customer retention"
    ]
  },
  "data_points": 1250
}
```

### Exemple 3 : Réponse de gestion des tâches

**Schéma :**

```json theme={null}
{
  "task": {
    "id": "string",
    "title": "string",
    "status": "todo|in_progress|completed",
    "assignee": "string",
    "due_date": "string",
    "description": "string"
  },
  "related_tasks": [
    {
      "id": "string",
      "title": "string"
    }
  ]
}
```

## Permissions

### Création de sorties structurées

* **Administrateur du projet** — Peut créer, modifier et supprimer des sorties structurées
* **Membre du projet** — Dépend des permissions du projet (flows.edit)
* **Observateur** — Peut consulter mais pas modifier les sorties structurées

### Utilisation dans les agents

* **Propriétaire de l'agent** — Peut assigner des sorties structurées à ses agents
* **Administrateur du projet** — Peut assigner à n'importe quel agent du projet
* **Membre du projet** — Peut assigner aux agents auxquels il a accès

## Fonctionnalités associées

* **Configuration de l'agent** — Configurez la personnalité et le comportement de l'agent
* **Outils** — Utilisez des outils qui retournent des données structurées
* **Intégration API** — Intégrez les réponses structurées avec des API externes
* **Workflows** — Utilisez les sorties structurées dans des workflows automatisés

<Card title="Configuration de l'agent" icon="settings" href="/fr/agents/agents">
  Découvrez comment configurer vos agents
</Card>

## Support

Besoin d'aide avec les sorties structurées ? Contactez le support à [support@automationanywhere.com](mailto:support@automationanywhere.com).
