Référence des workflows YAML
Guide complet pour écrire des workflows YAML dans Scrydon
Il s'agit du format YAML pour l'import/export de l'éditeur de workflow. Pour livrer un workflow dans un Pack via le SDK, consultez Création : Workflows.
Les workflows YAML offrent un moyen puissant de définir, versionner et partager des configurations de workflows dans Scrydon. Ce guide de référence couvre la syntaxe YAML complète, les schémas de blocs et les bonnes pratiques pour créer des workflows robustes.
Démarrage rapide
Chaque workflow Scrydon suit cette structure de base :
version: '1.0'
blocks:
start:
type: starter
name: Start
inputs:
startWorkflow: manual
connections:
success: agent-1
agent-1:
type: agent
name: "AI Assistant"
inputs:
systemPrompt: "You are a helpful assistant."
userPrompt: 'Hi'
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'Concepts fondamentaux
Déclaration de version : Doit être exactement version: '1.0' (avec guillemets)
Structure des blocs : Tous les blocs du workflow sont définis sous la clé blocks
Références de blocs : Utilisez les noms de blocs en minuscules sans espaces (ex. <aiassistant.content>)
Variables d'environnement : Référencez avec des accolades doubles {{VARIABLE_NAME}}
Types de blocs
Scrydon prend en charge plusieurs types de blocs principaux, chacun avec des schémas YAML spécifiques :
Bloc Starter
Point d'entrée du workflow avec prise en charge des déclencheurs manuels, webhook et planifiés
Bloc Agent
Traitement alimenté par l'IA avec prise en charge des outils et des sorties structurées
Bloc Function
Exécution de code JavaScript/TypeScript personnalisé
Bloc API
Requêtes HTTP vers des services externes
Bloc Condition
Branchement conditionnel basé sur des expressions booléennes
Bloc Router
Routage intelligent alimenté par l'IA vers plusieurs chemins
Bloc Loop
Traitement itératif avec boucles for et forEach
Bloc Parallel
Exécution simultanée sur plusieurs instances
Bloc Webhook
Déclencheurs webhook pour les intégrations externes
Bloc Evaluator
Valider les sorties par rapport à des critères et métriques définis
Bloc Workflow
Exécuter d'autres workflows comme composants réutilisables
Bloc Response
Formatage de la sortie finale du workflow
Syntaxe de référence des blocs
L'aspect le plus critique des workflows YAML est de comprendre comment référencer des données entre les blocs :
Règles de base
- Utilisez le nom du bloc (pas l'ID du bloc) converti en minuscules sans espaces
- Ajoutez la propriété appropriée (.content pour les agents, .output pour les outils)
- Lors de l'utilisation du chat, référencez le bloc starter avec
<start.input>
Exemples
# Block definitions
email-processor:
type: agent
name: "Email Agent"
# ... configuration
data-formatter:
type: function
name: "Data Agent"
# ... configuration
# Referencing their outputs
next-block:
type: agent
name: "Next Step"
inputs:
userPrompt: |
Process this email: <emailagent.content>
Use this formatted data: <dataagent.output>
Original input: <start.input>Cas particuliers
- Variables de boucle :
<loop.index>,<loop.currentItem>,<loop.items> - Variables parallèles :
<parallel.index>,<parallel.currentItem>
Variables d'environnement
Utilisez des variables d'environnement pour les données sensibles comme les clés API :
inputs:
apiKey: '{{OPENAI_API_KEY}}'
database: '{{DATABASE_URL}}'
token: '{{SLACK_BOT_TOKEN}}'Bonnes pratiques
- Gardez les noms de blocs lisibles : « Email Processor » pour l'affichage dans l'interface
- Référencez les variables d'environnement : ne codez jamais en dur les clés API
- Structurez pour la lisibilité : regroupez les blocs liés de manière logique
- Testez de manière incrémentale : construisez les workflows étape par étape
Étapes suivantes
- Syntaxe de référence des blocs — règles de référence détaillées
- Schémas complets des blocs — tous les types de blocs disponibles
- Exemples de workflows — modèles de workflows du monde réel