Neon Functions теперь поддерживают потоковые соединения неограниченной длительности, позволяя ИИ-агентам держать канал открытым в течение секунд, минут или даже дольше, не сталкиваясь с ограничениями по времени (timeout), которые прерывают большинство serverless-нагрузок. Это изменение критически важно для всех, кто создает чат-ассистентов или ботов, использующих инструменты, поскольку прерывание потока останавливает диалог и портит пользовательский опыт.

Почему serverless и ИИ-агенты плохо сочетались друг с другом

Большинство serverless-платформ созданы для быстрых задач по принципу «выполнил и забыл». Они устанавливают жесткие лимиты на время выполнения — часто 10 секунд на бесплатных тарифах и 60 секунд на платных — чтобы сделать использование ресурсов предсказуемым. ИИ-агент, однако, тратит время на «размышления», вызов внешних инструментов и генерацию токенов по мере их создания. Эта фаза «размышления» часто растягивается на десятки секунд, а поток токенов может продолжаться столько, сколько модель выдает результат. Когда таймер платформы истекает, она закрывает соединение, и клиент видит прерванный поток.

Ответ Neon: потоковая передача с длительным временем жизни по умолчанию

Neon Functions меняет правила игры. Вызов функции может оставаться открытым неограниченное время, передавая данные через WebSockets или Server-Sent Events (SSE) без какой-либо специальной настройки. Платформа рассматривает длительный поток как обычный запрос, поэтому разработчикам достаточно написать логику генерации потока, а Neon возьмет на себя все остальное.

В недавнем тесте это поведение продемонстрировали два эндпоинта:

  • Эндпоинт Heartbeat — функция отправляла «тик» раз в секунду в течение 90 секунд. Типичные serverless-тарифы завершили бы запрос через 10 или 60 секунд; Neon поддерживал соединение активным до тех пор, пока функция не завершилась самостоятельно.
  • Эндпоинт Token-relay — функция передавала токены от ИИ-модели клиенту сразу после их генерации. Пользователи видели, как ответ появляется слово за словом, вместо того чтобы ждать весь блок текста целиком.

Оба примера требовали только одного запроса от клиента; не требовалось никаких ухищрений с опросом (polling) или механизмами keep-alive.

Кому это выгодно, а кому стоит проявлять осторожность

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

Стоит учесть некоторые нюансы:

  • Модель, ориентированная только на запросы — Neon Functions обрабатывает потоки, которые привязаны к активному запросу. Фоновые задачи, которые должны выполняться дольше, чем длится запрос, по-прежнему требуют отдельного планировщика, такого как Inngest или аналогичный движок рабочих процессов (workflow engine).
  • Холодные старты — функции, которые простаивают, могут масштабироваться до нуля, поэтому следующий запрос может сопровождаться задержкой на «холодный старт». Активный поток предотвращает масштабирование вниз, но первый запрос после периода бездействия все равно потребует затрат на запуск.

Что ожидать дальше

Подводя итог: Neon Functions убирает «потолок» по времени ожидания, который долгое время вынуждал разработчиков ИИ искать обходные пути. Позволяя запросу оставаться открытым столько, сколько нужно агенту для размышлений и общения, Neon делает развертывание потоковых ИИ-агентов таким же простым, как и любой другой serverless-функции.