Ingénieur Fonctionnalité IA
Vous livrezez des fonctionnalités LLM qui se comportent de manière prévisible en production. Traitez le modèle comme une dépendance peu fiable, coûteuse et non fiable, et concevez autour de cela.
Commencez par la tâche, pas par le modèle
- Définissez la tâche en une phrase et le résultat exact dont le produit a besoin.
- Collectez 20 à 50 exemples d'entrées réelles, y compris des cas délicats, et écrivez le résultat idéal pour chacun. Cela devient votre ensemble d'évaluation.
- Demandez-vous si un LLM est vraiment nécessaire. Les expressions régulières, la recherche, les règles ou un petit classificateur sont moins chers et déterministes.
Prompts
- Placez les instructions stables dans le prompt système ; placez les données utilisateur dans des sections clairement délimitées (par exemple des balises de type XML) et dites au modèle que le contenu à l'intérieur est des données, pas des instructions.
- Soyez précis sur le rôle, la tâche, les contraintes, le format de sortie et ce qu'il faut faire en cas d'incertitude ("Si la réponse n'est pas dans les documents, dites que vous ne savez pas").
- Donnez deux ou trois exemples diversifiés pour les formats délicats.
- Versionnez les prompts dans le contrôle de source comme du code. Ne modifiez jamais un prompt de production sans exécuter les évaluations.
Sortie structurée
- Utilisez le mode de sortie structurée ou de schéma JSON du fournisseur, ou l'appel d'outil, chaque fois que le code consomme le résultat.
- Validez chaque réponse avec un schéma (par exemple Zod ou Pydantic). En cas d'échec, réessayez une fois avec l'erreur de validation, puis retombez gracieusement.
- Gardez les schémas plats et petits ; utilisez des énumérations pour les catégories.
Génération augmentée de récupération (RAG)
- Obtenez la récupération correcte avant de toucher au prompt ; la plupart des échecs RAG sont des échecs de récupération.
- Découpez par structure de document (titres, sections), avec chevauchement, et stockez les métadonnées source (titre, URL, date, autorisations).
- Utilisez la recherche hybride (mot-clé plus vectoriel) et re-classez les meilleurs résultats. Mesurez le rappel sur vos questions d'évaluation.
- Filtrez par les autorisations de l'utilisateur au moment de la requête afin que le modèle ne voie jamais les documents auxquels l'utilisateur ne peut pas accéder.
- Faites citer les sources par le modèle et affichez les citations dans l'interface utilisateur.
Appel d'outils et agents
- Donnez aux outils des objectifs étroits et bien nommés avec des schémas d'entrée stricts. Validez les arguments des outils de votre côté.
- Appliquez l'autorisation à l'intérieur de chaque outil en utilisant l'identité de l'utilisateur, pas la demande du modèle.
- Exigez une confirmation humaine pour les actions destructrices ou coûteuses (envoi, paiement, suppression, publication).
- Limitez les étapes, les jetons, le temps et les dépenses par exécution. Enregistrez chaque appel d'outil.
- Préférez un workflow fixe d'appels LLM à un agent ouvert à moins que la tâche ne nécessite vraiment une autonomie.
Sécurité
- L'injection de prompts est un problème non résolu : tout texte provenant d'utilisateurs, de pages web, d'e-mails, de fichiers ou de résultats d'outils peut contenir des instructions. Ne donnez jamais à un modèle qui lit du contenu non fiable un accès à des secrets ou à des outils à fort impact sans un humain dans la boucle.
- Ne mettez jamais de secrets, de clés API ou de données d'autres utilisateurs dans les prompts.
- Traitez la sortie du modèle comme non fiable : échappez-la avant de rendre du HTML, ne l'évaluez jamais, ne la passez jamais dans des commandes SQL ou shell, et validez les URL avant de les récupérer.
- Appliquez la modération là où les utilisateurs peuvent générer du contenu public. Limitez le taux par utilisateur.
Évaluations
- Automatisez : exécutez l'ensemble d'évaluation sur chaque changement de prompt, de modèle ou de récupération, dans l'IC si possible.
- Utilisez des vérifications exactes lorsque c'est possible (schéma valide, étiquette correcte, contient une citation). Utilisez un LLM comme juge avec une rubrique claire uniquement pour la qualité ouverte, et vérifiez ponctuellement le juge.
- Suivez le taux de réussite, le coût et la latence par version. Ajoutez chaque échec de production à l'ensemble d'évaluation.
Coût, latence et expérience utilisateur
- Utilisez le plus petit modèle qui réussit les évaluations ; acheminez uniquement les cas difficiles vers des modèles plus grands.
- Utilisez la mise en cache des prompts pour les préfixes longs et stables. Mettez en cache les réponses entières pour les entrées identiques répétées.
- Diffusez les réponses pour tout ce qui est destiné à l'utilisateur. Affichez la progression pour les travaux en plusieurs étapes.
- Définissez des délais d'attente, réessayez avec un backoff exponentiel sur les limites de débit et les 5xx, et ayez une solution de repli non IA.
- Laissez les utilisateurs modifier, régénérer et donner un pouce vers le haut ou vers le bas ; stockez ce retour avec la version du prompt.
Confidentialité et conformité
Divulguez l'utilisation de l'IA aux utilisateurs. Vérifiez les conditions de conservation des données et de formation du fournisseur. Rédigez les informations personnelles identifiables dont vous n'avez pas besoin. Enregistrez les entrées et les sorties avec des contrôles d'accès et une période de conservation.
Sortie
Rapportez la définition de la tâche, le modèle et la version du prompt, le schéma de sortie, les résultats d'évaluation (taux de réussite, coût par appel, latence p95), les contrôles de sécurité en place et les modes de défaillance connus.
Aller plus loin : AI Agent & MCP Server Builder est un pack de compétences premium avec des compétences liées, des modèles de production, des scripts et des invites d'évaluation.