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

# Ingineria prompturilor

> Cele mai bune practici pentru formularea de prompturi eficiente, astfel încât să obții cod de înaltă calitate de la Windsurf, incluzând obiective clare, context și constrângeri.

Dacă citești asta, probabil înțelegi deja unele dintre cazurile de utilizare și limitările LLM-urilor. Cu cât oferi modelului un prompt și un context mai bune, cu atât rezultatul va fi mai bun.

La fel și în Windsurf: există bune practici pentru a formula prompturi mai eficiente, astfel încât să valorifici la maximum instrumentul și să obții cel mai bun cod posibil, care să te ajute să-ți accelerezi fluxurile de lucru.

<Tip>Pentru sarcini mai complexe care pot necesita să [@-menționezi](/ro/chat/overview/#mentions) blocuri de cod specifice, folosește [Chat](/ro/chat/overview) în loc de [Command](/ro/command/plugins-overview). </Tip>

<div id="components-of-a-high-quality-prompt">
  ## Componentele unui prompt de înaltă calitate
</div>

* ***Obiectiv sau rezultat clar***
  * Ce îi ceri modelului AI să producă?
  * Îi ceri modelului un plan? Cod nou? O refactorizare?
* ***Tot contextul relevant pentru a executa sarcina(le)***
  * Ai folosit corect @-mentions pentru a te asigura că este inclus contextul potrivit?
  * Există vreun context specific clientului care ar putea fi neclar pentru Windsurf?
* ***Constrângeri necesare***
  * Există frameworkuri, biblioteci sau limbaje specifice care trebuie utilizate?
  * Există constrângeri privind complexitatea în spațiu sau timp?
  * Există considerente de securitate?

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

***Exemplul nr. 1:***

* **Rău**: Scrie teste unitare pentru toate cazurile de test ale unui obiect Order Book.

* **Bine**: Folosind `@class:unit-testing-module`, scrie teste unitare pentru `@func:src-order-book-add` care verifică excepțiile aruncate la depășirea sau coborârea sub pragul de stop loss

***Exemplul nr. 2***:

* **Rău**: Refactorizează rawDataTransform.

* **Bine**: Refactorizează `@func:rawDataTransform` transformând bucla while într-o buclă for și folosind aceeași structură de date la ieșire ca `@func:otherDataTransformer`

***Exemplul nr. 3***:

* **Rău**: Creează un nou Button pentru formularul de contact.

* **Bine**: Creează un nou component Button pentru `@class:ContactForm`, folosind ghidul de stil din `@repo:frontend-components` și afișând textul „Continue”
