> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer des playbooks

> Créez une bibliothèque de prompts réutilisables pour votre organisation

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<div id="what-are-playbooks">
  ## Qu’est-ce qu’un Playbook ?
</div>

<div id="playbooks-are-easily-shareable-reusable-prompts-for-repeated-tasks">
  ### Les Playbooks sont des prompts facilement partageables et réutilisables pour les tâches répétitives
</div>

Un Playbook s’apparente à un prompt système personnalisé pour une tâche répétitive. Par exemple, si vous avez besoin de nombreuses sessions Devin différentes qui intègrent toutes la même bibliothèque tierce, mais dans différentes parties de votre application, vous pouvez avoir besoin d’un Playbook.

Les Playbooks sont également facilement partageables et réutilisables : une fois que quelqu’un réussit avec Devin, les autres peuvent plus facilement reproduire ce succès !

<Tip>La plupart des bonnes pratiques, guides de style ou autres instructions propres à un projet doivent être partagés avec Devin en utilisant [Knowledge](/fr/product-guides/knowledge). Nous vous recommandons de lire la documentation de Knowledge avant de créer des Playbooks, afin de comprendre quelle méthode correspond le mieux à vos besoins.</Tip>

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/p6mfZwd14EeP9cx_/images/playbooks1.png?fit=max&auto=format&n=p6mfZwd14EeP9cx_&q=85&s=881388e8e5f66ec8c4b83495577de4c8" alt="Devin" width="2468" height="1438" data-path="images/playbooks1.png" />
</Frame>

Nous recommandons d’utiliser des Playbooks lorsque :

* Vous ou vos collègues allez réutiliser le prompt dans plusieurs sessions.
* Vous vous surprenez à répéter les mêmes rappels à Devin.
* Le cas d’usage peut être pertinent pour d’autres — dans votre organisation ou au sein de la communauté d’utilisateurs de Devin.

<div id="getting-started-with-playbooks">
  ## Bien démarrer avec les Playbooks
</div>

<Tip> Les Playbooks peuvent immédiatement décupler la capacité de Devin à contribuer dans un large éventail de domaines, mais nécessitent aujourd’hui un certain savoir-faire pour être rédigés. À l’image de la conception de prompts, écrire des playbooks implique des essais et des erreurs. Le fruit de ce travail est toutefois un document qui permet à Devin de traiter de manière autonome des tâches complexes, qu’il s’agisse d’ingérer des données dans Redshift et d’effectuer des migrations de base de données ou d’utiliser divers logiciels et API, par exemple Together, Plaid, Stripe, Modal, Springboot, Odoo et Storybook.</Tip>

Pour commencer, rédigez votre premier playbook autour d’une tâche simple en plusieurs étapes que vous souhaitez confier à Devin.

1. Créez un document qui décrit...
   1. Le résultat que vous voulez que Devin atteigne
   2. Les étapes nécessaires pour y parvenir
2. **Optionnel** : ajoutez des sections comme **procédure**, **spécifications**, **conseil**, **actions interdites** ou **Required from User**
   1. **procédure** : décrivez l’ensemble du périmètre de la tâche. Incluez au moins une étape pour la configuration, la tâche elle-même et la livraison.
   2. **spécifications** : décrivez les postconditions – qu’est-ce qui doit être vrai une fois que Devin a terminé ?
   3. **conseil** : incluez des conseils pour corriger les a priori de Devin
   4. **actions interdites** : indiquez toute action que Devin ne doit absolument pas effectuer
   5. **Required from User** : décrivez toute entrée ou information nécessaire de la part de l’utilisateur
