La migration officielle remplace plusieurs types d’agents Semantic Kernel par une abstraction commune autour de ChatClientAgent. Procédez par capacité et gardez Semantic Kernel actif jusqu’à validation.
Cartographier l’existant
Inventoriez Kernel, services IA, plugins, filtres, agents, threads et orchestrations. Pour chaque plugin, notez permissions, effets de bord et dépendances injectées.
Créez un jeu de tests avec entrées, sorties attendues, outils appelés et états de conversation. Il devient votre contrat de migration.
Remplacer le service
Dans Agent Framework, configurez le client correspondant à votre fournisseur puis injectez-le au ChatClientAgent. Centralisez modèle et paramètres. Ne mélangez pas changement de framework et changement de modèle dans la même comparaison.
Transformer les plugins
Les fonctions de plugin simples deviennent des outils Python typés. Conservez descriptions, validation et logique métier, mais retirez les dépendances implicites au Kernel. Les autorisations restent dans la fonction ou le service appelé.
Migrer les agents et threads
Recréez d’abord un agent sans historique, puis ajoutez la conversation. Testez création, reprise, concurrence et suppression d’un thread. Mappez explicitement les rôles et contenus multimodaux ; ne supposez pas que les deux frameworks sérialisent l’historique de la même façon.
Refaire l’orchestration
Convertissez séquences et groupes en workflows avec branches, checkpoints et critères d’arrêt. Profitez de la migration pour rendre visibles les limites de tours et les étapes nécessitant une validation humaine.
Déployer progressivement
Exécutez la nouvelle version sur un trafic miroir ou un petit pourcentage. Comparez exactitude, refus, outils, latence et coût. Conservez un rollback tant que les principaux parcours ne sont pas équivalents.
FAQ
Peut-on migrer les plugins un par un ?
Oui. Un adaptateur permet de conserver temporairement certains services Semantic Kernel.
Pourquoi les réponses diffèrent-elles avec le même modèle ?
Le template de messages, la description des outils ou la gestion de l’historique peut changer. Comparez les requêtes réellement envoyées.
Mettre en place une migration parallèle
Installez Agent Framework dans un environnement dédié et gardez Semantic Kernel le temps de comparer les réponses.
~~~bash python -m venv .venv source .venv/bin/activate pip install --pre agent-framework-openai semantic-kernel ~~~
~~~python from agent_framework.openai import OpenAIChatClient
agent = OpenAIChatClient().as_agent( name="Support", instructions="Réponds en français et en une phrase.", ) response = await agent.run("Comment réinitialiser mon accès ?") print(response.text) ~~~
Créez un adaptateur applicatif commun avec une méthode run afin de basculer progressivement les parcours. Migrez d’abord un agent sans outil, puis les outils, sessions et flux. Comparez sorties, appels d’outils, latence et traces sur le même jeu de tests. Ne supprimez Semantic Kernel qu’après validation du rollback et des données de conversation persistées.