
Разбор · Опубликовали 08.10.2026
Пагинацию таблицы в админке агенты добавляют, чтобы не загружать все записи сразу
Серверная загрузка одной таблицы, сохранение фильтра и порядка, проверка пропусков. Что поручить агентам и как принять результат.
Текст собран машиной агентов под надзором автора vibecoding.ru · факты проверены 8 октября 2026
Пагинация таблицы в админке ограничивает загрузку на сервере: кнопки страниц сами по себе этого не делают.
Разберём задачу и приёмку для ИИ-агентов. Наш пример взят из собственного сайта, без клиентского кейса и замера ускорения таблицы.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Загрузка меняется на сервере, а не в кнопках.
Сначала проверьте ответ сервера. Таблица может показывать одну страницу, пока браузер хранит весь список заказов. В таком варианте пагинация меняет вид, а данные загружаются по-прежнему.
Серверная пагинация отдаёт только нужную порцию. Браузер получает следующие строки после перехода, а не скачивает весь список при открытии админки.
Проверять нужно весь запрос. База может продолжать читать большой объём ради сортировки или подсчёта строк. Такая правка относится к разбору технического долга, если старый запрос мешает каждой новой доработке.
Кнопки одинаковые, объём загрузки разный
Документация PostgreSQL, LIMIT/OFFSET, проверено 08.10.2026. Различие передачи и отображения показано как схема, без замера скорости.
2. Фильтр и порядок действуют на всю таблицу.
Фильтр применяется до выбора порции. Если менеджер ищет неоплаченные заказы, сервер должен отобрать их во всём доступном ему списке. Фильтрация уже загруженной страницы пропустит совпадения за её пределами.
Смена фильтра начинает выдачу заново. Старый курсор, то есть отметка места продолжения, относится к прежнему запросу. Его нельзя переносить на новый список.
Порядок должен различать записи даже при одинаковой дате. К сортировке «новые сверху» добавляют уникальный идентификатор. Документация PostgreSQL требует однозначного порядка при LIMIT/OFFSET.
Живой список требует отдельного решения. Новый заказ способен сдвинуть границу страниц. Даже курсор не замораживает данные: команда согласует, когда обновлять список и как обрабатывать изменение поля сортировки.
Фильтр, порядок и продолжение проверяют вместе
PostgreSQL, LIMIT/OFFSET и Transaction Isolation; Prisma, Reading data. Проверено 08.10.2026. Сценарии приёмки составлены редакцией.
3. Проверка охватывает границы страниц и новые записи.
Пустая страница ещё не означает конец. У нашего сайта сервер однажды проверял фильтр внутри одной порции и возвращал пустой ответ. Подходящие истории оставались дальше. Эту поломку разберём следующей главой.
Полноту проверяют на фиксированном наборе данных. Перебирают порции и сравнивают идентификаторы с ожидаемым списком: каждая доступная запись должна встретиться один раз.
Агенту хватит искусственных заказов с нужными статусами и одинаковыми датами. Данные клиентов агенту для такой проверки не нужны. Объём набора должен пересекать несколько границ страниц.
Приёмка одной таблицы
Сценарии редакции по документации PostgreSQL и Prisma и истории фильтров /news. Проверено 08.10.2026. Это критерии приёмки, не выполненный клиентский проект.
Ускорение измеряют до и после на одинаковых данных. Записывают время до появления строк, объём ответа и время серверного запроса. Отдельно проверяют дальнюю страницу: большая OFFSET заставляет базу обрабатывать пропущенные строки.
4. В нашей ленте порции работали, а фильтры ломались.
У vibecoding.ru есть собственная админка, инженер ведёт машину агентов. Но ближайший записанный пример пагинации относится к публичной ленте новостей, а не к таблице клиента.
В июле и августе 2026 порционная загрузка ломалась по разным причинам. Кнопка или прокрутка оставалась на экране, но пользователь не получал ожидаемую выдачу.
Для таблицы урок тот же: проверяют результат запросов и продолжение списка. Открытая работа машины показывает развитие сайта, но её счётчик не измеряет ускорение конкретной таблицы.
Три поломки порционной загрузки на нашем сайте
31.07
Дневной смотр: порция терялась при обновлении состояния, начинались повторные запросы. После исправления обновление состояния не имеет побочных эффектов, повтор ограничен.
31.07
Вечерний смотр: клиентский фильтр тянул хронику порциями ради нескольких совпадений. Правило: рубрика и гео фильтруются на сервере, смена фильтра сбрасывает выдачу.
01.08
Серверный фильтр одной порции возвращал пустоту, хотя совпадения были дальше. Сервер стал добирать подходящие истории в пределах лимита чтения, курсор идёт по последней отданной записи. Тест проверяет редкие совпадения за посторонними историями.
Записи журнала /news 31.07 и 01.08.2026, перечитаны 08.10.2026. Это история публичной ленты, без численного замера ускорения.
5. Агент получает одну таблицу и критерии готовности.
Начните с одного экрана. Заказ «ускорить админку» не задаёт границ. Задача «заказы загружаются порциями, поиск ищет по всему списку» позволяет проверить конкретное изменение.
В постановке задач агенту важен критерий готовности. Здесь он связывает серверный запрос, экран и проверки. Наличие кнопок не закрывает задачу.
Наш подход к правилам и проверкам разобран в курсе агентной разработки, в том числе в уроках «Устройство админки» и «Одиннадцать шагов одной задачи». Уроки описывают устройство машины, а не подтверждают срок вашей доработки.
Бриф для доработки одной таблицы
Редакционный шаблон для этой задачи, 08.10.2026; пример критериев основан на поломках ленты сайта. Не выполненное ТЗ клиента.
После такого брифа можно обсудить таблицу. На обсуждение достаточно описания экрана и проблемы с загрузкой, без выгрузки базы клиентов.
6. Подписка оплачивает поток задач, а не одну кнопку.
Если доработка разовая, сравните предложение на неё с вашей очередью задач. Пагинация одной таблицы сама по себе не требует подписки на разработку.
Если за ней уже ждут поиск, отчёт и другие правки, можно рассмотреть агентную разработку по подписке. «Один проект» стоит 250 000 ₽ в месяц по странице сервиса на 08.10.2026. Это цена месяца работы, не смета одной пагинации.
Инженер ведёт машину агентов, в одном потоке одна задача в работе. Следующая ждёт в очереди. Код поступает в вашу ветку в вашем репозитории, подписку можно поставить на паузу в любой месяц.
Одна таблица может стать первой задачей потока
/services, живой срез 08.10.2026. Первая задача предложена редакцией, это не обещание отдельного пакета или срока.
Готовность видна по данным. В сетевом ответе ограниченная порция, фильтр действует на весь список, проверка границ не теряет строки. Замер до/после отвечает уже на другой вопрос: насколько быстрее открывается ваш экран.
Сохраните результаты проверки рядом с правкой в репозитории. Следующая доработка фильтра сможет повторить те же сценарии и найти пропавшие строки.
После выпуска смотрите на ту же операцию менеджера. Если время выросло или появились пропуски, у новой задачи уже будет способ воспроизведения.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Порядок и объём запроса | Официальная документация PostgreSQL: однозначный ORDER BY, работа LIMIT/OFFSET и изменение данных между запросами. Prisma: продолжение по курсору. Это описание механики, без обещания ускорения в секундах | 2026-10-08 |
| Опыт нашего сайта | Перечитаны записи о подгрузке и фильтрах /news от 31 июля и 1 августа 2026. У машины есть собственная админка, но описанная история относится к публичной ленте. Клиентского кейса и замера ускорения таблицы нет | 2026-10-08 |
| Цена и формат | На живой /services тариф «Один проект» стоит 250 000 ₽ в месяц. Один поток, одна задача в работе, код в вашем репозитории, пауза в любой месяц. Цена относится к месяцу подписки | 2026-10-08 |
| Слова спроса | Wordstat API, РФ, 8 октября: «пагинация» 5 273, «пагинация страниц» 334, «пагинация таблиц» 53 запроса в месяц. Повторный замер совпал с брифом. Это не число покупателей разработки | 2026-10-08 |
| Уроки и приёмка | Названия уроков проверены в публичной программе /agentic-engineering. Таблицы сценариев в статье составлены редакцией: это предлагаемая приёмка, не результаты выполненной клиентской работы | 2026-10-08 |
7. Частые вопросы
Что такое пагинация простыми словами?+
Получение и показ длинного списка частями. В серверном варианте браузер запрашивает очередную порцию, вместо того чтобы загружать весь список при открытии экрана.
Пагинация страниц и пагинация таблиц различаются?+
Принцип порций общий. Для таблицы админки к переходу добавляются поиск, фильтры, сортировка и работа с меняющимися записями. Они входят в ту же задачу.
Сколько строк загружать за раз?+
Размер порции выбирают по экрану и замеру. Важны ширина строк, цена запроса и действия пользователя. Универсального количества, которое ускорит любую таблицу, нет.
Курсор лучше номера страницы?+
Курсор продолжает список после выбранной записи; его рассматривают для длинных последовательных списков. Номер страницы нужен для перехода в заданное место. Выбор зависит от сценария и запросов, а стабильный порядок нужен обоим.
Пагинация гарантирует отсутствие пропусков?+
На фиксированном наборе полноту можно проверить перебором идентификаторов. В живом списке новые записи, удаления и изменения сортировки требуют отдельного правила обновления. Один курсор не создаёт снимок данных.
Пагинация ускорит любую админку?+
Нет. Если задержка в запросе, сортировке или подсчёте, уменьшение ответа не устраняет её целиком. Сначала измеряют, где уходит время, затем проверяют ту же операцию после правки.
Можно оставить кнопку «Показать ещё»?+
Да. Порционная загрузка не требует номерных кнопок. Серверная выборка, фильтр и продолжение списка проверяются и при кнопке, и при автоматической подгрузке.
Источники
- PostgreSQL, LIMIT and OFFSET — официальная документация
- PostgreSQL, Transaction Isolation — официальная документация
- Prisma, Reading data — официальная документация
- Selectel, Оптимизация работы с REST API: когда и как использовать пагинацию (18 марта 2025) — инженерный блог
- Wordstat, частоты запросов о пагинации, РФ (8 октября 2026) — замер спроса
- vibecoding.ru, Агентная разработка — наш сервис
- vibecoding.ru, Открытая работа машины — публичный след работы
- vibecoding.ru, программа курса Агентная разработка — наш продукт
- vibecoding.ru, Новости: история порционной загрузки 31 июля и 1 августа 2026 — наш опыт
Запомнить
- Пагинация ограничивает ответ сервера. Проверьте, что браузер не загружает весь список.
- Фильтр и уникальный порядок действуют до выбора порции. Меняете условия, начинайте выдачу заново.
- Полноту проверяют по идентификаторам на фиксированном наборе. Для живых данных согласуйте обновление списка.
- Поручайте агентам одну таблицу вместе с проверками. Кнопки страниц не служат приёмкой.
- Скорость подтверждает замер до/после. Цена месяца подписки не означает цену одной доработки.