Temporal rend généralement disponibles ses intégrations IA multi-cadres; les flux restent en aperçu

Published · AI Daily — AI-assisted deep research, methodology & disclosure

Temporal a annoncé le 30 octobre la disponibilité générale de plusieurs intégrations pour bibliothèques d’IA et cadres d’agents. Notre édition est datée du 1er novembre, tandis que l’annonce originale date du 30 octobre. La mention GA concerne les intégrations nommées.

Temporal a annoncé le 30 octobre la disponibilité générale de plusieurs intégrations pour bibliothèques d’IA et cadres d’agents. Notre édition est datée du 1er novembre, tandis que l’annonce originale date du 30 octobre. La mention GA concerne les intégrations nommées. Elle ne couvre pas automatiquement toutes les fonctions voisines: Workflow Streams, qui permet le flux de jetons, reste indiqué comme Public Preview pour Python et TypeScript.

Le tableau de compatibilité indique des limites précises. Google ADK est prévu pour Python, Go et TypeScript. OpenAI Agents SDK est prévu pour Python, déjà disponible généralement, et TypeScript. AWS Strands couvre Python et TypeScript; LangGraph, Python; LangSmith, Python et TypeScript; Vercel AI SDK, TypeScript; et Gemini SDK, Python. Une équipe doit choisir le paquet correspondant à son langage réel. Dire simplement que Temporal « prend en charge les cadres d’agents » ne crée pas une intégration pour toutes les combinaisons possibles ni une fonction non documentée dans chaque paquet.

La frontière architecturale sépare la coordination durable des effets externes. Un Workflow décrit la logique longue: quelles étapes effectuer et quand attendre. Une Activity effectue l’appel au modèle, la requête API, l’accès à la base de données ou un autre effet secondaire. Les intégrations font correspondre le comportement de chaque cadre à cette séparation, sans exiger une réécriture complète de l’agent. Dans l’exemple Google ADK en Python, `TemporalModel` remplace le nom du modèle et exécute chaque appel comme Activity. L’enregistrement de `GoogleAdkPlugin` auprès du Client et du Worker permet une boucle rejouable. Les autres cadres possèdent leurs propres points de branchement; l’exemple ADK n’est pas une recette universelle.

La reprise s’appuie sur l’Event History. Après le redémarrage d’un Worker ou une interruption pendant un déploiement, Temporal reconstruit le Workflow à partir de l’avancement enregistré. Lors du rejeu, le résultat d’une Activity déjà terminée est réutilisé au lieu de renvoyer le même appel au modèle ou à l’outil. Ce mécanisme compte quand les appels facturent des jetons ou modifient un système externe. Il suppose que les effets secondaires ont bien été placés dans les Activities. Importer le paquet tout en effectuant directement des appels externes dans une logique rejouée n’apporte pas la même garantie.

L’annonce insiste également sur le propriétaire des nouvelles tentatives. Les intégrations désactivent, ou demandent de désactiver, les boucles de reprise du cadre afin que Temporal gère au même endroit reprises et délais. Deux stratégies superposées peuvent multiplier les appels et compliquer l’analyse des incidents. Clients et identifiants restent dans le Worker et ne sont pas sérialisés dans l’historique du Workflow. Le contexte de trace doit traverser les processus, sans exporter une seconde fois les mêmes segments lors d’un rejeu. Ces détails donnent un sens opérationnel à la « durabilité » annoncée.

Un agent peut attendre une validation humaine ou une autre entrée externe sans interroger le système en permanence ni immobiliser un processus Worker. Le flux de jetons peut utiliser Workflow Streams là où il est pris en charge, mais cette fonction demeure en aperçu public. Une organisation peut donc adopter une intégration GA et décider séparément si la diffusion en continu répond à ses exigences de production. Temporal illustre aussi un Workflow qui coordonne un graphe LangGraph, un agent Google ADK et une attente de réponse humaine.

Les paquets publiés se trouvent dans `temporalio/ai-integrations`, séparés par cadre et langage. Avant de mettre à niveau des Workflows déjà en cours, les notes de version doivent être consultées: elles signalent des changements de paquets et d’imports ainsi que les cas où Worker Versioning permet de terminer les anciennes exécutions. Une évaluation prudente installe le paquet exact, lance son exemple, interrompt volontairement un Worker et vérifie l’absence de nouvel appel externe pour une Activity terminée.

Nous n’avons pas mesuré de taux de reprise ni audité chaque implémentation. Le fait attribué à Temporal est la disponibilité générale des intégrations énumérées et leur modèle commun fondé sur Workflows et Activities. Le jugement de déploiement est de tester le couple cadre-langage choisi, de préserver la frontière de rejeu et de traiter le streaming en aperçu comme une décision distincte.

Sources

FAQ

Quelles intégrations sont GA et le streaming l’est-il aussi ?

Temporal annonce des intégrations par langage pour Google ADK, OpenAI Agents SDK, AWS Strands, LangGraph, LangSmith, Vercel AI SDK et Gemini SDK en disponibilité générale. Les langages diffèrent selon le cadre. Workflow Streams pour les jetons est indiqué séparément comme Public Preview en Python et TypeScript; il ne faut pas confondre les statuts.

Comment Workflow et Activity évitent-ils de répéter un appel ?

Le Workflow porte la coordination durable, tandis qu’une Activity exécute l’appel au modèle, à l’API ou un autre effet externe. Après une interruption, Temporal reconstruit le Workflow depuis l’Event History et réutilise le résultat enregistré d’une Activity terminée. Cette propriété exige que les effets soient placés à la bonne frontière.

Que vérifier avant la mise à niveau d’un agent existant ?

Choisissez le paquet du cadre et du langage utilisés, configurez Client, Worker et points d’intégration, et évitez deux politiques de reprise concurrentes. Interrompez un essai contrôlé puis examinez historique et appels externes pour les doublons. Consultez les notes de version pour changements d’imports et éventuel Worker Versioning.