Scrydon

Condition

Créez une logique conditionnelle et des embranchements dans vos workflows

Le bloc Condition vous permet d'embrancer le chemin d'exécution de votre workflow en fonction d'expressions booléennes. Il évalue les conditions et achemine le workflow en conséquence, vous permettant de créer des workflows dynamiques et réactifs avec différents chemins d'exécution.

Condition Block

Les blocs Condition permettent une prise de décision déterministe sans nécessiter de LLM, ce qui les rend idéaux pour les logiques d'embranchement simples.

Vue d'ensemble

Le bloc Condition vous permet de :

Créer une logique d'embranchement : Acheminer les workflows en fonction d'expressions booléennes

Prendre des décisions basées sur les données : Évaluer des conditions à partir des sorties des blocs précédents

Gérer plusieurs scénarios : Définir plusieurs conditions avec des chemins différents

Fournir un acheminement déterministe : Prendre des décisions sans nécessiter de LLM

Fonctionnement

Le bloc Condition fonctionne selon un processus d'évaluation séquentielle :

  1. Évaluer l'expression - Traite l'expression booléenne JavaScript/TypeScript en utilisant les données actuelles du workflow
  2. Déterminer le résultat - Renvoie vrai ou faux en fonction de l'évaluation de l'expression
  3. Acheminer le workflow - Dirige l'exécution vers le bloc de destination approprié en fonction du résultat
  4. Fournir du contexte - Génère des métadonnées sur la décision pour le débogage et la supervision

Options de configuration

Conditions

Définissez une ou plusieurs conditions à évaluer. Chaque condition comprend :

  • Expression : Une expression JavaScript/TypeScript qui s'évalue à vrai ou faux
  • Chemin : Le bloc de destination vers lequel acheminer si la condition est vraie
  • Description : Explication optionnelle de ce que vérifie la condition

Vous pouvez créer plusieurs conditions évaluées dans l'ordre, la première condition correspondante déterminant le chemin d'exécution.

Format des expressions de condition

Les conditions utilisent la syntaxe JavaScript et peuvent référencer des valeurs d'entrée des blocs précédents.

// Check if a score is above a threshold
<agent.score> > 75
// Check if a text contains specific keywords
<agent.text>.includes('urgent') || <agent.text>.includes('emergency')
// Check multiple conditions
<agent.age> >= 18 && <agent.country> === 'US'

Accéder aux résultats

Après l'évaluation d'une condition, vous pouvez accéder à ses sorties :

  • <condition.result> : Résultat booléen de l'évaluation de la condition
  • <condition.matched_condition> : Identifiant de la condition qui a correspondu
  • <condition.content> : Description du résultat de l'évaluation
  • <condition.path> : Détails de la destination d'acheminement choisie

Fonctionnalités avancées

Expressions complexes

Utilisez des opérateurs et fonctions JavaScript dans les conditions :

// String operations
<user.email>.endsWith('@company.com')

// Array operations
<api.tags>.includes('urgent')

// Mathematical operations
<agent.confidence> * 100 > 85

// Date comparisons
new Date(<api.created_at>) > new Date('2024-01-01')

Évaluation de plusieurs conditions

Les conditions sont évaluées dans l'ordre jusqu'à ce qu'une corresponde :

// Condition 1: Check for high priority
<ticket.priority> === 'high'

// Condition 2: Check for urgent keywords
<ticket.subject>.toLowerCase().includes('urgent')

// Condition 3: Default fallback
true

Gestion des erreurs

Les conditions gèrent automatiquement :

  • Les valeurs indéfinies ou nulles avec une évaluation sécurisée
  • Les incompatibilités de types avec des replis appropriés
  • Les expressions invalides avec journalisation des erreurs
  • Les variables manquantes avec des valeurs par défaut

Entrées et sorties

  • Conditions : Tableau d'expressions booléennes à évaluer

  • Expressions : Conditions JavaScript/TypeScript utilisant les sorties des blocs

  • Chemins d'acheminement : Blocs de destination pour chaque résultat de condition

  • condition.result : Résultat booléen de l'évaluation de la condition

  • condition.matched_condition : Identifiant de la condition correspondante

  • condition.content : Description du résultat de l'évaluation

  • condition.path : Détails de la destination d'acheminement choisie

  • Résultat booléen : Résultat principal de l'évaluation de la condition

  • Informations d'acheminement : Sélection du chemin et détails de la condition

  • Accès : Disponible dans les blocs suivant la condition

Exemples d'utilisation

Acheminement du support client

Scénario : Acheminer les tickets de support selon la priorité

  1. Le bloc API récupère les données du ticket de support
  2. La condition vérifie si <api.priority> est égal à 'high'
  3. Tickets haute priorité → Agent avec outils d'escalade
  4. Tickets priorité normale → Agent de support standard

Modération de contenu

Scénario : Filtrer le contenu en fonction des résultats d'analyse

  1. L'agent analyse le contenu généré par les utilisateurs
  2. La condition vérifie si <agent.toxicity_score> > 0,7
  3. Contenu toxique → Workflow de modération
  4. Contenu propre → Workflow de publication

Flux d'intégration des utilisateurs

Scénario : Personnaliser l'intégration selon le type d'utilisateur

  1. Le bloc Fonction traite les données d'inscription de l'utilisateur
  2. La condition vérifie si <user.account_type> === 'enterprise'
  3. Utilisateurs entreprise → Workflow de configuration avancé
  4. Utilisateurs individuels → Workflow d'intégration simplifié

Bonnes pratiques

  • Ordonnez correctement les conditions : Placez les conditions plus spécifiques avant les conditions générales pour garantir que la logique spécifique ait la priorité sur les cas de repli
  • Incluez une condition par défaut : Ajoutez une condition attrape-tout (true) comme dernière condition pour gérer les cas non correspondants et éviter que l'exécution du workflow ne se bloque
  • Gardez les expressions simples : Utilisez des expressions booléennes claires et directes pour une meilleure lisibilité et un débogage facilité
  • Documentez vos conditions : Ajoutez des descriptions pour expliquer le but de chaque condition afin de faciliter la collaboration en équipe et la maintenance
  • Testez les cas limites : Vérifiez que les conditions gèrent correctement les valeurs aux bornes en testant avec des valeurs aux limites de vos plages de condition
Sur cette page

Sur cette page