> For the complete documentation index, see [llms.txt](https://docs.suvvy.ai/ru/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/ru/osnovnye-nastroiki/prompts/prompts/sposoby-povysheniya-tochnosti-i-kachestva-otvetov.md).

# Способы повышения точности и качества ответов

**Качество ответов** - одна из ключевых задач при настройке ботов на основе LLM-моделей. Существует множество способов его повышения. В данной главе мы рассмотрим основные:

* улучшение качества промптов
* уменьшение контекста

Первому пункту мы посвятили всю прошлую главу, поэтому в данной главе остановимся на втором.

## Уменьшение контекста

У каждой модели существует такой параметр как **внимание** - это то, как модель четко следует своей системной инструкции. Существует закономерность - чем меньше инструкция - тем проще модели ее соблюдать. Когда мы имеем дело с большими инструкциями, какие-то из ее важных аспектов могут быть упущены ботом. В этом случае мы можем использовать фразы "**Обращай внимание, Всегда**" и т.п., но это может не давать стабильного результата, когда мы хотим точность 10 из 10.

Логичным выводом является - **уменьшение инструкции или "контекста"**.

Под уменьшением контекста понимается оптимизация и сокращение объема основной инструкции или передаваемой информации в модель.

Уменьшать инструкцию за счет смысловой нагрузки не всегда правильно, поэтому существуют механизмы, которые позволяют оптимально распределить смысловой контекст и уменьшить инструкцию без потери качества:

1. Использование базы знаний
2. Уменьшение истории диалога
3. Использование таблиц
4. Мультиагентность

### Использование базы знаний

Использование базы знаний позволяет выносить целые блоки информации из общей инструкции в отдельный раздел, например:

Предположим в инструкции присутствует блок информации о реквизитах компании (подобных блоков может быть множество):

> Наши контакты:
>
> ООО "Рога и копыта"
>
> ИНН 7811616380 / КПП 781101002
>
> АО "ТБанк"
>
> БИК 044525974
>
> р/с 40702810310000021420
>
> Адрес: Москва, Измайловский 30, оф. 15

Данный блок необходим только по запросу клиента, когда клиент прямо спрашивает о реквизитах. В этом случае, в базе знаний можно создать файл с названием "Реквизиты компании" и вставить в него данный текст, а из инструкции его убрать:

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FPUh28RYtpCsZJkf3haAp%2Fimage.png?alt=media&amp;token=a7691fbf-9e6e-452c-b302-aa26c69c6fc9" alt=""><figcaption></figcaption></figure>

По аналогии все типовые ответы на типовые вопросы выносятся в базу знаний.

{% hint style="info" %}
Подробнее о том, как правильно работать с базой знаний вы можете ознакомиться в разделе **База знаний**
{% endhint %}

{% content-ref url="/pages/tITkpeBexinW3DdG1XYd" %}
[База знаний](/ru/baza-znanii/chek-list-vybora-formata-bazy-znanii.md)
{% endcontent-ref %}

### Уменьшение истории диалога

Уменьшение истории диалога означает, что мы можем передавать не всю историю диалога с клиентом, а только сообщения за нужный отрезок времени, или не передавать ее вообще.

В бьюти-индустрии клиенты часто возвращаются регулярно, с повторяющимися запросами. Если собрать всю историю их общения за этот период и передавать её боту, она станет излишне длинной и неэффективной для решения конкретной текущей задачи.

{% hint style="warning" %}
Длинная инструкция и история часто размывает фокус агента
{% endhint %}

{% hint style="warning" %}
Агент не знает, когда было написано конкретное сообщение, и это может сбить его с толку.

Он просто не поймет что нужно клиенту, учитывая и предыдущую переписку, тратя на нее свое "**внимание**".
{% endhint %}

Так же существует ситуации, когда создается агент не для ведения диалога, а просто ответов на конкретные вопросы без учета истории.

Для всех этих ситуаций существует настройка позволяющая обрезать контекст диалога. Она находится в дополнительных параметрах и называется "История сообщений (контекст)":

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FB3NXJvjh2zNhxaFRJdAB%2Fimage.png?alt=media&amp;token=0e61f0bd-e00a-467c-920e-b411ecfd92c3" alt=""><figcaption></figcaption></figure>

Выбирая нужную опцию вы можете подстроить передачу контекста под ваш кейс.

{% hint style="info" %}
Подробнее о разделе дополнительных настроек можно посмотреть в [отдельном разделе](/ru/osnovnye-nastroiki/dopolnitelnye-nastroiki.md).
{% endhint %}

### Использование таблиц

Расширенная инструкция по настройке таблиц находится в отдельном разделе. Но здесь мы коснемся их в части задачи по улучшению качества ответов.

{% content-ref url="/pages/Dp5FUqEBscVAOvnhyuKf" %}
[Таблицы (CSV-XLS / Google)](/ru/rabota-s-tablicami/tablicy-csv-xls-google.md)
{% endcontent-ref %}

Предположим, что у вас имеется какой-то прайс на 100 позиций. 100 позиций - это не слишком много и не слишком мало в контексте работы модели. Чтобы предоставить информацию о данном прайсе мы могли бы пойти несколькими путями:

1. Загрузить прайс в инструкцию
2. Загрузить прайс в базу знаний
3. Разбить прайс на несколько файлов в базе знаний
4. Использовать таблицы

**Первый вариант** не рассматриваем - это не разумно, инструкция будет большая - модель будет перегружена контекстом, а стоимость одного сообщения вырастет кратно.

❌ Минусы:

* перегруз инструкции
* большой объем токенов = стоимости

✅ Плюсы:

* простота настройки

**Второй вариант** лучше, НО все равно - это большой объем информации, который модель должна будет за раз прочитать, а поскольку, то что она прочитала по умолчанию сохраняется в ее историю, после срабатывания данного файла будет увеличивать стоимость всех последующих сообщений.

❌ Минусы:

* перегруз истории
* большой объем токенов = стоимости

✅ Плюсы:

* простота настройки

**Третий вариант** с разбивкой прайса на разные файлы базы знаний в целом лучше, чем предыдущие, он позволит снизить стоимость, НО она все равно вырастит за счет количества файлов внутри базы знаний, но при этом за счет разбивки тут можно избежать перегруза истории.

❌ Минусы:

* средний объем токенов = стоимости
* дополнительные заморочки с настройкой

✅ Плюсы:

* средний объем токенов = стоимости

**Четвертый вариант** - то загрузка прайса в таблицу. Данный вариант позволяет работать не только с объемом в 100 позиций, а с любым объемом строк не увеличивая стоимость, поскольку работа с таблицей происходит выборочно с наложением предварительных отборов, который модель делает при помощи специального механизма SQL-запросов.

❌ Минусы:

* средняя сложность настройки

✅ Плюсы:

* более низкий объем токенов = стоимости
* неограниченный объем позиций / строк
* сокращение контекста инструкции и истории
* высокая прогнозируемость и правильность ответов

Высокая прогнозируемость и правильность ответов достигается за счет того, что мы не читаем всю таблицу, а получаем только нужные нам ее ячейки, таким образом ни контекст ни история не перегружается.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.suvvy.ai/ru/osnovnye-nastroiki/prompts/prompts/sposoby-povysheniya-tochnosti-i-kachestva-otvetov.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
