> For the complete documentation index, see [llms.txt](https://doc.nextbot.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.nextbot.ru/functional/functions/sending-result/python-v.2/sozdanie-servera-dlya-resheniya-nestandartnykh-zadach/kogda-nuzhen-server-a-kogda-dostatochno-gotovykh-instrumentov.md).

# Когда нужен сервер, а когда достаточно готовых инструментов

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

Но у готовых решений есть ограничения.

### Стоимость

Если для небольшой автоматизации требуется отдельный платный тариф CRM или сервиса автоматизации, стоимость инфраструктуры может оказаться несоразмерной самой задаче.

Простой сервер для небольшой нагрузки иногда обходится значительно дешевле нескольких подписок.

При этом стоимость зависит от провайдера, конфигурации и нагрузки, поэтому её лучше считать для каждого проекта отдельно.

### Ограничения платформы

Работая через готовый сервис, вы ограничены теми действиями и настройками, которые он предоставляет.

Если нужной функции нет, приходится:

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

На собственном сервере логика определяется вашей задачей.

### Сложные связки

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

На сервере всю эту последовательность можно собрать в одном приложении.

![](https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2Fgit-blob-1eeaf9a8bdb722391eb1036f51f49d9097d28f3c%2Fsozdanie-servera-Group_1711.png?alt=media)

***

## Когда стоит рассматривать сервер

Сервер особенно полезен, если задача требует одного или нескольких элементов:

* собственной базы данных;
* хранения состояния между обращениями клиента;
* сложной обработки файлов;
* генерации PDF или других документов;
* использования собственного API;
* взаимодействия сразу с несколькими сервисами;
* сложной маршрутизации сообщений;
* выполнения логики по расписанию;
* фоновых процессов, которые должны работать независимо от текущего сообщения клиента;
* нестандартных вычислений или преобразований данных;
* функциональности, которой нет в готовых интеграциях.

Но наличие нестандартной задачи **не означает автоматически, что нужно разворачивать сервер**.

***

## Когда сервер не нужен

Не стоит усложнять архитектуру, если задачу уже можно надёжно решить встроенными средствами NextBot.

Например, отдельный сервер обычно не нужен, если необходимо:

* найти товар в таблице;
* записать собранные данные;
* передать заявку в CRM;
* вызвать сторонний API;
* выполнить простой расчёт;
* отправить стандартное отложенное сообщение;
* передать данные через Custom API;
* выполнить небольшую операцию с помощью встроенного Python.

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

**Сервер стоит добавлять не потому, что это более технически сложное решение, а потому, что он действительно упрощает конкретную бизнес-задачу.**

![](https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2Fgit-blob-5abb36ac442d69597e4a6a0860a2007853d7e940%2Fsozdanie-servera-Group_1712.png?alt=media)

***

## Как понять, нужен ли сервер именно в вашей интеграции

Для этого можно использовать [универсальный алгоритм разработки кастомных интеграций](/functional/functions/sending-result/python-v.2/universalnyi-algoritm-po-razrabotke-kastomnykh-integracii.md).

### Этап 1. Сформулируйте идею

Опишите, что должно происходить с точки зрения бизнеса.

Например:

> Клиент присылает фотографию списка товаров и получает готовое коммерческое предложение.

На этом этапе не нужно решать, какие технологии использовать.

### Этап 2. Конкретизируйте задачу

Опишите входные данные, действия системы и ожидаемый результат.

Например:

* клиент отправляет фотографию;
* агент распознаёт товары;
* товары сопоставляются с каталогом;
* система получает цены;
* рассчитывает сумму;
* создаёт PDF;
* отправляет его клиенту.

### Этап 3. Составьте технический план

Передайте описание задачи нейросети и попросите определить, какими инструментами её лучше решить.

Например:

> Я создаю ИИ-агента в NextBot. Вот задача и последовательность действий. Определи, какие части можно реализовать встроенными средствами NextBot, какие потребуют внешнего сервиса и предложи самую простую архитектуру.

Если отдельный сервер действительно нужен, на этом этапе он появится в архитектуре как один из компонентов.

После этого уже можно переходить к реализации.


---

# 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 current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.nextbot.ru/functional/functions/sending-result/python-v.2/sozdanie-servera-dlya-resheniya-nestandartnykh-zadach/kogda-nuzhen-server-a-kogda-dostatochno-gotovykh-instrumentov.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
