> ## 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.

# Playbooks erstellen

> Erstellen Sie eine Bibliothek mit wiederverwendbaren Prompts für Ihre 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">
  ## Was sind Playbooks?
</div>

<div id="playbooks-are-easily-shareable-reusable-prompts-for-repeated-tasks">
  ### Playbooks sind einfach zu teilende, wiederverwendbare Prompts für wiederkehrende Aufgaben
</div>

Ein Playbook ist wie ein benutzerdefinierter System-Prompt für eine wiederkehrende Aufgabe. Wenn du zum Beispiel viele verschiedene Devin-Sitzungen brauchst, in denen jeweils dieselbe Bibliothek eines Drittanbieters integriert wird – aber in unterschiedlichen Teilen deiner Anwendung –, möchtest du möglicherweise ein Playbook verwenden.

Playbooks sind außerdem leicht zu teilen und wiederzuverwenden. Sobald jemand mit Devin Erfolg hat, können andere diesen Erfolg viel einfacher reproduzieren.

<Tip>Die meisten Best Practices, Styleguides oder anderen projektspezifischen Anweisungen sollten über [Knowledge](/de/product-guides/knowledge) mit Devin geteilt werden. Wir empfehlen, die Dokumentation zu Knowledge zu lesen, bevor du Playbooks erstellst, um zu verstehen, welche Methode besser zu deinen Anforderungen passt.</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>

Wir empfehlen den Einsatz von Playbooks, wenn:

* Du oder deine Teammitglieder den Prompt in mehreren Sitzungen wiederverwenden werdet.
* Du feststellst, dass du Devin dieselben Hinweise immer wieder gibst.
* Der Anwendungsfall für andere relevant sein könnte – in deinem Unternehmen oder in der Devin-Community.

<div id="getting-started-with-playbooks">
  ## Erste Schritte mit Playbooks
</div>

<Tip> Playbooks können Devins Fähigkeiten in vielen Bereichen sofort nutzbar machen, erfordern heute jedoch noch einiges an Können beim Schreiben. Ähnlich wie beim Prompt-Engineering erfordert das Schreiben von Playbooks Ausprobieren und Iteration. Das Ergebnis dieser Arbeit ist jedoch ein Dokument, das Devin in die Lage versetzt, komplexe Aufgaben eigenständig zu übernehmen – vom Einlesen von Daten in Redshift und der Durchführung von Datenbankmigrationen bis hin zur Nutzung unterschiedlichster Software und APIs, z. B. Together, Plaid, Stripe, Modal, Springboot, Odoo und Storybook.</Tip>

Überlege dir für dein erstes Playbook eine einfache, mehrstufige Aufgabe, die Devin für dich übernehmen soll.

1. Erstelle ein Dokument, das Folgendes beschreibt:
   1. Das Ergebnis, das Devin erreichen soll
   2. Die dafür nötigen Schritte
2. **Optional**: Füge Abschnitte wie **Vorgehen**, **Spezifikation**, **Ratschlag**, **Verbotene Aktion** oder **Required from User** hinzu
   1. **Vorgehen**: Skizziere den gesamten Umfang der Aufgabe. Füge mindestens einen Schritt für das Setup, die eigentliche Aufgabe und die Auslieferung hinzu.
   2. **Spezifikation**: Beschreibe die Postconditions – was soll wahr sein, nachdem Devin fertig ist?
   3. **Ratschlag**: Füge Hinweise hinzu, um Devins Vorannahmen zu korrigieren
   4. **Verbotene Aktion**: Nenne alle Aktionen, die Devin auf keinen Fall ausführen darf
   5. **Required from User**: Beschreibe alle Eingaben oder Informationen, die von dir benötigt werden
