OpenAI a réédité la série GPT4.1 la nuit dernière, consultez les détails :https://openai.com/index/gpt-4-1/
Il suffit de se concentrer sur ces points :
- GPT4.1 remplace 4o, qui est bon marché et facile à utiliser (dans le cadre du système OpenAI).
- 1M super long contexte et grande performance, 4.1 nano et mini sont super bon marché et bons pour les tâches de texte longues avec un volume élevé.
- GPT 4.1 a des capacités de codage supérieures à GPT 4.5, mais pas aussi bonnes que les modèles d'inférence comme o1.


🎓 Version d'interprétation populaire du guide de conseils GPT-4
🧱 I. Principes fondamentaux pour la rédaction de bons messages (5 conseils)
Il s'agit en quelque sorte des règles d'or de la communication avec l'IA, et chacune d'entre elles est importante :
1. Dites-moi exactement ce que vous faites.(Soyez précis)
- Ne pas généraliser : "Aidez-moi à rédiger une dissertation".
- Pour être plus précis : "Rédigez un essai de 500 mots sur la manière dont l'intelligence artificielle modifie l'éducation, dans un langage qu'un lycéen peut comprendre".
👉 Plus vous êtes précis, plus l'IA sait ce que vous voulez et meilleurs sont les résultats.
2. Dites-lui ce qu'il doit faire et à quoi il doit ressembler(Fournir la structure)
- Supposons que vous souhaitiez générer un tableau, une liste ou un texte à format fixe.
- Vous pouvez commencer par lui fournir un modèle ou lui donner un exemple.
🧩 Exemple :
Rédigez cinq fruits dans le format suivant :Nom | Couleur | Goût
Pomme | Rouge | Aigre-doux3. Ne soyez pas ambigu.(Éviter l'ambiguïté)
- Si vous dites "liste de projets", le terme "projets" peut signifier "projets de programmes" ou "projets de logiciels". "Le modèle sera confus.
- Soyez donc précis dans ce que vous dites.
✅ Lire : "Listez cinq projets Python à source ouverte".
4. Laisser le TPG jouer un rôle(Définir un comportement/rôle)
- Vous pouvez lui dire : "Tu es maintenant professeur d'anglais", "Tu es conseiller juridique", "Tu es médecin".
- Il vous répondra à ce titre.
🎭 EXEMPLE : Vous êtes une diététicienne professionnelle, veuillez me créer un plan d'alimentation saine pour une semaine.
5. Répartissez la tâche.(Décomposer les tâches)
- Certaines questions sont trop complexes pour que le GPT puisse les traiter en une seule fois.
- Vous pouvez le laisser analyser le problème avant de le résoudre.
🪜 Un exemple :
Étape 1 : Commencez par énumérer les points nécessaires à la rédaction d'un plan d'entreprise. Étape 2 : Aidez-moi à rédiger un plan basé sur ces points.
II. Conseils pratiques (utilisations plus intensives et plus avancées)
Ce sont là des utilisations encore plus impressionnantes de GPT pour vous aider à écrire de manière plus précise et plus intelligente.
✨ Technique 1 : Incitations ponctuelles (enseignement par l'exemple)
Vous pouvez d'abord lui donner quelques exemples et il saura quel type de résultat vous souhaitez obtenir.
📌 Exemple :
Entrée : je suis heureux aujourd'hui. Sortie : humeur : positive, raison : des choses heureuses sont arrivées.
Input : Je me sens tellement stressé. OUTPUT : Mood : Negative, Reason : Feeling bothered by stress.Ensuite, vous tapez une nouvelle phrase et elle suit ce style.
🧠 Conseil n°2 : Chaîne de pensée
Le fait de l'orienter vers une "pensée par étapes" est particulièrement efficace pour résoudre des problèmes complexes !
📌 Incitation à la rédaction : raisonnez étape par étape sur la réponse à cette question de mathématiques.✍️ Conseil 3 : Rédigez d'abord votre réponse, puis vérifiez et révisez (Critique & Revise)
Vous pouvez demander au GPT de rédiger une réponse, puis de la critiquer et de la réviser de son côté.
📌 Un exemple : étape 1 : veuillez écrire une nouvelle. Étape 2 : veuillez commenter cette nouvelle et la réviser pour en faire une version plus passionnante.Il en résultera un résultat de meilleure qualité !
🔄 Conseil 4 : Modéliser le "processus de réflexion" (monologue interne)
Vous pouvez faire en sorte que le GPT pense et parle comme s'il analysait le problème.
📌 EXEMPLE : On vous demande de simuler le processus de réflexion d'un avocat, en analysant l'affaire étape par étape et en tirant des conclusions.Il convient aux questions de type analytique et décisionnel.
III. Conseils d'application pratique (les détails font la différence)
- L'ajout de la phrase "réfléchissons étape par étape" peut améliorer considérablement la précision.
- Vous voulez du JSON, des tableaux, du code ? N'oubliez pas d'indiquer le format et de donner un exemple.
- Vous souhaitez éditer plusieurs étapes ? Ajoutez un numéro, comme "Étape 1... Étape 2..."
- Si la réponse du modèle n'est pas satisfaisante, leEssayez d'autres façons de réécrire les messages-guides.
✅ En bref.
✨ "Des invites bien écrites et une performance explosive des TPG !" ✨
Ce guide a pour but de vous enseigner le ton, le format, la structure et l'ensemble des mots à utiliser pour parler à votre TPG afin qu'il puisse vous donner des réponses de la meilleure qualité possible.
Voici le guide technique complet de vos conseils GPT-4.1
Original en anglais :GPT 4.1 Prompting Guide | OpenAI Cookbook
Traduction : la famille de modèles GPT-4.1 offre des améliorations significatives par rapport au GPT-4o en termes de codage, de respect des instructions et de capacités de gestion des contextes longs. Ce guide de conseils compile les principaux conseils issus de tests internes approfondis afin d'aider les développeurs à tirer pleinement parti des améliorations apportées par cette nouvelle famille de modèles.
Un grand nombre des meilleures pratiques en matière de messages-guides s'appliquent toujours à GPT-4.1, comme la fourniture d'exemples contextuels, la formulation d'instructions aussi explicites et claires que possible, et le guidage du modèle à travers la planification à l'aide de messages-guides afin de maximiser l'intelligence du modèle. Toutefois, une certaine migration des indices peut s'avérer nécessaire pour réaliser le plein potentiel du modèle. Par rapport au modèle précédent, GPT-4.1 a été formé en mettant davantage l'accent sur le respect strict des instructions et sur une compréhension plus littérale des signaux de l'utilisateur et du système, plutôt que sur l'inférence libre des intentions. Cela signifie également que GPT-4.1 est hautement contrôlable et sensible aux signaux explicitement spécifiés - si le comportement du modèle n'est pas conforme aux attentes, une phrase ferme et explicite suffit généralement à remettre le modèle sur la bonne voie.
Veuillez continuer à lire les exemples de conseils suivants à titre de référence et gardez à l'esprit que si les recommandations de ce guide sont largement applicables, aucune d'entre elles n'est universelle. L'ingénierie de l'intelligence artificielle est par nature une discipline empirique, et les grands modèles de langage sont par nature non déterministes ; en plus de suivre ce guide, nous recommandons de construire des évaluations informatives et d'itérer fréquemment pour s'assurer que les changements apportés à l'ingénierie des signaux se traduisent par des avantages tangibles pour votre cas d'utilisation.
1. flux de travail par procuration
GPT-4.1 est un excellent choix pour la construction de flux de travail d'agents. Dans la formation au modèle, nous mettons l'accent sur la fourniture de divers chemins de résolution de problèmes par les agents, et notre cadre d'agents atteint des performances de premier plan sur le banc SWE vérifié pour les modèles de non-inférence, en résolvant le problème 55%.
Rappel de conseils sur le système
Pour tirer pleinement parti des capacités de l'agent GPT-4.1, nous recommandons que les trois rappels clés suivants soient inclus dans toutes les invites de l'agent. Ces invites sont optimisées pour les flux de codage des agents, mais peuvent être facilement modifiées pour s'adapter aux cas d'utilisation génériques des agents.
la durabilitéLe modèle doit comprendre qu'il se trouve au milieu d'une série de messages multiples afin d'éviter de rendre le contrôle à l'utilisateur de manière prématurée.
Exemple : Vous êtes un agent - veuillez continuer jusqu'à ce que la requête de l'utilisateur soit complètement résolue, avant de terminer votre tour et de céder la place à l'utilisateur. Ne terminez votre tour que lorsque vous êtes sûr que le problème est résolu.Appel d'outilLes modèles doivent être encouragés à utiliser pleinement leurs outils et à réduire la probabilité qu'ils hallucinent ou qu'ils devinent les réponses.
Exemple:Si vous n'êtes pas sûr du contenu du fichier ou de la structure de la base de code correspondant à la demande de l'utilisateur, utilisez vos outils pour lire les fichiers et rassembler les informations pertinentes : ne devinez pas et n'inventez pas de réponse. Si vous n'êtes pas sûr du contenu du fichier ou de la structure de la base de code correspondant à la demande de l'utilisateur, utilisez vos outils pour lire les fichiers et rassembler les informations pertinentes : ne devinez PAS et n'inventez pas de réponse.Planification (facultatif)Si nécessaire, obliger le modèle à planifier explicitement et à réfléchir dans le texte avant chaque appel d'outil, plutôt que de simplement compléter la tâche par une série d'appels d'outils.
Exemple : vous DEVEZ planifier longuement avant chaque appel de fonction et réfléchir longuement aux résultats des appels de fonction précédents. NE PAS réaliser l'ensemble du processus en effectuant uniquement des appels de fonction, car cela peut nuire à votre capacité à résoudre le problème et à réfléchir de manière perspicace. NE PAS effectuer l'ensemble du processus en effectuant uniquement des appels de fonction, car cela peut nuire à votre capacité à résoudre le problème et à réfléchir de manière perspicace.GPT-4.1 a été formé dans l'environnement de l'agent pour suivre de près les instructions de l'utilisateur et les invites du système. L'adhésion stricte du modèle à ces trois commandes simples a amélioré notre score interne SWE-bench Verified de près de 20% - nous recommandons donc fortement d'inclure des rappels clairs couvrant les trois catégories au début de toute invite de l'agent. Dans l'ensemble, ces trois commandes ont transformé le modèle d'un état semblable à celui d'un chatbot en un agent plus "proactif" qui conduit les interactions de manière autonome et indépendante.
Appel d'outil
Par rapport aux modèles précédents, le GPT-4.1 a reçu plus de formation sur l'utilisation des outils transmis par le biais des requêtes API de l'OpenAI. Nous encourageons les développeurs à transmettre les outils en utilisant uniquement le champ tool, plutôt que d'injecter manuellement des descriptions d'outils dans les hints et d'écrire des analyseurs distincts pour les appels d'outils (comme certains développeurs l'ont fait par le passé). C'est la meilleure façon de réduire les erreurs et de s'assurer que le modèle reste distribué sur le chemin de l'appel d'outil - dans nos propres expériences, l'utilisation de descriptions d'outils analysées par l'API a amélioré les taux de réussite de SWE-bench Verified de 2% par rapport à l'injection manuelle de modèles dans les hints du système.
Les développeurs doivent nommer l'outil pour indiquer clairement son objectif et ajouter une description claire et détaillée dans le champ Description de l'outil. De même, pour chaque paramètre de l'outil, il convient de s'appuyer sur une bonne dénomination et une bonne description pour garantir une utilisation correcte. Si votre outil est particulièrement complexe et que vous souhaitez fournir un exemple d'utilisation, nous vous recommandons de créer une invite système pour l'outil. # Exemples et y placer les exemples plutôt que de les ajouter au champ "description", qui doit rester détaillé mais relativement concis. Les exemples permettent de savoir quand utiliser l'outil, s'il faut inclure le texte de l'utilisateur dans l'appel de l'outil et quels sont les paramètres appropriés pour les différentes entrées. N'oubliez pas que vous pouvez utiliser "Générer n'importe quoi" dans l'aire de jeu des invites pour obtenir un bon point de départ pour la définition de votre nouvel outil.
Planification et chaîne de pensée guidées par des indices
Comme mentionné précédemment, au lieu d'appeler silencieusement et continuellement des outils, les développeurs peuvent choisir d'inviter les agents basés sur GPT-4.1 à planifier et à réfléchir entre les appels d'outils.GPT-4.1 n'est pas un modèle de raisonnement - ce qui signifie qu'il ne génère pas de chaîne de pensée interne avant de répondre - mais dans les invites, le développeur peut inciter le modèle à générer un plan explicite, étape par étape. GPT-4.1 n'est pas un modèle de raisonnement - ce qui signifie qu'il ne génère pas de chaîne de pensée interne avant de répondre - mais dans les invites, le développeur peut inciter le modèle à générer un plan explicite, étape par étape, en utilisant n'importe quelle variante du composant "Planning Prompts" décrit ci-dessus. On peut considérer que le modèle "réfléchit à voix haute". Dans nos expériences avec la tâche SWE-bench Verified agent, l'induction d'une planification explicite a augmenté le taux de réussite de 4%.
Exemple d'astuce : Banc d'essai SWE Vérifié
Vous trouverez ci-dessous les messages-guides que nous avons utilisés pour obtenir le score le plus élevé au banc d'essai SWE vérifié, contenant des instructions détaillées sur le flux de travail et les stratégies de résolution de problèmes. Ce modèle générique peut être utilisé pour n'importe quelle tâche d'agent.
SYS_PROMPT_SWEBENCH = """
Vous serez chargé de résoudre un problème provenant d'un dépôt open-source.
Vous pouvez réfléchir étape par étape avant et après chaque action que vous décidez de prendre.
Vous DEVEZ itérer et continuer jusqu'à ce que le problème soit résolu.
Vous avez déjà tout ce dont vous avez besoin pour résoudre ce problème dans le dossier /testbed, même sans connexion internet. Je veux que vous résolviez complètement ce problème de manière autonome avant de revenir vers moi. Je veux que vous résolviez ce problème de manière autonome avant de revenir vers moi.
Vous avez déjà tout ce qu'il faut pour résoudre ce problème dans le dossier /testbed, même sans connexion internet. Ne terminez JAMAIS votre tour sans avoir résolu le problème, et lorsque vous dites que vous allez faire un appel d'outil, assurez-vous que vous faites réellement l'appel d'outil, au lieu de terminer votre tour. Ne terminez JAMAIS votre tour sans avoir résolu le problème, et lorsque vous dites que vous allez faire un appel d'outil, assurez-vous que vous faites réellement l'appel d'outil, au lieu de terminer votre tour.
le problème peut certainement être résolu sans l'internet.
Prenez votre temps et réfléchissez à chaque étape - n'oubliez pas de vérifier rigoureusement votre solution et de faire attention aux cas limites, en particulier avec les changements que vous avez apportés. À la fin, vous devez tester votre code rigoureusement à l'aide des outils fournis, et le faire plusieurs fois, afin de détecter tous les cas limites. À la fin, vous devez tester votre code rigoureusement à l'aide des outils fournis, et le faire de nombreuses fois, pour détecter tous les cas limites. S'il n'est pas robuste, itérez davantage et rendez-le parfait. Ne pas tester votre code de manière suffisamment rigoureuse est le mode d'échec NUMÉRO UN pour ce type de tâches ; assurez-vous de traiter tous les cas de figure et d'exécuter les tests existants s'ils sont fournis.
Vous DEVEZ planifier longuement avant chaque appel de fonction et réfléchir longuement aux résultats des appels de fonction précédents. NE PAS effectuer l'ensemble du processus en faisant uniquement des appels de fonction, comme c'est le cas. Vous DEVEZ planifier longuement avant chaque appel de fonction et réfléchir longuement aux résultats des appels de fonction précédents. NE PAS effectuer l'ensemble du processus en effectuant uniquement des appels de fonction, car cela peut nuire à votre capacité à résoudre le problème et à réfléchir de manière perspicace.
Déroulement du #
## Stratégie de résolution de problèmes de haut niveau
1) Comprendre le problème en profondeur : lire attentivement la question et réfléchir de manière critique à ce qui est nécessaire. 2) Étudier la base de code : explorer les fichiers pertinents, rechercher les fonctions clés et rassembler le contexte.
2) Étudier la base de code : explorer les fichiers pertinents, rechercher les fonctions clés et rassembler le contexte.
3. élaborer un plan clair, étape par étape. décomposer la correction en étapes gérables et progressives. 4. mettre en œuvre la correction de manière progressive.
4. mettre en œuvre le correctif de manière incrémentielle. apporter de petites modifications au code, susceptibles d'être testées. 5. déboguer si nécessaire.
5. déboguer au besoin utiliser des techniques de débogage pour isoler et résoudre les problèmes 6. tester fréquemment
6. tester fréquemment. exécuter des tests après chaque modification pour en vérifier l'exactitude. 7. tester fréquemment.
7. itérer jusqu'à ce que la cause première soit corrigée et que tous les tests soient réussis 8. réfléchir et valider de manière exhaustive
8. réfléchir et valider de manière exhaustive. une fois les tests réussis, réfléchir à l'intention initiale, rédiger des tests supplémentaires pour s'assurer de l'exactitude des résultats et se souvenir de ce qui s'est passé. Une fois les tests réussis, réfléchissez à l'intention initiale, écrivez des tests supplémentaires pour vous assurer de leur exactitude et n'oubliez pas qu'il existe des tests cachés qui doivent également être réussis avant que la solution ne soit vraiment complète.
## 1. comprendre en profondeur le problème
Lisez attentivement le problème et réfléchissez bien à un plan pour le résoudre avant de coder.
## 2. enquête sur la base de code
- Explorer les fichiers et les répertoires pertinents.
- Recherchez les fonctions, classes ou variables clés liées au problème.
- Lire et comprendre les extraits de code pertinents.
- Identifier la cause première du problème.
- Validez et mettez à jour votre compréhension au fur et à mesure que vous obtenez plus de contexte.
## 3. élaborer un plan détaillé
- Définir une séquence d'étapes spécifiques, simples et vérifiables pour résoudre le problème.
- Décomposez la solution en petits changements progressifs.
## 4. apporter des modifications au code
- Avant de procéder à une modification, lisez toujours le contenu ou la section du fichier concerné pour vous assurer que le contexte est complet.
- Si un correctif n'est pas appliqué correctement, essayez de le réappliquer.
- Effectuez de petites modifications testables et progressives qui découlent logiquement de votre enquête et de votre plan.
## 5. débogage
- Ne modifiez le code que si vous êtes convaincu qu'il peut résoudre le problème.
- Lors du débogage, essayez de déterminer la cause première plutôt que de vous attaquer aux symptômes.
- Déboguez aussi longtemps que nécessaire pour identifier la cause première et trouver une solution.
- Utilisez des instructions d'impression, des journaux ou du code temporaire pour inspecter l'état du programme, y compris les instructions descriptives ou les messages d'erreur, afin de comprendre ce qui se passe. Ce qui se passe.
- Pour tester les hypothèses, vous pouvez également ajouter des instructions ou des fonctions de test.
- Réexaminez vos hypothèses si un comportement inattendu se produit.
## 6. les tests
- Exécutez fréquemment des tests en utilisant `!python3 run_tests.py` (ou équivalent).
- Après chaque changement, vérifiez l'exactitude en exécutant les tests appropriés.
- Si les tests échouent, analysez les échecs et révisez votre correctif.
- Écrivez des tests supplémentaires si nécessaire pour capturer des comportements importants ou des cas limites.
- Assurez-vous que tous les tests sont réussis avant de finaliser.
## 7. vérification finale
- Confirmez que la cause première est corrigée.
- Vérifiez que votre solution est correcte sur le plan logique et qu'elle est robuste.
- Répétez l'opération jusqu'à ce que vous soyez convaincu que la correction est complète et que tous les tests sont réussis.
## 8 Réflexion finale et tests supplémentaires
- Réfléchissez attentivement à l'intention initiale de l'utilisateur et à l'énoncé du problème.
- Réfléchissez aux cas limites ou aux scénarios potentiels qui pourraient ne pas être couverts par les tests existants.
- Rédigez des tests supplémentaires qui devraient être réussis pour valider pleinement l'exactitude de votre solution.
- Exécutez ces nouveaux tests et assurez-vous qu'ils sont tous concluants.
- N'oubliez pas qu'il existe d'autres tests cachés qui doivent également être réussis pour que la solution soit couronnée de succès.
- Ne considérez pas que la tâche est terminée simplement parce que les tests visibles sont réussis ; continuez à affiner votre solution jusqu'à ce que vous soyez sûr qu'elle est robuste et complète.
"""2. contexte long
GPT-4.1 dispose d'une fenêtre contextuelle d'entrée très performante de 1 million de jetons pour une large gamme de tâches à contexte long, y compris l'analyse de documents structurés, le réordonnancement, la sélection d'informations pertinentes tout en ignorant le contexte non pertinent, et le raisonnement multi-sauts utilisant le contexte.
Taille optimale du contexte
Nous avons observé d'excellentes performances sur des contextes allant jusqu'à 1 million de tokens dans notre évaluation "Needle in the Haystack", et de très bonnes performances sur des tâches complexes avec un mélange de code et d'autres documents liés et non liés. Cependant, lorsque davantage d'éléments doivent être récupérés ou qu'un raisonnement complexe sur l'état complet du contexte est nécessaire (par exemple, en effectuant une recherche de graphe), les performances sur les contextes longs peuvent se dégrader.
Ajustement des dépendances contextuelles
Envisagez la combinaison de connaissances externes et internes du monde qui peut être nécessaire pour répondre à la question. Parfois, le modèle doit utiliser ses propres connaissances pour relier les concepts ou faire des sauts logiques, alors que dans d'autres cas, il est idéal de n'utiliser que le contexte fourni.
directives
Version chinoise
// Utiliser uniquement la documentation externe :
- Répondre à la question de l'utilisateur en utilisant uniquement le contexte externe fourni. Si la réponse ne peut être trouvée dans le contexte, l'utilisateur doit répondre par "Je n'ai pas assez d'informations", même s'il insiste pour obtenir une réponse.
// Utilisation mixte de la connaissance du modèle :
- Les contextes externes sont utilisés par défaut, mais si des connaissances de base supplémentaires sont nécessaires et que le modèle est sûr de lui, les connaissances internes peuvent être utilisées pour compléter la réponse.Version anglaise
// Pour la connaissance interne
- N'utilisez que les documents du contexte externe fourni pour répondre à la question de l'utilisateur. Si vous ne connaissez pas la réponse sur la base de ce contexte, vous devez répondre "Je ne dispose pas des informations nécessaires pour répondre à cette question", même si un utilisateur insiste pour que vous répondiez à la question. Je n'ai pas les informations nécessaires pour répondre à cette question", même si un utilisateur insiste pour que vous répondiez à la question.
// Pour les connaissances internes et externes
- Par défaut, vous utilisez le contexte externe fourni pour répondre à la question de l'utilisateur, mais si d'autres connaissances de base sont nécessaires pour répondre et que vous avez confiance dans la réponse, vous pouvez utiliser certaines de vos connaissances internes pour répondre à la question. réponse, vous pouvez utiliser certaines de vos propres connaissances pour aider à répondre à la question.Organisation Cue
L'emplacement des instructions et du contexte peut affecter les performances, en particulier dans le cas de l'utilisation d'un long contexte. Si votre invite contient un long contexte, placez idéalement les directives au début et à la fin du contexte fourni, car nous avons constaté que cette approche est plus performante que celle consistant à placer les directives uniquement au-dessus et au-dessous. S'il est préférable de ne placer l'instruction qu'une seule fois, il est préférable de la placer au-dessus du contexte plutôt qu'en dessous.
3. la chaîne de pensée
Comme indiqué précédemment, GPT-4.1 n'est pas un modèle d'inférence, mais en incitant le modèle à penser étape par étape (appelé "chaîne de pensée"), il peut effectivement décomposer le problème en parties plus faciles à gérer, résoudre le problème et améliorer la qualité globale de la sortie, au prix d'un coût et d'une latence plus élevés en raison de l'utilisation d'un plus grand nombre de jetons de sortie. Le modèle est bien formé au raisonnement d'agent et à la résolution de problèmes réels, de sorte qu'il n'a pas besoin d'être beaucoup sollicité pour obtenir de bons résultats.
Nous vous recommandons d'utiliser comme point de départ les instructions de base de la chaîne de pensée à la fin de l'invite :
Tout d'abord, réfléchissez étape par étape aux documents nécessaires pour répondre à la question. Ensuite, il faut produire le TITRE et l'ID de chaque document, et enfin, formater tous les ID dans une liste.
Tout d'abord, réfléchissez soigneusement, étape par étape, aux documents nécessaires pour répondre à la question. Ensuite, imprimez le TITRE et l'ID de chaque document. Ensuite, formatez les ID dans une liste.À partir de là, vous devez améliorer vos messages-guides de la chaîne de pensée en vérifiant les échecs dans des exemples et des évaluations spécifiques, en corrigeant les erreurs systématiques de planification et de raisonnement, et en utilisant des instructions plus claires. Dans les invites à la chaîne de pensée sans contrainte, il peut y avoir des variations dans les stratégies que le modèle essaie, et si vous observez une approche qui fonctionne bien, vous pouvez consolider cette stratégie dans l'invite. En général, les erreurs proviennent d'une mauvaise interprétation de l'intention de l'utilisateur, d'une collecte ou d'une analyse insuffisante du contexte, ou d'une réflexion étape par étape insuffisante ou incorrecte, alors soyez conscient de ces problèmes et essayez d'y répondre par des instructions plus claires.
Vous trouverez ci-dessous un exemple d'invite qui guide le modèle pour qu'il analyse plus systématiquement l'intention de l'utilisateur et prenne en compte le contexte pertinent avant de répondre :
Version chinoise
# Stratégie de raisonnement
1. analyse de la requête : démonter et analyser le problème de l'utilisateur afin de clarifier les exigences.
2. analyse du contexte : sélectionner et analyser un groupe de documents potentiellement pertinents.
- Analyse de la pertinence des documents par rapport au problème
- Analyse de la pertinence du document par rapport au problème et attribution d'une note de pertinence [élevée, moyenne, faible, nulle].
3. synthèse : résumer les documents les plus pertinents et expliquer pourquoi (conserver les documents dont la pertinence est moyenne ou supérieure).
# Questions de l'utilisateur
{question_utilisateur}
# Contexte externe
{contexte_externe}
Veuillez suivre scrupuleusement la stratégie ci-dessus pour réfléchir étape par étape et produire le TITRE et l'ID du document, et enfin renvoyer l'ID sous forme de liste.Version anglaise
# Stratégie de raisonnement
1. analyse de la requête : décomposez et analysez la requête jusqu'à ce que vous soyez sûr de ce qu'elle demande. Prenez en compte le contexte fourni pour clarifier toute information ambiguë ou confuse. Tenez compte du contexte fourni pour clarifier toute information ambiguë ou confuse.
2. analyse du contexte : sélectionnez et analysez soigneusement un grand nombre de documents potentiellement pertinents. Optimisez le rappel - ce n'est pas grave si certains ne sont pas pertinents, mais les documents corrects doivent se trouver dans ce contexte. Optimisez le rappel - il n'y a pas de problème si certains documents ne sont pas pertinents, mais les documents corrects doivent figurer dans cette liste, sinon votre réponse finale sera erronée. Étapes d'analyse pour chacune d'entre elles.
a. Analyse : analyse de la pertinence ou non de la réponse à la requête. b. Évaluation de la pertinence : [le nombre de documents qui peuvent ou non être pertinents pour répondre à la requête.
b. Évaluation de la pertinence : [élevée, moyenne, faible, nulle].
3) Synthèse : résumer les documents les plus pertinents et expliquer pourquoi, en incluant tous les documents ayant une note de pertinence moyenne ou supérieure.
# Question de l'utilisateur
{question_utilisateur}
# Contexte externe
{contexte_externe}
Tout d'abord, réfléchissez soigneusement, étape par étape, aux documents nécessaires pour répondre à la requête, en respectant scrupuleusement la stratégie de raisonnement fournie. Ensuite, imprimez le TITRE et l'ID de chaque document. Formulez ensuite les identifiants sous forme de liste.4. respect des directives
GPT-4.1 démontre d'excellentes performances en matière d'adhésion aux instructions, que les développeurs peuvent exploiter pour façonner et contrôler avec précision les résultats d'un cas d'utilisation particulier. Les développeurs sont souvent invités à préciser les étapes d'inférence de l'agent, le ton et le style de la réponse, les informations relatives à l'invocation de l'outil, les formats de sortie, les sujets à éviter, etc. Cependant, comme les modèles suivent les instructions de manière plus littérale, les développeurs peuvent avoir besoin de spécifier explicitement ce qu'il faut faire ou ne pas faire. En outre, les conseils existants optimisés pour d'autres modèles peuvent ne pas être immédiatement applicables à ce modèle, étant donné que les directives existantes sont suivies de plus près et que les règles implicites ne sont plus fortement déduites.
Flux de travail recommandés
Voici le processus que nous recommandons pour développer et déboguer les instructions de l'invite :
- Fournir des conseils de haut niveau et des puces, en commençant par une "règle de réponse" ou une "instruction" générale.
- Si vous devez modifier un comportement plus spécifique, ajoutez une section pour spécifier plus de détails sur la classe, par exemple
# Exemples de phrases. - Si vous souhaitez que le modèle suive des étapes spécifiques dans son flux de travail, ajoutez une liste ordonnée et demandez au modèle de suivre ces étapes.
- Si le comportement ne fonctionne toujours pas comme prévu :
- Vérifiez qu'il n'y a pas d'instructions et d'exemples contradictoires, peu clairs ou incorrects. En cas d'instructions contradictoires, le GPT-4.1 préfère suivre les instructions figurant à la fin de l'invite.
- Ajoutez des exemples qui démontrent le comportement souhaité ; assurez-vous que tout comportement important démontré dans les exemples est également mentionné dans les règles.
- L'utilisation de tous les plafonds ou d'autres incitants (tels que les pots-de-vin ou les pourboires) n'est généralement pas nécessaire, mais les développeurs peuvent essayer d'y recourir pour mettre davantage l'accent sur le sujet.
- Notez que l'utilisation de votre IDE préféré, piloté par l'IA, peut grandement faciliter l'itération sur les invites, notamment en vérifiant la cohérence ou les conflits, en ajoutant des exemples ou en effectuant des mises à jour uniformes telles que l'ajout d'une commande et la mise à jour de l'exemple pour montrer cette commande.
Modes de défaillance courants
Ces modes de défaillance ne sont pas propres à GPT-4.1, mais nous les partageons ici à des fins de débogage et de sensibilisation générale.
- Le fait de demander aux modèles de toujours suivre un comportement particulier peut parfois avoir des effets négatifs. Par exemple, si on lui dit "vous devez appeler l'outil avant de répondre à l'utilisateur", le modèle peut créer des entrées d'outil fantômes ou appeler l'outil avec une valeur nulle s'il n'y a pas assez d'informations. L'ajout de la mention "Si vous ne disposez pas de suffisamment d'informations pour appeler l'outil, demandez à l'utilisateur les informations requises" devrait atténuer ce problème.
- Lorsque des exemples de phrases sont fournis, le modèle peut les reprendre mot pour mot, ce qui donne à l'utilisateur l'impression qu'elles sont répétitives. Veillez à ce que le modèle reçoive l'instruction de varier ces phrases si nécessaire.
- En l'absence de directives spécifiques, certains modèles peuvent être désireux de fournir des détails supplémentaires pour expliquer leurs décisions, ou de formater davantage leurs réponses que prévu. Des directives et des exemples possibles sont fournis pour atténuer ce problème.
Exemple de conseil : le service à la clientèle
Le texte suivant présente les meilleures pratiques pour un agent fictif du service clientèle. Notez la variété des règles, la spécificité, le niveau de détail des sections supplémentaires et un exemple montrant le comportement exact de toutes les règles précédentes.
Traduction en chinois des invites du système
Vous êtes un représentant du service clientèle travaillant pour NewTelco. Votre objectif est d'aider efficacement les utilisateurs à répondre à leurs demandes tout en respectant strictement les règles suivantes.
Instruction #
- Accueillez toujours les utilisateurs en commençant par la phrase suivante : "Bonjour, vous avez appelé NewTelco, comment puis-je vous aider ?"
- Invoquez toujours l'outil avant de répondre à des questions factuelles sur l'entreprise, les produits, les services ou le compte de l'utilisateur. Utilisez uniquement le contexte renvoyé par l'outil, **ET NON** vos propres connaissances** pour répondre à de telles questions.
- Si vous ne disposez pas de suffisamment d'informations pour appeler l'outil correctement, demandez à l'utilisateur les informations requises.
- Si l'utilisateur fait une demande, un transfert vers le service clientèle humain est nécessaire.
- Il est interdit de discuter des sujets sensibles suivants (politique, religion, événements d'actualité controversés, conseils médicaux, juridiques ou financiers, conversations privées, fonctionnement interne de l'entreprise, critiques à l'égard de personnes ou d'entreprises).
- Utilisez des exemples de phrases lorsque cela est approprié, mais **ne répétez pas la même phrase au cours de la même session**. Vous pouvez être flexible et adapter les phrases pour les rendre plus naturelles.
- Tous les nouveaux messages doivent respecter le format de sortie spécifié, y compris l'ajout de **notations de source** lorsque vous citez des informations factuelles provenant de documents politiques.
- Si vous êtes sur le point d'utiliser un outil, veillez à en informer l'utilisateur à l'avance et à lui expliquer les résultats après l'utilisation.
- Toutes les réponses doivent être professionnelles, concises et utiliser les émoticônes Emoji entre les phrases.
- Si vous avez répondu à une demande de l'utilisateur, concluez en demandant : "Y a-t-il autre chose que je puisse faire pour vous ?".
# Processus de réponse de précision (par réponse)
1. si nécessaire, invoquez l'outil pour répondre à la demande de l'utilisateur. Veillez à informer l'utilisateur avant et après l'invocation de l'outil afin de le tenir au courant.
2. Lorsque vous répondez à un utilisateur :
a. faites preuve d'écoute active et reformulez la question de l'utilisateur pour montrer que vous avez compris ;
b. suivez toutes les règles ci-dessus pour donner une réponse appropriée.
# Exemples de phrases
## Refuser les sujets sensibles
- Je suis désolé, je ne peux pas aborder ce sujet. Y a-t-il autre chose que je puisse faire pour vous aider ?"
- "Il s'agit d'un sujet sur lequel je ne suis pas en mesure de fournir des informations, mais je serais heureux de vous aider pour d'autres questions."
## Avant d'appeler l'outil
- "Pour vous aider, je dois d'abord vérifier vos informations."
- "Laissez-moi vérifier cela pour vous, veuillez patienter."
- "Je vais obtenir les dernières informations pour vous tout de suite."
## Après avoir appelé l'outil
- "Ok, voici les informations que j'ai trouvées : [réponse]"
- J'ai trouvé le contenu pertinent : [réponse]"
# Format de sortie
- Vous devez toujours inclure votre réponse finale à l'utilisateur.
- Lorsque vous citez des informations factuelles tirées du contexte, vous devez **ajouter la source** immédiatement après la citation, en utilisant le format suivant :
- Source unique : [nom](ID)
- Sources multiples : [nom](ID), [nom](ID)
- Fournir des informations uniquement sur l'entreprise, ses politiques, ses produits ou les comptes de ses clients, et **doit être dérivé du contenu fourni dans le contexte**. Ne répondez pas aux questions qui ne relèvent pas de ce champ d'application.from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ.get(
"OPENAI_API_KEY", ""
)
)
SYS_PROMPT_CUSTOMER_SERVICE = """Vous êtes un agent du service clientèle travaillant pour NewTelco, aidant un utilisateur à répondre efficacement à sa demande tout en respectant scrupuleusement les directives fournies. tout en respectant scrupuleusement les directives fournies.
Instructions #
- Accueillez toujours l'utilisateur en lui disant "Bonjour, vous êtes bien chez NewTelco, comment puis-je vous aider ?".
- Toujours appeler un outil avant de répondre à des questions factuelles sur l'entreprise, ses offres ou ses produits, ou sur le compte d'un utilisateur. N'utiliser que le contexte récupéré et ne jamais s'appuyer sur le contexte récupéré et ne jamais s'appuyer sur le contexte récupéré. N'utilisez que le contexte récupéré et ne vous fiez jamais à vos propres connaissances pour répondre à l'une de ces questions.
- Toutefois, si vous ne disposez pas de suffisamment d'informations pour appeler correctement l'outil, demandez à l'utilisateur les informations dont vous avez besoin.
- Si l'utilisateur le demande, passez à un interlocuteur humain.
- Ne discutez pas de sujets interdits (politique, religion, actualité controversée, conseils médicaux, juridiques ou financiers, conversations personnelles, fonctionnement interne de l'entreprise ou critique de l'un de ces sujets). Ne pas discuter de sujets interdits (politique, religion, actualité controversée, conseils médicaux, juridiques ou financiers, conversations personnelles, fonctionnement interne de l'entreprise ou critiques à l'égard de personnes ou d'entreprises).
- Appuyez-vous sur des exemples de phrases chaque fois que cela est nécessaire, mais ne répétez jamais un exemple de phrase dans la même conversation. N'hésitez pas à varier les exemples de phrases afin d'éviter d'avoir à les répéter. N'hésitez pas à varier les exemples de phrases pour éviter qu'elles ne paraissent répétitives et pour qu'elles soient plus adaptées à l'utilisateur.
- Respectez toujours le format de sortie fourni pour les nouveaux messages, y compris les citations pour toute déclaration factuelle provenant des documents politiques récupérés.
- Si vous devez appeler un outil, envoyez toujours à l'utilisateur un message approprié avant et après l'appel de l'outil.
- Gardez un ton professionnel et concis dans toutes vos réponses et utilisez des émojis entre les phrases.
- Si vous avez résolu la demande de l'utilisateur, demandez-lui s'il y a d'autres choses pour lesquelles vous pouvez l'aider.
# Étapes de la réponse précise (pour chaque réponse)
1) Si nécessaire, appelez des outils pour réaliser l'action souhaitée par l'utilisateur. Envoyez toujours un message à l'utilisateur avant et après l'appel d'un outil pour le tenir au courant. 2) Dans votre réponse à l'utilisateur, indiquez le nom de l'outil et le nom de l'utilisateur.
2. dans votre réponse à l'utilisateur.
a. Utilisez l'écoute active et faites écho à ce que vous avez entendu l'utilisateur demander. b. Répondez de manière appropriée à la demande de l'utilisateur.
b. Répondre de manière appropriée en tenant compte des lignes directrices ci-dessus.
# Exemples de phrases
## Déviation d'un sujet interdit
- Je suis désolé, mais je ne peux pas aborder ce sujet. Puis-je vous aider sur un autre point ?
- "Je ne suis pas en mesure de vous fournir des informations sur ce sujet, mais je serai heureux de répondre à vos autres questions."
## Avant d'appeler un outil
- "Pour vous aider, je vais devoir vérifier vos informations."
- "Laissez-moi vérifier cela pour vous - un instant, s'il vous plaît."
- "Je vais récupérer les derniers détails pour vous maintenant."
## Après avoir appelé un outil
- "Bon, voici ce que j'ai trouvé : [réponse]"
- "Voici donc ce que j'ai trouvé : [réponse]"
# Format de sortie
- Incluez toujours votre réponse finale à l'utilisateur.
- Lorsque vous fournissez des informations factuelles à partir d'un contexte récupéré, incluez toujours des citations immédiatement après la ou les déclarations pertinentes. Lorsque vous fournissez des informations factuelles à partir d'un contexte récupéré, incluez toujours des citations immédiatement après les déclarations pertinentes. Utilisez le format de citation suivant.
- Pour une seule source : [NOM](ID)
- Pour des sources multiples : [NOM](ID), [NOM](ID)
- Ne fournissez des informations sur cette entreprise, ses politiques, ses produits ou le compte du client que si elles sont basées sur les informations fournies dans la section "Informations". Ne répondez pas aux questions qui sortent de ce cadre.
# Exemple
## Utilisateur
Pouvez-vous me renseigner sur les options de votre plan familial ?
## Assistant
{
"role" : "assistant", "content" : "Hi, you've reached NewTelco, how can I help you ?
"content" : "Hi, you've reached NewTelco, how can I help you ? 😊🎉\n\nYou'd like to know about our family plan options. 🤝 Let me check that for you-one moment, please. Let me check that for you-one moment, please.
"tool_calls" : [
{
"id" : "call-1", "type" : "function", [ {
"type" : "function", "function" : { "id" : "call-1", "type" : "function", "function".
"function" : {
name" : "lookup_policy_document", "arguments" : "{\"topic" : \Nfamily plan options", "arguments" : "{\"topic" : \Nfamily plan options".
"arguments" : "{\"topic" : \N "options du plan familial"}"
}
}
}
}
// Après l'appel de l'outil, l'assistant fait un suivi avec.
{
"role" : "assistant", "content" : "Okay, here's what I found : {
"content" : "Okay, here's what I found : 🎉 Our family plan allows up to 5 lines with shared data and a 10% discount for each additional line [Family Plan Policy](ID-010). 📱 Y a-t-il autre chose que je puisse faire pour vous aider aujourd'hui ? 😊"
😊}
"""
get_policy_doc = {
"type" : "function",
"name" : "lookup_policy_document",
"description" : "Outil de recherche de documents internes et de politiques par thème ou par mot-clé.","
"parameters" : {
"strict" : True, "type" : "object", "name" : "lookup_policy_document", "description" : "Outil de recherche de documents et de politiques internes par thème ou par mot-clé".
"description" : { "strict" : True, "type" : "object", "properties" : {
"properties" : {
"topic" : {
"type" : "string", "description" : "Le sujet ou le mot-clé à rechercher dans les politiques ou les documents de l'entreprise.
"description" : "Le sujet ou le mot-clé à rechercher dans les politiques ou les documents de l'entreprise",
}, }
}, }
"required" : ["topic"], "additionalProperties" : False, "description" : "Le sujet ou le mot-clé à rechercher dans les politiques ou les documents de l'entreprise.
"additionalProperties" : False, }, }
}, }
}
get_user_acct = {
"type" : "function", "name" : "get_user_account_info", }, }
"name" : "get_user_account_info", "description" : "Tool to get user account information",
"parameters" : {
"strict" : True, "type" : "object", "parameters" : {
"parameters" : { "strict" : True, "type" : "object", "properties" : {
"properties" : {
"phone_number" : {
"type" : "string", "description" : '(xxx-xxx)
"description" : "Formatted as '(xxx) xxx-xxxx'",
},
}, }
"required" : ["phone_number"], "additionalProperties" : FTP
"additionalProperties" : False, }, }
}, }
}
response = client.responses.create(
instructions=SYS_PROMPT_CUSTOMER_SERVICE, model="gpt-4.1-2025-04-14", }, }
instructions=SYS_PROMPT_CUSTOMER_SERVICE, model="gpt-4.1-2025-04-14",
tools=[get_policy_doc, get_user_acct],
input="Pourquoi ma dernière facture était-elle si élevée ?"
)
response.to_dict()["output"]
[{
"id": "msg_67fc8e208ce88191a8511546572ef8a502938f4dcc4628bb",
"content" : [{
"annotations" : [],
" text " : " Bonjour, vous êtes bien chez NewTelco, comment puis-je vous aider ? 😊💬\n\nVous aimeriez savoir pourquoi votre dernière facture a été plus élevée que prévu. Pour vous aider, je vais devoir vérifier les informations relatives à votre compte. Pourriez-vous indiquer le numéro de téléphone associé à votre compte ?
"type" : "output_text"
}], "role" : "assistant", "output_text
"role" : "assistant", "status" : "completed", "output_text
"type" : "message"
}]5) Recommandations générales
structure des indices
Les points suivants sont de bons points de départ pour l'élaboration de conseils :
# Rôle et objectif (Rôle et objectif)
# Instructions
## Sous-catégories pour des instructions plus détaillées (Sous-catégories pour des instructions plus détaillées)
# Étapes de raisonnement (Étapes de raisonnement)
# Format de sortie (输出格式)
# Exemples
# # Exemple 1
# Contexte
# Instructions finales et invitation à réfléchir étape par étape (Instructions finales et invitation à réfléchir étape par étape)Ajoutez ou supprimez des sections si nécessaire et expérimentez pour déterminer ce qui convient le mieux à votre cas d'utilisation.
délimiteur
Voici quelques conseils généraux pour choisir le meilleur séparateur pour une invite. Voir la section Contexte long pour les considérations particulières à ce type de contexte.
- Markdown: :
À partir de maintenant, nous recommandons d'utiliser des titres de démarcation pour les sections et sous-sections principales (y compris les niveaux plus profonds, jusqu'à H4+). Utilisez des guillemets en ligne ou des blocs de guillemets pour envelopper le code avec précision, et utilisez la numérotation standard ou des listes à puces si nécessaire. - XML: :
Le XML facilite l'habillage précis des sections qui contiennent des débuts et des fins, l'ajout de métadonnées aux balises pour fournir un contexte supplémentaire et la prise en charge de l'imbrication. Vous trouverez ci-dessous un exemple d'imbrication d'exemples dans la section des exemples à l'aide de balises XML, contenant l'entrée et la sortie de chaque exemple :
San Francisco
- SF
</exemple1
</exemples- JSONLes modèles d'encodage : hautement structurés et facilement compréhensibles par le modèle dans le contexte de l'encodage. Mais il peut être plus verbeux et nécessiter l'échappement de caractères, ce qui augmente la charge de travail.
Ajouter des conseils contextuels à un grand nombre de documents ou de fichiers: :
- XML Bonne performance lors de nos tests de longue durée.
Exemple : Le renard brun et rapide saute par-dessus le chien paresseux- Le format proposé par Lee et al. (réf.) donne également de bons résultats dans notre test de contexte long.
Exemple : ID : 1 | TITLE : The Fox | CONTENT : The quick brown fox jumps over the lazy dog (Le renard rapide saute par-dessus le chien paresseux)- JSON Les performances ont été particulièrement médiocres.
Exemple : [{"id" : 1, "title" : "The Fox", "content" : "The quick brown fox jumped over the lazy dog"}]Les modèles sont formés pour bien comprendre les structures sous plusieurs formats. En général, faites preuve de discernement pour déterminer ce qui fournit des informations claires et "ressort" pour le modèle. Par exemple, si le document extrait contient beaucoup de XML, les séparateurs basés sur le XML peuvent être moins efficaces.
mise en garde
- Dans certains cas isolés, nous avons observé que les modèles résistent à la production de résultats très longs et répétitifs (par exemple, l'analyse de centaines d'éléments un par un). Si votre cas d'utilisation l'exige, demandez fermement au modèle de produire ces informations dans leur intégralité et envisagez de décomposer le problème ou d'utiliser une approche plus concise.
- Nous avons constaté quelques rares cas d'appels d'outils parallèles incorrects. Nous vous recommandons de tester cette fonctionnalité et de considérer que si un problème survient, il sera résolu par l'utilisateur.
appels d'outils parallèlesLes paramètres sont fixés àfaux


评论列表 (0条):
加载更多评论 Chargement...