Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Bien qu'il n'existe pas de méthode correcte ou incorrecte pour concevoir une requête, il existe des stratégies courantes que vous pouvez utiliser pour affecter les réponses du modèle. Des tests et une évaluation rigoureux restent essentiels pour optimiser les performances du modèle.
Les grands modèles de langage (LLM) sont entraînés sur de grandes quantités de données textuelles pour apprendre les schémas et les relations entre les unités de langage. Lorsqu'ils reçoivent un texte (la requête), les modèles de langage peuvent prédire ce qui est le plus susceptible de suivre, à la manière d'un outil de saisie semi-automatique très sophistiqué. Par conséquent, lorsque vous concevez des requêtes, prenez en compte les différents facteurs susceptibles d'influencer les prédictions du modèle.
Workflow de prompt engineering
Le prompt engineering est un processus itératif basé sur les tests qui peut améliorer les performances du modèle.
Lorsque vous créez des requêtes, il est important de définir clairement les objectifs et les résultats attendus pour chaque requête, puis de les tester systématiquement afin d'identifier les domaines à améliorer.
Le schéma suivant illustre le workflow de prompt engineering :
Créer une requête efficace
À terme, deux aspects d'une requête affectent son efficacité : le contenu et la structure.
Content:
Pour effectuer une tâche, le modèle a besoin de toutes les informations pertinentes qui lui sont associées. Ces informations peuvent inclure des instructions, des exemples, des informations contextuelles, etc. Pour en savoir plus, consultez la section Composants d'une requête.
Structure :
Même lorsque toutes les informations requises sont fournies dans la requête, la structure des informations aide le modèle à les analyser. La qualité des réponses peut être affectée par des éléments tels que l'ordre, le libellé et l'utilisation de délimiteurs. Pour obtenir un exemple de structure de requête, consultez la section Exemple de modèle de requête.
Composants d'une requête
Le tableau suivant présente les composants essentiels et facultatifs d'une requête :
Composant
Description
Exemple
Objectif
Objectif du modèle. Soyez précis et incluez tous les objectifs généraux. Également appelé "mission" ou "objectif".
Votre objectif est d'aider les élèves à résoudre des problèmes de mathématiques sans leur donner directement la réponse.
Instructions
Instructions détaillées sur la façon d'effectuer la tâche en question. Également appelés "tâche", "étapes" ou "directives".
Comprendre ce que le problème demande.
Comprendre où l'élève est bloqué.
Donner un indice pour l'étape suivante du problème.
Composants facultatifs
Instructions système
Directives techniques ou environnementales pouvant impliquer le contrôle ou la modification du comportement du modèle pour un ensemble de tâches. Pour de nombreuses API de modèle, les instructions système sont spécifiées dans un paramètre dédié.
Les instructions système ne sont disponibles que dans Gemini 1.5 Pro.
Vous êtes un expert en codage spécialisé dans le rendu de code pour les interfaces frontend. Lorsque je décris un composant d'un site Web que je souhaite créer, veuillez renvoyer le code HTML et CSS nécessaire. Ne fournissez pas d'explications sur ce code. Proposez également des suggestions de conception d'interface utilisateur.
Persona
En tant que qui ou quoi le modèle agit. Également appelé "rôle" ou "vision".
Vous êtes professeur de mathématiques et vous aidez les élèves à faire leurs devoirs.
Contraintes
Restrictions auxquelles le modèle doit se conformer lors de la génération d'une réponse, y compris ce qu'il peut et ne peut pas faire. Également appelé "garde-corps", "limites" ou "contrôles".
Ne donnez pas directement la réponse à l'élève. Donnez plutôt des indications sur la prochaine étape à suivre pour résoudre le problème. Si l'élève est complètement perdu, donnez-lui les étapes détaillées permettant de résoudre le problème.
Ton
Ton de la réponse. Vous pouvez également influencer le style et le ton en spécifiant un persona. Également appelé "style", "voix" ou "humeur".
Répondez de manière informelle et technique.
Contexte
Toute information à laquelle le modèle doit se référer pour effectuer la tâche en cours.
Également appelés "arrière-plan", "documents" ou "données d'entrée".
Copie des plans de cours de mathématiques de l'élève.
Exemples de reconnaissance de quelques images
Exemples de réponse à une requête donnée. Également appelés "exemplaires" ou "échantillons".
input: J'essaie de calculer combien de balles de golf peuvent tenir dans un cadre d'un volume d'un mètre cube. J'ai converti un mètre cube en centimètres cubes et je l'ai divisé par le volume d'une balle de golf en centimètres cubes, mais le système indique que ma réponse est fausse. output: Les balles de golf sont des sphères et ne peuvent pas être empilées de manière parfaitement efficace. Vos calculs tiennent compte de l'efficacité maximale d'empaquetage des sphères.
Étapes de raisonnement
Demandez au modèle d'expliquer son raisonnement. Cela peut parfois améliorer la capacité de raisonnement du modèle. Également appelé "étape de réflexion".
Expliquez votre raisonnement étape par étape.
Format de réponse
Format de la réponse. Par exemple, vous pouvez demander au modèle de générer la réponse au format JSON, tableau, Markdown, paragraphe, liste à puces, mots clés, elevator pitch, etc. Également appelée "structure", "présentation" ou "mise en page".
Mettez en forme votre réponse en Markdown.
Récapitulatif
Répétez brièvement les points clés de la requête, en particulier les contraintes et le format de réponse, à la fin de la requête.
Ne donnez pas la réponse et donnez-lui des indications. Mettez toujours en forme votre réponse au format Markdown.
Sauvegardes
Ancre les questions à la mission du bot. On les appelle également "règles de sécurité".
N/A
En fonction des tâches spécifiques à effectuer, vous pouvez choisir d'inclure ou d'exclure certains composants facultatifs. Vous pouvez également ajuster l'ordre des composants et vérifier l'impact que cela peut avoir sur la réponse.
Exemple de modèle de requête
Le modèle de requête suivant montre un exemple de requête bien structurée :
<OBJECTIVE_AND_PERSONA>
You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to...
</OBJECTIVE_AND_PERSONA>
<INSTRUCTIONS>
To complete the task, you need to follow these steps:
1.
2.
...
</INSTRUCTIONS>
------------- Optional Components ------------
<CONSTRAINTS>
Dos and don'ts for the following aspects
1. Dos
2. Don'ts
</CONSTRAINTS>
<CONTEXT>
The provided context
</CONTEXT>
<OUTPUT_FORMAT>
The output format must be
1.
2.
...
</OUTPUT_FORMAT>
<FEW_SHOT_EXAMPLES>
Here we provide some examples:
1. Example #1
Input:
Thoughts:
Output:
...
</FEW_SHOT_EXAMPLES>
<RECAP>
Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc.
</RECAP>
Bonnes pratiques
Les bonnes pratiques de conception de requêtes sont les suivantes :
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Overview of prompting strategies\n\n| To see an example of prompt design,\n| run the \"Intro to Prompt Design\" notebook in one of the following\n| environments:\n|\n| [Open in Colab](https://colab.research.google.com/github/GoogleCloudPlatform/generative-ai/blob/main/gemini/prompts/intro_prompt_design.ipynb)\n|\n|\n| \\|\n|\n| [Open in Colab Enterprise](https://console.cloud.google.com/vertex-ai/colab/import/https%3A%2F%2Fraw.githubusercontent.com%2FGoogleCloudPlatform%2Fgenerative-ai%2Fmain%2Fgemini%2Fprompts%2Fintro_prompt_design.ipynb)\n|\n|\n| \\|\n|\n| [Open\n| in Vertex AI Workbench](https://console.cloud.google.com/vertex-ai/workbench/deploy-notebook?download_url=https%3A%2F%2Fraw.githubusercontent.com%2FGoogleCloudPlatform%2Fgenerative-ai%2Fmain%2Fgemini%2Fprompts%2Fintro_prompt_design.ipynb)\n|\n|\n| \\|\n|\n| [View on GitHub](https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/prompts/intro_prompt_design.ipynb)\n\nWhile there's no right or wrong way to design a prompt, there are common strategies that\nyou can use to affect the model's responses. Rigorous testing and evaluation remain crucial for\noptimizing model performance.\n\nLarge language models (LLM) are trained on vast amounts of text data to learn the patterns and\nrelationships between units of language. When given some text (the prompt), language models can\npredict what is likely to come next, like a sophisticated autocompletion tool. Therefore, when\ndesigning prompts, consider the different factors that can influence what a model predicts comes\nnext.\n\n### Prompt engineering workflow\n\nPrompt engineering is a test-driven and iterative process that can enhance model performance.\nWhen creating prompts, it is important to clearly define the objectives and expected outcomes for\neach prompt and systematically test them to identify areas of improvement.\n\nThe following diagram shows the prompt engineering workflow:\n\nHow to create an effective prompt\n---------------------------------\n\nThere are two aspects of a prompt that ultimately affect its effectiveness:\n*content* and *structure*.\n\n- **Content:**\n\n In order to complete a task, the model needs all of the relevant information associated with\n the task. This information can include instructions, examples, contextual information, and so\n on. For details, see [Components of a prompt](#components-of-a-prompt).\n- **Structure:**\n\n Even when all the required information is provided in the prompt, giving the information\n structure helps the model parse the information. Things like the ordering, labeling, and the use\n of delimiters can all affect the quality of responses. For an example of prompt structure, see\n [Sample prompt template](#sample-prompt-template).\n\nComponents of a prompt\n----------------------\n\nThe following table shows the essential and optional components of a prompt:\n\nDepending on the specific tasks at hand, you might choose to include or exclude some of the\noptional components. You can also adjust the ordering of the components and check how that can\naffect the response.\n\nSample prompt template\n----------------------\n\nThe following prompt template shows you an example of what a well-structured prompt might look\nlike:\n\nBest practices\n--------------\n\nPrompt design best practices include the following:\n\n- [Give clear and specific instructions](/vertex-ai/generative-ai/docs/learn/prompts/clear-instructions)\n- [Include few-shot examples](/vertex-ai/generative-ai/docs/learn/prompts/few-shot-examples)\n- [Assign a role](/vertex-ai/generative-ai/docs/learn/prompts/assign-role)\n- [Add contextual information](/vertex-ai/generative-ai/docs/learn/prompts/contextual-information)\n- [Use system instructions](/vertex-ai/generative-ai/docs/learn/prompts/system-instructions)\n- [Structure prompts](/vertex-ai/generative-ai/docs/learn/prompts/structure-prompts)\n- [Instruct the model to explain its reasoning](/vertex-ai/generative-ai/docs/learn/prompts/explain-reasoning)\n- [Break down complex tasks](/vertex-ai/generative-ai/docs/learn/prompts/break-down-prompts)\n- [Experiment with parameter values](/vertex-ai/generative-ai/docs/learn/prompts/adjust-parameter-values)\n- [Prompt iteration strategies](/vertex-ai/generative-ai/docs/learn/prompts/prompt-iteration)\n\nPrompt health checklist\n-----------------------\n\nIf a prompt is not performing as expected, use the following\nchecklist to identify potential issues and improve the prompt's performance.\n\n### Writing issues\n\n- **Typos:** Check keywords that define the task (for example, *sumarize* instead of *summarize*), technical terms, or names of entities, as misspellings can lead to poor performance.\n- **Grammar:** If a sentence is difficult to parse, contains run-on fragments, has mismatched subjects and verbs, or feels structurally awkward, the model may not properly understand the prompt.\n- **Punctuation:** Check your use of commas, periods, quotes, and other separators, as incorrect punctuation can cause the model to misinterpret the prompt.\n- **Use of undefined jargon:** Avoid using domain-specific terms, acronyms, or initialisms as if they have a universal meaning unless they are explicitly defined in the prompt.\n- **Clarity:** If you find yourself wondering about the scope, the specific steps to take, or the implicit assumptions being made, the prompt is likely unclear.\n- **Ambiguity:** Avoid using subjective or relative qualifiers that lack a concrete, measurable definition. Instead, provide objective constraints (for example, \"write a summary of 3 sentences or less\" instead of \"write a brief summary\").\n- **Missing key information:** If the task requires knowledge of a specific document, company policy, user history, or dataset, make sure that information is explicitly included within the prompt.\n- **Poor word choice:** Check the prompt for unnecessarily complex, vague, or verbose phrasing, as it could confuse the model.\n- **Secondary review:** If the model continues to perform poorly, have another person review your prompt.\n\n### Issues with instructions and examples\n\n- **Overt manipulation:** Remove language outside of the core task from the prompt that attempts to influence performance using emotional appeals, flattery, or artificial pressure. While first generation foundation models showed improvement in some circumstances with instructions like \"very bad things will happen if you don't get this correct\", foundation model performance will no longer improve and in many cases will get worse.\n- **Conflicting instructions and examples:** Check for this by auditing the prompt for logical contradictions or mismatches between instructions or an instruction and an example.\n- **Redundant instructions and examples:** Look through the prompt and examples to see if the exact same instruction or concept is stated multiple times in slightly different ways without adding new information or nuance.\n- **Irrelevant instructions and examples:** Check to see if all of the instructions and examples are essential to the core task. If any instructions or examples can be removed without diminishing the model's ability to perform the core task, they might be irrelevant.\n- **Use of [\"few-shot\"](/vertex-ai/generative-ai/docs/learn/prompts/few-shot-examples)\n examples:** If the task is complex, requires a specific format, or has a nuanced tone, make sure there are concrete, illustrative examples that show a sample input and the corresponding output.\n- **Missing output format specification:** Avoid leaving the model to guess the structure of the output; instead, use a clear, explicit instruction to specify the format and show the output structure in your few-shot examples.\n- **Missing role definition:** If you are going to ask the model to act in a specific role, make sure that role is defined in the system instructions.\n\n### Prompt and system design issues\n\n- **Underspecified task:** Ensure that the prompt's instructions provide a clear path for handling edge cases and unexpected inputs, and provide instructions for handling missing data rather than assuming inserted data will always be present and well-formed.\n- **Task outside of model capabilities:** Avoid using prompts that ask the model to perform a task for which it has a known, fundamental limitation.\n- **Too many tasks:** If the prompt asks the model to perform several distinct cognitive actions in a single pass (for example, 1. Summarize, 2. Extract entities, 3. Translate, and 4. Draft an email), it is likely trying to accomplish too much. Break the requests into separate prompts.\n- **Non-standard data format:** When model outputs must be machine-readable or follow a specific format, use a widely recognized standard like JSON, XML, Markdown or YAML that can be parsed by common libraries. If your use case requires a non-standard format, consider asking the model to output to a common format and then using code to convert the output.\n- **Incorrect Chain of Thought (CoT) order:** Avoid providing examples that show the model generating its final, structured answer before it has completed its step-by-step reasoning.\n- **Conflicting internal references:** Avoid writing a prompt with non-linear logic or conditionals that require the model to piece together fragmented instructions from multiple different places in the prompt.\n- **Prompt injection risk:** Check if there are explicit safeguards surrounding untrusted user input that is inserted into the prompt, as this can be a major security risk.\n\nWhat's next\n-----------\n\n- Explore examples of prompts in the [Prompt gallery](/vertex-ai/generative-ai/docs/prompt-gallery).\n- Learn how to optimize prompts for use with [Google models](/vertex-ai/generative-ai/docs/learn/models) by using the [Vertex AI prompt optimizer (Preview)](/vertex-ai/generative-ai/docs/learn/prompts/prompt-optimizer).\n- Learn about [responsible AI best practices and Vertex AI's safety filters](/vertex-ai/generative-ai/docs/learn/responsible-ai)."]]