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

# Prompt-Engineering

> Best Practices für die Formulierung effektiver Prompts, um mit Devin Desktop hochwertigen Code zu erhalten, einschließlich klarer Ziele, Kontext und Einschränkungen.

Wenn Sie das hier lesen, gehören Sie wahrscheinlich zu denjenigen, die einige der Anwendungsfälle und Grenzen von LLMs bereits verstehen. Je besser der Prompt und der Kontext sind, die Sie dem Modell bereitstellen, desto besser wird das Ergebnis.

Auch für Devin Desktop gibt es Best Practices, um effektivere Prompts zu formulieren, das Tool optimal zu nutzen und möglichst hochwertigen Code zu erhalten, damit Sie Ihre Workflows beschleunigen können.

<Tip>Verwenden Sie bei komplexeren Aufgaben, bei denen Sie möglicherweise bestimmte Codeblöcke per [@-Mention](/de/desktop/chat/overview#mentions) referenzieren müssen, [Chat](/de/desktop/chat/overview) statt [Command](/de/desktop/command/plugins-overview). </Tip>

<div id="components-of-a-high-quality-prompt">
  ## Bestandteile eines hochwertigen Prompts
</div>

* ***Klares Ziel oder gewünschtes Ergebnis***
  * Was soll das Modell liefern?
  * Bitten Sie das Modell um einen Plan? Um neuen Code? Oder um ein Refactoring?
* ***Alle relevanten Kontextinformationen zur Ausführung der Aufgabe(n)***
  * Haben Sie @-Mentions korrekt verwendet, damit der richtige Kontext einbezogen wird?
  * Gibt es kundenspezifischen Kontext, der für Devin Desktop unklar sein könnte?
* ***Notwendige Einschränkungen***
  * Gibt es bestimmte Frameworks, Bibliotheken oder Sprachen, die verwendet werden müssen?
  * Gibt es Vorgaben zur Speicher- oder Zeitkomplexität?
  * Gibt es Sicherheitsanforderungen?

<div id="examples">
  ## Beispiele
</div>

***Beispiel #1:***

* **Schlecht**: Schreibe Unit-Tests für alle Testfälle eines Order-Book-Objekts.

* **Gut**: Schreibe mit `@class:unit-testing-module` Unit-Tests für `@func:src-order-book-add` und prüfe auf Ausnahmen, die ausgelöst werden, wenn der Wert über oder unter dem Stop-Loss liegt

***Beispiel #2***:

* **Schlecht**: Refaktoriere rawDataTransform.

* **Gut**: Refaktoriere `@func:rawDataTransform`, indem du die while-Schleife in eine for-Schleife umwandelst und dieselbe Ausgabedatenstruktur wie `@func:otherDataTransformer` verwendest

***Beispiel #3***:

* **Schlecht**: Erstelle eine neue Schaltfläche für das Kontaktformular.

* **Gut**: Erstelle eine neue Schaltflächenkomponente für `@class:ContactForm` anhand des Styleguides in `@repo:frontend-components`, in dem „Weiter“ vorgegeben ist
