Sim

Condition

Le bloc Condition vous permet de ramifier le chemin d'exécution de votre flux de travail en fonction d'expressions booléennes, vous permettant ainsi de créer des flux de travail dynamiques et réactifs avec différents chemins d'exécution. Il évalue les conditions et achemine le flux de travail en conséquence, vous permettant de contrÎler le flux d'exécution en fonction des données ou de la logique sans nécessiter un LLM.

Bloc Condition

Les blocs Condition permettent une prise de décision déterministe sans nécessiter un LLM, ce qui les rend idéaux pour une logique de branchement simple.

Aperçu

Le bloc Condition vous permet de :

Créer une logique de branchement : acheminer les flux de travail en fonction d'expressions booléennes

Prendre des décisions basées sur les données : évaluer les conditions en utilisant les sorties des blocs précédents

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

Fournir un routage déterministe : prendre des décisions sans nécessiter un LLM

Comment ça fonctionne

Le bloc Condition fonctionne par un processus d'évaluation séquentiel :

  1. Évaluation de l'expression - Traite l'expression boolĂ©enne JavaScript/TypeScript en utilisant les donnĂ©es actuelles du flux de travail
  2. Détermination du résultat - Renvoie vrai ou faux en fonction de l'évaluation de l'expression
  3. Acheminement du flux de travail - Dirige l'exécution vers le bloc de destination approprié en fonction du résultat
  4. Fourniture de contexte - GénÚre des métadonnées sur la décision pour le débogage et la surveillance

Options de configuration

Conditions

Définissez une ou plusieurs conditions qui seront évaluées. 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 qui sont évaluées dans l'ordre, la premiÚre condition correspondante déterminant le chemin d'exécution.

Format d'expression de condition

Les conditions utilisent la syntaxe JavaScript et peuvent référencer des valeurs d'entrée provenant 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Ús 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 Ă©tĂ© satisfaite
  • <condition.content> : description du rĂ©sultat de l'Ă©valuation
  • <condition.path> : dĂ©tails de la destination de routage choisie

Fonctionnalités avancées

Expressions complexes

Utilisez des opérateurs et des 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 conditions multiples

Les conditions sont évaluées dans l'ordre jusqu'à ce qu'une correspondance soit trouvée :

// 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 solutions de repli appropriĂ©es
  • 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 de blocs

  • Chemins de routage : blocs de destination pour chaque rĂ©sultat de condition

  • condition.result : rĂ©sultat boolĂ©en de l'Ă©valuation de condition

  • condition.matched_condition : identifiant de la condition correspondante

  • condition.content : description du rĂ©sultat d'Ă©valuation

  • condition.path : dĂ©tails de la destination de routage choisie

  • RĂ©sultat boolĂ©en : rĂ©sultat principal de l'Ă©valuation de condition

  • Informations de routage : sĂ©lection de chemin et dĂ©tails de condition

  • AccĂšs : disponible dans les blocs aprĂšs la condition

Exemples de cas d'utilisation

Routage du support client

Scénario : acheminer les tickets de support selon leur priorité

  1. Le bloc API récupÚre les données des tickets 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 selon les résultats d'analyse

  1. L'agent analyse le contenu généré par l'utilisateur
  2. La condition vérifie si <agent.toxicity_score> > 0,7
  3. Contenu toxique → Processus de modĂ©ration
  4. Contenu appropriĂ© → Processus de publication

Parcours d'intégration utilisateur

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

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

Bonnes pratiques

  • Ordonner correctement les conditions : placez les conditions spĂ©cifiques avant les gĂ©nĂ©rales pour garantir que la logique spĂ©cifique prĂ©vaut sur les solutions de repli
  • Inclure une condition par dĂ©faut : ajoutez une condition fourre-tout (true) comme derniĂšre condition pour gĂ©rer les cas non correspondants et Ă©viter que l'exĂ©cution du workflow ne se bloque
  • Garder les expressions simples : utilisez des expressions boolĂ©ennes claires et directes pour une meilleure lisibilitĂ© et un dĂ©bogage plus facile
  • Documenter vos conditions : ajoutez des descriptions pour expliquer l'objectif de chaque condition afin d'amĂ©liorer la collaboration en Ă©quipe et la maintenance
  • Tester les cas limites : vĂ©rifiez que les conditions gĂšrent correctement les valeurs limites en testant avec des valeurs aux extrĂ©mitĂ©s de vos plages de conditions
Condition