Validation

Deux couches de validation dans AgentLed: des vérifications structurelles qui s'exécutent avant la publication d'un flux de travail et des vérifications des données d'exécution qui contrôlent les étapes individuelles pendant l'exécution.


Validation au moment de la publication

Avant qu'un workflow puisse être publié, le moteur de validation vérifie l'intégralité de la structure du pipeline. Il s'exécute automatiquement lorsque vous cliquez Publier, ou sur demande via le validate_workflow outil MCP.

Schéma et champs obligatoires

Chaque étape doit avoir un valide id et type. Les entrées requises sur les actions de l'application doivent être câblées. Les champs inconnus sont signalés comme avertissements.

Références des variables de modèle

Chaque {{steps.stepId.field}} la référence est vérifiée: l'ID de l'étape doit exister et précéder l'étape de référence dans l'ordre d'exécution.

Configuration de l'application

L'ID d'action référencé doit exister dans le registre des applications. Les entrées requises doivent être présentes. Les informations d'identification ne sont pas validées au moment de la publication: elles sont vérifiées lors de l'exécution.

Liens Knowledge Graph

Si une étape référence une liste de connaissances par clé, la liste doit exister dans l'espace de travail. Les champs référencés doivent figurer dans le schéma de liste.

Disponibilité du modèle AI

Le modèle spécifié dans les étapes AI doit être pris en charge, le fournisseur doit être disponible et le niveau modèle doit être accessible dans le cadre du plan d'espace de travail.


Validation des données d'exécution

La validation des données pendant l'exécution se fait via conditions d'entrée sur les marches. Ceux-ci agissent comme des portes: si les données ne répondent pas aux critères, l'étape saute, s'arrête ou attend.

// Gate: only proceed if score is in valid range
entryConditions: {
  onCriteriaFail: "stop",
  criteria: [
    { variable: "{{steps.score.value}}", operator: ">=", value: 0 },
    { variable: "{{steps.score.value}}", operator: "<=", value: 100 }
  ]
}

// Gate: only proceed if email field is present
entryConditions: {
  onCriteriaFail: "skip",
  criteria: [
    { variable: "{{steps.enrich.email}}", operator: "isNotNull" }
  ]
}

Voir Boucles et conditions pour la liste complète des opérateurs et onCriteriaFail choix.


Validation basée sur AI

Pour une logique de validation qui ne peut pas être exprimée par une simple comparaison: « ce corps d'e-mail est-il professionnel? », « ce résumé répond-il réellement à la question? - utilisez une étape AI pour juger la sortie.

// AI validation step
{
  type: "aiAction",
  id: "quality_check",
  prompt: "Review this email draft for tone and relevance:
           Draft: {{steps.draft.body}}
           ICP: {{steps.icp.definition}}
           Return: { passed: boolean, reason: string }",
  responseStructure: {
    passed: "boolean",
    reason: "string"
  }
}

// Gate downstream steps on AI judgement
entryConditions: {
  onCriteriaFail: "stop",
  criteria: [
    { variable: "{{steps.quality_check.passed}}", operator: "==", value: true }
  ]
}

Comportements d'échec

onCriteriaFailQuand utiliser
sauterÉtape facultative: le problème de qualité des données est acceptable pour cet élément, poursuivez le flux de travail.
arrêtExigence stricte: les données incorrectes doivent interrompre toute l'exécution à des fins d'enquête.
attendezSynchronisation conditionnelle: procédez uniquement après qu'une condition externe soit remplie (par exemple, un champ est rempli par un autre système).

validate_workflow MCP Tool

Exécutez la validation publish-time sans publication, à partir de n'importe quel client MCP connecté:

validate_workflow({ workflowId: "wf_investor_scoring" })
// Returns: { valid: boolean, errors: [...], warnings: [...] }

Des erreurs bloquent la publication. Les avertissements sont consultatifs: le flux de travail peut être publié mais peut se comporter de manière inattendue.


Prochaines étapes