TanStack AI 1.0 упрощает смену модели и проясняет ответственность приложения
TanStack AI 1.0 стабилизирует ядро, оставляя среду агентов экспериментальной. Переносимость между поставщиками, три сценария применения и аккуратное обновление с 0.x.
Оригинальная редакционная схема Ken Jo на основе источников, перечисленных ниже.
Смена модели должна быть продуктовым решением. Но если приложение накопило специфичные для поставщиков форматы сообщений, состояние браузера и обратные вызовы инструментов, миграционный проект может начаться раньше, чем кто-либо сравнит новые ответы.
TanStack AI 1.0, представленная 23 октября 2026 года, даёт конкретное обещание на этой границе: стабильные основные API, 23 адаптера поставщиков и поддержка нескольких UI-фреймворков. Новая среда исполнения агентов, или harness, остаётся экспериментальной. При выборе основы для разработки это различие важнее номера версии. Объявление TanStack.
TanStack создаёт библиотеки с открытым кодом для разработчиков приложений. Этот выпуск относится к программному слою между моделью ИИ и продуктом: потоковым ответам, инструментам, интерфейсам и состоянию приложения. Рассмотрим обещание переносимости, его пользу в трёх обычных проектах и подготовку существующего приложения 0.x к обновлению.

Официальный пример TanStack AG-UI, © 2025 Tanner Linsley, лицензия MIT. Изображение показывает демонстрационный интерфейс проекта и выбранную в нём модель, а не запуск, проведённый для этой статьи.
Общий интерфейс уменьшает масштаб смены поставщика
Адаптер переводит ожидания приложения в формат API поставщика. Он даёт разработчикам единое место для запроса ответа модели и обработки результата. Приложение может сохранить отображение разговора и бизнес-правила, заменив часть, обращённую к поставщику.
Этот слой похож на коммутатор: он делает соединения понятными, не превращая все системы на другом конце в одинаковые. Именно это полезно, поскольку модели, размещение и требования продукта меняются независимо.
В объявлении от 23 октября указаны 23 адаптера и вариант совместимости с OpenAI для сервисов с таким форматом API. Также разделены стабильное ядро и экспериментальные пакеты harness. Это обязательства по совместимости и сопровождению, а не обещание поддержки каждой функции каждым поставщиком. Границы выпуска.
Поэтому первый вопрос конкретен: какие части текущего приложения сохранятся при смене поставщика? Отрисовку ответа, возможно, перенести легко. Процесс, зависящий от идентификаторов файлов поставщика, необычного поведения инструментов или особых предположений о выводе модели, всё ещё потребует осмысленных изменений.
Мы считаем это правильной мерой прогресса. Переносимость ценна, когда уменьшает объём продуктового кода, который команда должна пересмотреть. Число поддерживаемых поставщиков менее важно, чем успешная замена именно той зависимости, которую требуется изменить реальному продукту.
Приложение по-прежнему определяет успех
Общий API не делает решения двух моделей равноценными. Одна лучше соблюдает контракт структурированного вывода; другая иначе реагирует на длинный разговор или неоднозначный результат инструмента. Адаптер унифицирует передачу запроса, но не доказывает соответствие ответа требованиям приложения.
Это влияет на тестирование. Отделяйте проверку интеграции поставщика от примеров приемлемого продуктового поведения. Корректное завершение запроса проверяет один контракт; точный ответ, верный выбор инструмента и понятный интерфейс проверяют другие.
Например, у помощника поддержки есть инструмент поиска заказа и инструмент подготовки заявки на возврат. Обе модели могут правильно вызывать их на уровне протокола. Важно, выбирает ли каждая нужную операцию, соблюдает ли одинаковые правила доступа и точно ли описывает результат.
Перед заменой используйте небольшой именованный набор оценки. Включите неполные запросы, необычные вводные, недоступный инструмент и продолжение прежнего разговора. Это рекомендуемая инженерная процедура, а не опубликованный TanStack бенчмарк. Её цель — сделать воспроизводимым собственное определение успеха команды.
Адаптер может сохранить контракт соединения. Оценка на примерах приложения устанавливает, остаётся ли поведение на другой стороне приемлемым.
Три проекта показывают разные виды переносимости
Сначала рассмотрим существующее приложение поддержки. В нём уже есть учётные записи, разрешения и история разговоров. Потоковые ответы должны вписываться в продукт, а не требовать замены навигации или ответственности за данные. Общий слой ИИ привлекателен, если позволяет сохранить эти структуры и оценивать поставщиков за ними.
В этом условном проекте начните с поиска справки только для чтения. Проверьте, ссылается ли ответ на переданные материалы и оставляет ли отмена разговор в понятном состоянии. Добавляйте действия, когда интерфейс явно различает предложение и выполненную операцию. Позднейшая смена модели должна использовать те же проверки.
Второй сценарий — внутренний редактор текста. Команда хочет дать человеку возможность выделить абзац, запросить правку и сравнить её с оригиналом. Интерфейс здесь редактор, а не обычное окно чата. Интеграция без навязанного UI полезна, поскольку продукт должен решать, где появляется текст и когда человек его принимает.
В таком приложении переносимость должна сохранять работу пользователя. Не перезаписывайте исходный абзац лишь потому, что поток завершился. Держите предложение отдельно, позволяйте его проверить и определите, как отбрасывается прерванная или неудачная генерация. За это отвечает приложение независимо от SDK, предоставляющего поток.
Третий сценарий — уже работающий сервер на другом языке. Официальный пример AG-UI подключает React-клиент к шести возможным языкам серверной части через Server-Sent Events. README объясняет: серверы реализуют протокол передачи без пакетов TanStack на сервере. Официальный многоязычный пример.
Так обещание переносимости становится конкретным. Команда может оценить браузерный интерфейс, не переписывая сразу рабочий сервер. Однако всё ещё нужно правильно реализовать события, защитить конечную точку и связать состояние разговора со своими пользователями. Демонстрация совместимого протокола — начало этой работы.
| Проект | Что сохраняет общий слой | Что проверяет приложение |
|---|---|---|
| Помощник поддержки | Отображение разговора и границу интеграции поставщика | Точность источников, разрешённые действия и восстановление после ошибок |
| Текстовый интерфейс | Потоковую передачу внутри существующего редактора | Сохранность оригинала, принятие, отмену и качество правок |
| Существующий сервер не на JavaScript | Клиент общего протокола событий | Порядок событий, аутентификацию, принадлежность разговоров и хранение |
Эти сценарии показывают, почему выбор шире сравнения библиотек чата. Вопрос в том, какая часть продукта остаётся согласованной при смене одного компонента. Даже с одной моделью разные команды ценят разные границы.
Стабильное ядро и экспериментальный harness требуют отдельных решений
Выпуск явно закрепляет обязательство 1.0 для ядра, но новая среда агентов остаётся на экспериментальных API 0.x. Зафиксируйте это как два разных выбора зависимостей. Установка обоих пакетов не распространяет стабильность ядра на harness. Объявление от 23 октября.
Для ограниченной функции простой жизненный цикл часто понятнее: приходит запрос, работает модель, приложение обрабатывает результат. Долгоживущий агент добавляет вопросы одновременных сообщений, восстановления, сохранённого состояния и действий, продолжающихся после разрыва браузерного соединения. Harness предлагает место для организации этих вопросов.
Экспериментальный статус — факт сопровождения, а не повод избегать любых опытов. Изолируйте оценку от критического пути продукта, обозначьте ответственных и заложите ресурсы на изменения API. Прототип поможет понять пользу длительного взаимодействия до решения об эксплуатации.
Если сейчас нужна потоковая выдача в существующем экране, начните с неё. Добавляйте оркестрацию, когда её требует пользовательский процесс. Более богатая абстракция должна решать конкретную проблему жизненного цикла, не становясь обязательным условием каждой небольшой ИИ-функции.
Начните с небольшого, но завершённого взаимодействия
Текущий быстрый старт соединяет серверный маршрут, данные доступа поставщика и интерфейс выбранного фреймворка. Пример React использует серверный вызов модели и SSE с явным идентификатором разговора. Ключ API не попадает в браузер. Быстрый старт, проверен 27 октября 2026 года.
Для первой оценки выполните следующие шаги в отдельной ветке разработки. Цель — взаимодействие, которое можно проверить от запроса до результата. Для оценки пригодности интеграции не нужно мигрировать постороннюю инфраструктуру.
- Выберите один существующий экран и ограниченную задачу. Вопрос к предоставленной справке только для чтения проще проверить, чем процесс, сразу изменяющий клиентские записи.
- Установите стабильные пакеты интерфейса вместе. Для документированного варианта React/OpenAI используйте
npm i @tanstack/ai@^1 @tanstack/ai-react@^1 @tanstack/ai-openai@^1. Сохраните lock-файл в репозитории, чтобы версии оценки были известны. - Реализуйте серверную границу по актуальному руководству. Учётные данные остаются в серверном окружении. Свяжите запрос с аутентифицированным пользователем и идентификатором разговора, которым управляет приложение.
- Явно показывайте поток, завершение и отмену. Пользователь должен понимать, продолжается ли ответ, завершён ли он или прерван. При ошибке сохраняйте введённый текст.
- Выполните ту же задачу со вторым поддерживаемым поставщиком. Не меняйте материалы и примеры оценки. Отдельно записывайте различия поведения и изменения интеграции.
- Оцените результат как продуктовую функцию. До расширения проверьте пользовательский вид, сохраняемые данные и ошибки, требующие вмешательства.
Процедура намеренно мала и повторяема. Успешный ответ обнадёживает, но понятная ошибка не менее информативна. Полезная абстракция облегчает сопровождение обоих путей.
Обновление с 0.x включает и данные
Руководство по миграции удаляет API, объявленные устаревшими в 0.x, и описывает согласованные обновления пакетов. Сохранённые чаты, запуски и файлы выделены в самостоятельную задачу. Поэтому успешная проверка типов подтверждает лишь часть готовности. Переход на 1.0, проверен 27 октября.
Это легко упустить, если приложение выглядит исправным в новой сессии браузера. Новый разговор может работать, а старый содержать состояние, которое новый клиент не умеет продолжить. Миграция должна охватывать характерные сохранённые записи, а не только новые запросы.
Руководство различает переименование свойства и передачу правильного значения. Явный threadId требует реальной модели принадлежности; автоматическая правка не решит, как маршрут или база определяют разговор. Аналогично, похожий параметр body в другой части API нельзя менять без разбора текстовой заменой.
Используйте документированный codemod в режиме предпросмотра, изучите diff и обновите стабильные пакеты клиента и сервера вместе. Затем выполните шаги миграции данных в тестовой среде до развёртывания. Экспериментальные пакеты harness сохраняйте на документированной линии выпуска, не предполагая общий старший номер для всех связанных пакетов.
Обновление завершено, когда работают прежние разговоры и интерфейс, а не только компилируется новый код.
Определяйте готовность через видимое поведение. Откройте и продолжите старый разговор, отмените другой ответ, выполните разрешённый и запрещённый сценарии инструмента. Проверьте, что решение о доступе по-прежнему относится к нужному пользователю. Так последствия миграции можно изучить без превращения версии SDK в оценку качества.
Переносимость — поддерживаемая способность меняться
TanStack AI 1.0 предлагает полезное направление командам, которые хотят осознанно выбирать модели и интерфейсы. Самый сильный повод для внедрения — ясная граница приложения, которую библиотека упрощает. Самый слабый — ожидание, что адаптер устранит все поведенческие различия поставщиков.
Настоящая проверка приходит при втором изменении: другом поставщике, продолженном разговоре, пересмотренном контракте инструмента или старой записи в новом клиенте. Сохраняйте наблюдаемость этих изменений, и переносимость станет эксплуатационной способностью, а не обещанием в архитектурном документе.
Источники
- Объявление TanStack AI 1.0, 23 октября 2026 года.
- Быстрый старт TanStack AI, проверен 27 октября 2026 года.
- Обновление до 1.0, проверено 27 октября 2026 года.
- Официальный многоязычный пример AG-UI и лицензия MIT, изучены 27 октября 2026 года. Сценарии и процедура оценки иллюстративны; сравнительное тестирование поставщиков не проводилось.
Рекомендация Telli.sh
Храните запросы, исходные материалы и решения по ИИ-интеграции в доступной для поиска коллекции. Создайте аккаунт Telli.sh, чтобы упорядочить проектные заметки и материалы проверки.