11 points par xguru 2024-12-06 | 1 commentaires | Partager sur WhatsApp
  • Utilise un système de file de tâches dynamique au lieu des workflows traditionnels basés sur des nœuds et des arêtes, en privilégiant la simplicité et la flexibilité
  • 3 principes
    • Exécution simultanée : les tâches s’exécutent automatiquement en parallèle
    • Planification dynamique : il est possible d’ajouter de nouvelles tâches pendant l’exécution
    • Dépendances intelligentes : le traitement attend les résultats des tâches précédentes
  • Les résultats de toutes les tâches sont stockés dans un Context thread-safe
  • Cette architecture basée sur les tâches simplifie fortement les workflows complexes
    • Exécution de tâches en parallèle sans code de threading explicite
    • Workflows dynamiques auto-modifiables et cycles
    • Branches conditionnelles et contrôle du flux
    • Streaming de l’exécution des tâches
    • Gestion d’état, chargement de l’état précédent et sauvegarde de l’état actuel
    • Possibilité de démarrer l’exécution à partir d’une tâche spécifique
    • Transmission dynamique des données d’entrée pour exécuter la tâche suivante
    • Traitement parallèle de type MapReduce et collecte des résultats
  • Utilise une planification dynamique sans définition préalable des connexions entre les nœuds
  • Permet d’écrire un code propre en simplifiant les workflows complexes
  • Conception légère, sans dépendances externes
  • Auto-Instrumentation
    • Inclut une fonction d’auto-instrumentation pour le traçage avec Laminar
    • Pour activer le traçage basé sur OpenTelemetry, il faut initialiser le SDK Laminar avant d’utiliser Flow
  • Fonctionnalités avancées
    • Partage du contexte : toutes les tâches partagent le même contexte pour gérer le flux de données
    • Gestion des erreurs : propagation appropriée des exceptions dans les tâches
    • Sécurité des threads : toutes les tâches sont thread-safe
    • Dépendances minimales : fonctionne sans bibliothèques externes
  • Feuille de route
    • Ajout du support asynchrone
    • Ajout d’options de déploiement serverless

1 commentaires

 
savvykang 2024-12-07

Je ne comprends pas bien la description du projet. Est-ce que ce n’est pas réservé aux agents IA, et que l’IA n’est donnée que comme exemple de cas d’usage ? J’ai l’impression que ce n’est pas très différent d’un moteur de tâches généraliste.