3. Erstelle das Playbook direkt in der Web-App, indem du auf [Create a new Playbook](https://app.devin.ai/settings/playbooks/create) klickst. Alternativ kannst du eine Datei mit der Dateiendung `.devin.md` speichern und sie beim Start einer Devin-Sitzung per Drag-and-drop in die Web-App ziehen.

<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> Du hast ein Playbook erfolgreich mit einer Sitzung verknüpft, wenn ein blaues Pill-Element erscheint und zusätzlich eine Inline-Komponente zum Bearbeiten des Playbooks angezeigt wird, bevor du deine Sitzung startest. </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">
  ## Ein großartiges Playbook schreiben
</div>

<div id="procedure">
  ### Vorgehen
</div>

Der Abschnitt „Vorgehen“ sollte …

* **einen Schritt pro Zeile** haben, jeder Schritt im Imperativ formuliert
* den gesamten Umfang der Aufgabe abdecken
* mindestens einen Schritt für Setup, die eigentliche Aufgabe und die Übergabe/Ergebnisse enthalten
* darauf abzielen, die Schritte **gegenseitig ausschließend** und **vollständig abdeckend** zu gestalten
* **Zusätzliche Tipps**
  * Vorgehensbeschreibungen sollten dir helfen, die Reihenfolge von Devins Aktionen zu definieren – ähnlich wie if/else/Schleifen/goto im Code
  * Mach Aufgaben nicht zu spezifisch, es sei denn, es ist wirklich nötig; das kann Devins Fähigkeit zur Problemlösung einschränken
  * Jeder Schritt im Vorgehen sollte ein Tätigkeitsverb enthalten – z. B. Schreiben, Navigiere zu etc.

<div id="advice-and-pointers">
  ### Ratschläge und Hinweise
</div>

Geben Sie Devin Ratschläge und Hinweise, wenn …

* Sie eine bevorzugte Vorgehensweise zur Erledigung der Aufgaben haben
* die Hinweise für die gesamte Aufgabe oder für mehrere Schritte gelten. Hinweise, die nur für einen Schritt gelten, sollten direkt bei diesem Schritt stehen (z. B. als Unterpunkt)
* Sie Devins Vorannahmen korrigieren. Hinweise können wie Kommentare zu Pseudocode wirken, die dessen Ausführung beeinflussen.

<Tip> Wenn sich ein Hinweis nur auf einen einzelnen Procedure-Schritt bezieht, schreiben Sie ihn unter diesen Schritt und verwenden Sie dafür verschachtelte Aufzählungspunkte </Tip>

<div id="specifications">
  ### Spezifikationen
</div>

Der Abschnitt **Spezifikationen** kann hilfreich sein, um die Postconditions (Abschlussbedingungen) des Playbooks zu beschreiben — was soll gelten, wenn Devin fertig ist?

<div id="whats-needed-from-user">
  ### Was von Nutzerseite benötigt wird
</div>

Denken Sie an alles, was erforderlich ist, aber außerhalb von Devins Kontrolle liegt. Zum Beispiel, wenn Sie ein Token oder Informationen bereitstellen müssen, auf die Devin nicht öffentlich zugreifen kann.

<div id="other-tips-tactics">
  ### Weitere Tipps + Taktiken
</div>

<AccordionGroup>
  <Accordion title="Durch Versuch und Irrtum iterieren und verbessern">
    * Führen Sie 2+ Devins parallel mit demselben Playbook aus, um mögliche Fehler schnell zu identifizieren.
    * Wenn Devin Hilfe braucht, chatten Sie mit ihm, um es zu unterstützen. Ergänzen Sie anschließend Ihr Playbook, damit Devin beim nächsten Mal ohne Eingriff erfolgreich ist.
  </Accordion>

  <Accordion title="Erklären Sie Devin, wie ein gutes Ergebnis aussieht">
    Beschreiben Sie klar, was das Ergebnis sein soll und wie Devin kommunizieren soll, dass es fertig ist (z. B. welche Dateien angehängt oder welche Links geteilt werden sollen, falls zutreffend).
  </Accordion>

  <Accordion title="Optimieren Sie, wie schnell Ihr Playbook ausgeführt wird">
    Erkunden Sie die verschiedenen Entscheidungen, die Devin treffen kann, und führen Sie Devin auf dem effizientesten Pfad durch das Playbook.
  </Accordion>

  <Accordion title="Konkrete Befehle, Formulierungen und Strings sind ausdrücklich erwünscht">
    * Sie können den Unterschied zwischen einem funktionierenden und einem fehlerhaften Playbook ausmachen.
    * Zum Beispiel kann Folgendes ein sehr wichtiges Detail sein, weil alloy und tts-1 vermutlich nicht die Optionen wären, die Devin von sich aus wählen würde – und dies lenkt Devin in eine Richtung, in der der Erfolg wahrscheinlicher ist!

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

<div id="example-playbook">
  ## Beispiel-Playbook
</div>

Sehen Sie sich Beispielsitzungen mit dem folgenden Playbook [hier](https://app.devin.ai/sessions/93f381206f44492e9fc8b236ee022877) und [hier](https://app.devin.ai/sessions/eed1a18b9ce348f69e6bac84bb42d992) an.

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

Sie können jedem Playbook ein **Makro** zuweisen — eine kurze Kennung, die mit `!` beginnt (z. B. `!data-tutorial`). Mit Makros können Sie ein Playbook schnell einer Sitzung zuordnen, indem Sie seinen Makronamen in das Prompt-Eingabefeld eingeben. Makros dürfen nur Buchstaben, Zahlen und Bindestriche enthalten und müssen innerhalb Ihrer Organisation eindeutig sein.

<div id="version-history">
  ## Versionsverlauf
</div>

Playbooks verfügen über einen **Versionsverlauf**, damit Sie Änderungen im Zeitverlauf nachverfolgen können. Jedes Mal, wenn Sie ein Playbook bearbeiten und speichern, wird eine neue Version erstellt. Sie können frühere Versionen anzeigen und zu einer früheren Version zurückkehren, wenn eine aktuelle Änderung nicht wie erwartet funktioniert hat.

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

Für Enterprise-Kunden können Playbooks zusätzlich zur Organisationsebene auch auf der **Enterprise-Ebene** verwaltet werden. Enterprise-Playbooks werden über alle Organisationen in deinem Enterprise hinweg geteilt, sodass sich Workflows teamübergreifend leicht standardisieren lassen. Enterprise-Admins können Playbooks auf Enterprise-Ebene in den Enterprise-Settings erstellen und verwalten.

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

  ## Überblick
  Erstelle ein Data-Science-Tutorial mit einem R-Markdown-Notebook.

  ## Vom Benutzer benötigte Informationen
  - Link zu einem Datensatz (CSV-Dateianhang oder Kaggle-Link)
  - Konkrete Aufgabe, für die ein Data-Science-Tutorial erstellt werden soll

  ## Vorgehen
  1. Lade den vom Benutzer bereitgestellten Datensatz herunter.
  -  Falls nötig, lade den Datensatz mit der Kaggle CLI herunter – du benötigst dafür keine Anmeldedaten.
  2. Erstelle ein R-Markdown-Notebook mit dem Titel `data_science_tutorial.Rmd`.
  3. Erstelle eine Datei `tmp.Rmd` zum Schreiben und Speichern von Zwischenständen des Codes.
  4. Erstelle 5 Hauptabschnitte in der Datei `data_science_tutorial.Rmd` und füge Code aus der Datei `tmp.Rmd` hinzu, der Folgendes enthält:
  - Datensatzstatistiken. Erzeuge eine statistische Zusammenfassung des Datensatzes.
  - EDA (Exploratory Data Analysis). Erstelle ein Balkendiagramm und ein Streudiagramm für die bereitgestellten Daten.
  - Train-Test-Split. Teile die Daten im Verhältnis 80:20 auf. Speichere die Trainings- und Testdaten.
  - Training des Machine-Learning-Modells. Speichere das Modell nach dem Training.
  - Inferenz mit dem gespeicherten Modell. Lade das gespeicherte Modell und bewerte seine Leistung auf dem Testdatensatz mit der vom Benutzer angegebenen Metrik.
  5. Wenn der Code fertig ist, füge für jeden Abschnitt eine kurze Erklärung hinzu.
  6. Konvertiere das R-Markdown-Notebook in das HTML-Format.
  7. Sende das finale R-Markdown-Notebook, die HTML-Datei, das gespeicherte Modell und die Testdaten an den Benutzer.

  ## Spezifikationen
  1. Sende das R-Markdown-Notebook und die HTML-Datei an den Benutzer.
  2. Sende das gespeicherte Modell und die Testdaten an den Benutzer.

  ## Hinweise und Tipps
  1. Installiere Pakete nicht erneut, wenn sie bereits installiert sind.
  2. Eine Anmeldung bei RStudio ist nicht erforderlich, um diese Aufgabe abzuschließen.
  3. Führe das gesamte Notebook aus, nachdem du für jeden Abschnitt den Code hinzugefügt hast.

  ## Verbotene Aktionen
  1. Überschreibe die Datei `data_science_tutorial.Rmd` nicht.
  ```
</PromptBlock>