3. Créez le playbook directement dans l’application web en cliquant sur [Create a new Playbook](https://app.devin.ai/settings/playbooks/create). Vous pouvez aussi enregistrer un fichier avec l’extension `.devin.md` et le faire glisser dans l’application web au démarrage d’une session Devin

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/p6mfZwd14EeP9cx_/images/playbooks2.png?fit=max&auto=format&n=p6mfZwd14EeP9cx_&q=85&s=80bc8065ad88a19a668d1989673e24ab" alt="Devin" width="1226" height="386" data-path="images/playbooks2.png" />
</Frame>

<Tip> Vous avez correctement attaché un playbook à une session si vous voyez apparaître une pastille bleue, ainsi qu’un composant inline pour modifier le playbook avant de démarrer votre session. </Tip>

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/p6mfZwd14EeP9cx_/images/playbooks3.png?fit=max&auto=format&n=p6mfZwd14EeP9cx_&q=85&s=8ef6abaa79e6e8f5249da8160fb82ce1" alt="Devin" width="1920" height="416" data-path="images/playbooks3.png" />
</Frame>

<div id="writing-a-great-playbook">
  ## Rédiger un playbook de qualité
</div>

<div id="procedure">
  ### Procédure
</div>

La section Procédure doit...

* Avoir **une étape par ligne**, chaque ligne rédigée à l'impératif
* Couvrir l'ensemble de la tâche
* Inclure au moins une étape pour la configuration, la tâche proprement dite et le livrable
* Viser à rendre les étapes **Mutuellement Exclusives** et **Collectivement Exhaustives**
* **Conseils supplémentaires**
  * Les procédures doivent vous aider à définir l'ordre dans lequel Devin agit — comme des if/else/boucles/goto dans le code
  * Ne rendez pas les tâches trop spécifiques, sauf si c'est vraiment nécessaire, car cela peut limiter la capacité de Devin à résoudre des problèmes
  * Chaque étape de la procédure doit contenir un verbe d'action — par exemple : écrire, naviguer vers, etc.

<div id="advice-and-pointers">
  ### Conseils et recommandations
</div>

Partagez des conseils et des recommandations avec Devin si...

* Vous avez une manière préférée d’accomplir les tâches
* Le conseil s’applique à l’ensemble de la tâche ou à plusieurs étapes. Un conseil spécifique à une seule étape doit être écrit à côté de cette étape (par exemple sous forme de sous-puce)
* Vous corrigez les prérequis ou suppositions initiales de Devin. Les conseils peuvent fonctionner comme des commentaires sur du pseudocode qui influencent son exécution.

<Tip> Si le conseil ne s’applique qu’à une seule étape de la procédure, écrivez-le sous cette étape en utilisant des puces imbriquées </Tip>

<div id="specifications">
  ### Spécifications
</div>

La section **Spécifications** peut être utile pour décrire les postconditions du playbook — qu’est-ce qui doit être vérifié une fois que Devin a terminé ?

<div id="whats-needed-from-user">
  ### Ce qui est nécessaire de la part de l'utilisateur
</div>

Identifiez tout ce qui est nécessaire mais échappe au contrôle de Devin. Par exemple, si l'utilisateur doit fournir un jeton ou des informations qui ne sont pas accessibles publiquement à Devin.

<div id="other-tips-tactics">
  ### Autres conseils et tactiques
</div>

<AccordionGroup>
  <Accordion title="Itérer et améliorer par essais et erreurs">
    * Exécutez 2 Devins ou plus en parallèle avec le même playbook pour identifier rapidement les erreurs possibles.
    * Si Devin a besoin d'aide, discutez avec lui pour le débloquer. Ajoutez ensuite ces précisions à votre playbook afin que Devin réussisse sans intervention la prochaine fois.
  </Accordion>

  <Accordion title="Dites à Devin à quoi ressemble un bon résultat">
    Soyez explicite sur le livrable attendu et sur la manière dont Devin doit indiquer qu’il a terminé (par exemple, quels fichiers joindre ou quels liens partager, le cas échéant).
  </Accordion>

  <Accordion title="Optimiser la vitesse d’exécution de votre playbook">
    Explorez les différentes décisions que Devin peut prendre et guidez-le vers la voie la plus efficace dans le playbook.
  </Accordion>

  <Accordion title="Commandes spécifiques, incantations et chaînes de caractères : tout est permis">
    * Elles peuvent faire la différence entre un playbook fonctionnel et un playbook défaillant.
    * Par exemple, le détail suivant peut être très utile à inclure, car alloy et tts-1 ne sont probablement pas des choix que Devin aurait faits de lui-même, et cela oriente Devin dans une direction plus susceptible de réussir !

    ```
    3. Create request dict with model: "tts-1", voice: "alloy"
    ```
  </Accordion>
</AccordionGroup>

<div id="example-playbook">
  ## Exemple de playbook
</div>

Consultez des sessions d’exemple utilisant le playbook ci-dessous [ici](https://app.devin.ai/sessions/93f381206f44492e9fc8b236ee022877) et [ici](https://app.devin.ai/sessions/eed1a18b9ce348f69e6bac84bb42d992).

<div id="macros">
  ## Macros
</div>

Vous pouvez attribuer une **macro** à n’importe quel playbook — un identifiant court commençant par `!` (par ex. `!data-tutorial`). Les macros vous permettent d’associer rapidement un playbook à une session en saisissant le nom de sa macro dans le champ de saisie du prompt. Les macros ne peuvent contenir que des lettres, des chiffres et des tirets, et doivent être uniques au sein de votre organisation.

<div id="version-history">
  ## Historique des versions
</div>

Les playbooks conservent un **historique des versions** qui vous permet de suivre les modifications au fil du temps. Chaque fois que vous modifiez et enregistrez un playbook, une nouvelle version est créée. Vous pouvez consulter les versions précédentes et revenir à une version antérieure si une modification récente n’a pas produit le résultat attendu.

<div id="enterprise-playbooks">
  ## Playbooks Enterprise
</div>

Pour les clients Enterprise, les playbooks peuvent être gérés au **niveau de l’Enterprise** en plus du niveau de l’organisation. Les playbooks Enterprise sont partagés entre toutes les organisations de votre Enterprise, ce qui facilite la standardisation des workflows entre les équipes. Les administrateurs Enterprise peuvent créer et gérer des playbooks au niveau de l’Enterprise depuis les Settings Enterprise.

<PromptBlock>
  ```txt R Data Science Tutorial theme={null}
  Playbook : R Data Science Tutorial

  ## Aperçu
  Créer un tutoriel de data science à l’aide d’un notebook R Markdown.

  ## Informations nécessaires de la part de l’utilisateur
  - Lien vers un jeu de données (fichier CSV en pièce jointe ou lien Kaggle)
  - Tâche spécifique pour laquelle créer le tutoriel de data science

  ## Procédure
  1. Télécharger le jeu de données fourni par l’utilisateur.
  -  Si nécessaire, télécharger le jeu de données à l’aide du CLI Kaggle – aucune information d’identification n’est requise pour cela.
  2. Créer un notebook R Markdown intitulé `data_science_tutorial.Rmd`.
  3. Créer un fichier `tmp.Rmd` pour écrire et sauvegarder le code intermédiaire.
  4. Créer 5 sections principales dans le fichier `data_science_tutorial.Rmd` et y ajouter le code depuis le fichier `tmp.Rmd` contenant les éléments suivants :
  - Statistiques du jeu de données. Générer un résumé statistique du jeu de données.
  - EDA (Exploratory Data Analysis). Créer un diagramme en barres et un nuage de points pour les données fournies.
  - Séparation train-test. Diviser les données selon un ratio 80:20. Sauvegarder les données d’entraînement et de test.
  - Entraînement du modèle de machine learning. Sauvegarder le modèle une fois entraîné.
  - Inférence avec le modèle sauvegardé. Charger le modèle sauvegardé et évaluer ses performances sur le jeu de test en utilisant la métrique spécifiée par l’utilisateur.
  5. Une fois le code écrit, ajouter une brève explication pour chaque section.
  6. Convertir le notebook R Markdown au format HTML.
  7. Envoyer à l’utilisateur le notebook R Markdown final, le fichier HTML, le modèle sauvegardé et les données de test.

  ## Spécifications
  1. Envoyer le notebook R Markdown et le fichier HTML à l’utilisateur.
  2. Envoyer le modèle sauvegardé et les données de test à l’utilisateur.

  ## Conseils et recommandations
  1. Ne pas réinstaller les packages s’ils sont déjà installés.
  2. La connexion à RStudio n’est pas requise pour mener à bien cette tâche.
  3. Exécuter l’intégralité du notebook après avoir ajouté le code pour chaque section.

  ## Actions interdites
  1. Ne pas écraser le fichier `data_science_tutorial.Rmd`.
  ```
</PromptBlock>
