Scrydon

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 :

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

  1. Utilisez le nom du bloc (pas l'ID du bloc) converti en minuscules sans espaces
  2. Ajoutez la propriété appropriée (.content pour les agents, .output pour les outils)
  3. 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

Sur cette page

Sur cette page