> For the complete documentation index, see [llms.txt](https://docs.suvvy.ai/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.suvvy.ai/en/main-settings/prompts/prompts/pravila-napisaniya-instrukcii.md).

# Guidelines for writing instructions

Important points to adhere to when writing instructions:

1. **Conciseness and Simplicity.**
2. **Accuracy and Completeness.**
3. **Clarity.**

## Conciseness and Simplicity

On one hand, LLM models appreciate when tasks are described precisely, but on the other hand, it’s important to avoid excessive descriptions where they can be omitted.

For example:

{% tabs %}
{% tab title="❌ Poor Instruction" %}

```
Look at this client information, check if they have money, who in their 
team is responsible for purchases, whether they even need our solution, 
and when they can make a decision. Also, if you can, try to assess whether 
they like our product and what they think about our brand.
```

{% hint style="danger" %}
The instruction is overloaded with **unnecessary** **details** and distracts the model from its main task — qualifying the client based on criteria. It includes **irrelevant aspects**, such as the client's opinion on the brand, which are **not critical** at the qualification stage.
{% endhint %}
{% endtab %}

{% tab title="✅ Good Instruction" %}

```
Determine if the potential client meets BANT criteria (Budget, Authority, 
Need, Timing) based on the provided information.
```

{% hint style="success" %}
The model receives a **specific** directive to use the **proven methodology** of client qualification (BANT), allowing it to **focus on key criteria** and quickly assess client prospects.
{% endhint %}
{% endtab %}
{% endtabs %}

Another version of the same instruction:

{% tabs %}
{% tab title="❌ Poor Instruction" %}

```
Look at this client information, check if they have money, who in their 
team is responsible for purchases, whether they need our solution at all, 
and when they can make a decision. Also, if you can, try to assess whether 
they like our product and what they think about our brand.
```

{% endtab %}

{% tab title="✅  Good Instruction" %}

```
Step by step find out from the client (if not previously known):
1. What is the client’s budget?
2. Who in the team is responsible for the budget?
3. Decision-making timelines
4. Do they like our product?
5. What do they think about our brand?
```

{% hint style="success" %}
The phrase "step by step" allows questions to be asked **in sequence**, not all at once. The phrase "if not previously known" allows excluding the \*\*re-

asking\*\* of a **question** by the bot if the client has already provided that information.
{% endhint %}
{% endtab %}
{% endtabs %}

## Accuracy and Completeness

It’s important to describe precise formulations in the instruction. Any generalization will reduce the quality of responses. For instance, if you need to sequentially find out certain information from a client (Full Name, phone, passport details):

{% tabs %}
{% tab title="❌ Poor Instruction" %}

```
Request the client's Full Name, phone, passport data.
```

{% endtab %}

{% tab title="✅  Good Instruction" %}

```
Request the client’s information step by step, asking the next question only 
after their response:
- Full Name
- phone 
- passport data (series and number).
```

{% endtab %}
{% endtabs %}

If you do not use a step-by-step construction, the bot will issue a list of questions in one message.

Another example, when you need the bot to greet the client:

{% tabs %}
{% tab title="❌ Poor Instruction" %}

```markdown
Always greet the client.
```

{% endtab %}

{% tab title="✅  Good Instruction" %}

```
Always greet the client at the start of the dialogue.
```

{% endtab %}
{% endtabs %}

If we leave the poor version, it may turn out that the bot will greet repeatedly with every response, as it understands your instruction literally.

## Clarity

A common mistake is duplicating or contradicting the same instruction in different parts.

For example, you described how the cost is calculated, checked that everything works. But then suddenly after some time you added another piece of instruction that is not related in meaning to the first but contains some element about the cost.

An example of the situation is shown below:

{% tabs %}
{% tab title="Initial Prompt" %}
{% code fullWidth="true" %}

```markdown
#BIKE RENTAL COST CALCULATION:
- Check the availability of models in stock.
- To calculate the cost of requested models, 
call the cost_calculation function in the format: 
Model list (e.g., nmax, pcx, scoopy), number of days.
```

{% endcode %}
{% endtab %}

{% tab title="Prompt with Error" %}

```markdown
#BIKE RENTAL COST CALCULATION:
- Check the availability of models in stock.
- To calculate the cost of requested models, 
call the cost_calculation function in the format: 
Model list (e.g., nmax, pcx, scoopy), number of days.

#MODEL AVAILABILITY:
If the client specifies the exact model names they want to book, 
or inquires about the price:
1. Check model availability using the models_availability function, 
passing a list of models (no more than three). 
2. ALWAYS provide information ONLY about available models.
3. To calculate the cost of requested models, 
call the cost_calculation function in the format: 
Model list (e.g., nmax, pcx, scoopy), number of days.
```

{% endtab %}
{% endtabs %}

Because of this point, the bot will first start checking availability when requesting the cost, since the cost calculation point was duplicated and is located below:

<figure><img src="https://2542240793-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnmK9dnkx224HgS0VSB5J%2Fuploads%2F4tSPTpNwePZ3Sv3ywKls%2Fimage.png?alt=media&amp;token=72b9d879-161e-4e4b-97ac-6bdf0465828a" alt=""><figcaption></figcaption></figure>

Hence, it is important to avoid duplicating information and ambiguous formulations. The more precise, concise, and unequivocal the request is written, the more stable and predictable the model’s responses will be.

## Using Affirmative Forms Instead of Negative

If you need the bot not to do or say something, it's better to avoid negative forms and find similar affirmative forms in meaning.

For example:

{% tabs %}
{% tab title="❌ Poor Instruction" %}

```
Do not tell the client information about our bank details.
```

{% endtab %}

{% tab title="✅  Good Instruction" %}

```
You are prohibited from providing the company's bank details information.
```

{% endtab %}
{% endtabs %}

## Prompts

Below are prompts that will be useful in specific situations:

> **"Step by step, only after interlocutor’s response"** – allows questions to be asked in turn, following the client’s response

> **"... if not already known from the dialogue context"** – allows eliminating repetitive questions from the bot if the client has previously answered them in their inquiry or our dialogue

> **"Always"** – allows increasing focus of the model, when it is important to consider some point

> **"If the client wrote …"** – allows creating conditions for triggering a particular response
