AI 분석8분 분량

TanStack AI 1.0: 모델 교체는 쉬워지고, 애플리케이션의 책임은 선명해진다

TanStack AI 1.0은 핵심 API를 안정화하고 에이전트 하네스는 실험 단계로 유지합니다. 제공자 교체, 세 가지 앱 사례, 0.x 업그레이드에서 확인할 사항을 살펴봅니다.

K
Ken Jo

설명 도식: TanStack AI 1.0: 모델 교체는 쉬워지고, 애플리케이션의 책임은 선명해진다

아래에 정리한 출처를 바탕으로 Ken Jo가 제작한 설명 도식입니다.

모델 교체는 제품의 필요에 따라 결정할 수 있어야 합니다. 하지만 제공자마다 다른 메시지 형식, 브라우저 상태, 도구 콜백이 쌓인 앱에서는 새 답변을 비교하기도 전에 마이그레이션 프로젝트가 시작될 수 있습니다.

2026년 10월 23일 발표된 TanStack AI 1.0은 이 경계에서 구체적인 약속을 내놓았습니다. 23개 제공자 어댑터와 여러 UI 프레임워크를 지원하는 핵심 API를 안정화했습니다. 새 에이전트 하네스는 여전히 실험 단계입니다. 지금 무엇을 기반으로 개발할지 판단할 때는 버전 숫자보다 이 구분이 중요합니다. TanStack 발표.

TanStack은 애플리케이션 개발자를 위한 오픈소스 라이브러리를 만듭니다. 이번 릴리스가 다루는 영역은 AI 모델과 제품 사이의 소프트웨어, 즉 응답 스트리밍, 도구, 인터페이스, 앱 상태입니다. 제공자 교체의 가능성을 어떻게 평가하고, 일상적인 세 프로젝트에서 어디에 도움이 되며, 기존 0.x 앱은 업그레이드 전에 무엇을 준비해야 하는지 살펴보겠습니다.

React 채팅 인터페이스가 Python 백엔드에 연결된 TanStack 공식 AG-UI 예제.

공식 TanStack AG-UI 예제, © 2025 Tanner Linsley, MIT 라이선스. 프로젝트의 예제 인터페이스와 선택된 모델을 보여주는 이미지이며, 이 글을 위해 실행한 결과가 아닙니다.

공통 인터페이스가 제공자 교체의 범위를 줄인다

어댑터는 애플리케이션이 기대하는 형식과 제공자의 API 사이를 변환합니다. 개발자가 모델 응답을 요청하고 결과를 받는 일관된 접점을 제공합니다. 앱은 대화 화면과 업무 규칙을 유지하면서 제공자와 연결되는 부분을 바꿀 수 있습니다.

이 계층을 교환대로 생각해 보세요. 반대편의 모든 시스템을 똑같게 만들지는 않지만 연결 방식을 이해하기 쉽게 만듭니다. 모델, 호스팅 방식, 제품 요구사항이 서로 독립적으로 계속 바뀌기 때문에 이러한 역할이 유용합니다.

10월 23일 발표는 23개 어댑터와 함께 OpenAI API 형식을 사용하는 서비스를 위한 호환 옵션을 소개합니다. 안정화된 핵심과 실험 단계 하네스 패키지도 구분합니다. 이는 호환성과 유지보수에 관한 약속이며, 모든 제공자가 모든 모델 기능을 지원한다는 뜻은 아닙니다. 릴리스 범위.

따라서 개발자가 먼저 물어야 할 질문은 구체적입니다. 제공자가 바뀌어도 현재 앱의 어느 부분을 유지할 수 있을까요? 응답을 표시하는 코드는 쉽게 옮길 수 있습니다. 특정 제공자의 파일 식별자, 독특한 도구 동작, 모델별 출력 가정에 의존하는 절차는 여전히 의도적인 수정이 필요할 수 있습니다.

저희는 이것이 진전을 판단하기에 적절한 기준이라고 봅니다. 이식성은 팀이 다시 검토해야 할 제품 코드를 줄일 때 가치가 있습니다. 지원 제공자의 수보다 실제 제품에서 바꿔야 하는 의존성 하나를 성공적으로 바꾸는 일이 더 중요합니다.

성공의 정의는 여전히 애플리케이션이 소유한다

공통 API가 두 모델의 판단까지 같게 만들 수는 없습니다. 한 모델은 구조화된 출력 규약을 더 잘 따를 수 있고, 다른 모델은 긴 대화나 모호한 도구 결과에 다르게 반응할 수 있습니다. 어댑터는 요청이 오가는 방식을 정리할 수 있지만 답변이 앱 요구사항을 충족한다는 사실까지 증명하지는 않습니다.

테스트에서도 이 차이를 반영해야 합니다. 제공자 연동 테스트와 제품에서 허용되는 동작을 정의한 사례를 분리하세요. 요청이 정상 완료됐는지는 하나의 규약을 확인합니다. 정확한 답변, 적절한 도구 선택, 이해할 수 있는 인터페이스는 별도의 기준으로 확인해야 합니다.

예를 들어 고객지원 도우미에 주문 조회 도구와 환불 요청 준비 도구가 있다고 가정하겠습니다. 두 제공자 모두 프로토콜 수준에서는 이 도구들을 올바르게 호출할 수 있습니다. 중요한 것은 각 모델이 적절한 작업을 선택하고, 같은 권한 규칙을 지키며, 결과를 정확히 설명하는지입니다.

교체 전에 이름을 붙인 작은 평가 사례 모음을 사용하세요. 불완전한 요청, 특이한 입력, 사용할 수 없는 도구, 이전 턴 이후 재개하는 대화를 포함하면 좋습니다. 이는 TanStack이 발표한 벤치마크가 아니라 권장하는 개발 절차입니다. 팀이 정의한 성공 조건을 반복해서 확인하는 데 목적이 있습니다.

앱의 공통 인터페이스와 업무 규칙을 제공자 어댑터 및 모델 동작과 구분한 도식.

어댑터는 연결 규약을 유지할 수 있습니다. 반대편의 동작이 여전히 허용 가능한지는 앱별 평가로 확인합니다.

세 프로젝트가 보여주는 서로 다른 이식성

먼저 기존 고객지원 앱을 생각해 보겠습니다. 계정, 권한, 대화 이력이 이미 있습니다. 응답 스트리밍은 이러한 제품 구조에 들어맞아야 합니다. 화면 이동 방식이나 데이터 소유권을 교체하도록 요구해서는 안 됩니다. 공통 AI 계층은 기존 구조를 유지한 채 뒤쪽의 제공자를 평가할 수 있을 때 매력적입니다.

이 가상 프로젝트에서는 읽기 전용 도움말 검색부터 시작하세요. 답변이 앱에서 제공한 자료를 인용하는지, 취소 이후 대화 상태가 자연스럽게 남는지 확인합니다. 제안과 완료된 작업을 화면에서 명확히 구분한 다음 실제 동작을 추가하세요. 나중에 모델을 바꾸더라도 같은 검사를 재사용할 수 있어야 합니다.

두 번째 사례는 내부 글쓰기 도구입니다. 사용자가 문단을 선택하고 수정을 요청한 뒤 원문과 비교할 수 있게 만들고 싶습니다. 일반적인 채팅창이 아니라 편집기 안의 기능입니다. 생성된 텍스트가 표시되는 위치와 사용자가 수락하는 시점을 제품이 직접 결정해야 하므로, 정해진 UI를 강제하지 않는 연동이 유용합니다.

이 앱에서 제공자 교체는 사용자의 작업을 보존해야 합니다. 스트림이 끝났다는 이유만으로 원문을 덮어쓰지 마세요. 제안을 따로 유지하고 검토할 수 있게 하며, 중단되거나 실패한 생성 결과를 어떻게 폐기할지 정하세요. 어떤 SDK가 스트림을 제공하든 이는 앱이 책임져야 할 선택입니다.

세 번째 사례는 다른 언어로 작성된 기존 백엔드가 있는 팀입니다. TanStack의 공식 AG-UI 예제는 Server-Sent Events를 통해 React 클라이언트를 여섯 가지 백엔드 언어에 연결합니다. README는 서버에 TanStack 패키지를 설치하지 않고도 각 서버가 전송 프로토콜을 구현한다고 설명합니다. 공식 다언어 예제.

이 예제는 이식성을 구체적으로 보여줍니다. 팀은 정상 작동하는 백엔드를 즉시 다시 작성하지 않고도 브라우저 인터페이스를 평가할 수 있습니다. 다만 예상 이벤트를 올바르게 구현하고, 엔드포인트를 보호하며, 대화 상태를 실제 사용자와 연결해야 합니다. 호환 프로토콜 시연은 그 작업의 출발점입니다.

프로젝트공통 계층으로 유지할 수 있는 부분애플리케이션에서 평가해야 할 부분
고객지원 도우미대화 표시와 제공자 연동 경계자료의 정확성, 허용된 도구 동작, 오류 복구
글쓰기 인터페이스기존 편집기 안의 스트리밍 방식원문 보존, 수락, 취소, 수정 품질
기존 비 JavaScript 백엔드공통 이벤트 프로토콜을 사용하는 클라이언트이벤트 순서, 인증, 대화 소유권, 영속 저장

이 사례들은 선택의 범위가 채팅 라이브러리 비교보다 넓다는 점을 보여줍니다. 핵심 질문은 구성요소 하나를 바꿔도 제품의 어느 부분이 일관성을 유지하느냐입니다. 같은 모델을 사용하더라도 팀마다 중요한 경계는 다릅니다.

안정화된 핵심과 실험 단계 하네스는 따로 판단한다

이번 릴리스는 핵심의 1.0 약속을 명시하지만 새 에이전트 하네스는 실험 단계의 0.x API에 남겨둡니다. 팀은 이를 서로 다른 의존성 선택으로 기록해야 합니다. 둘 다 설치한다고 핵심의 안정성 약속이 하네스까지 확대되지는 않습니다. 10월 23일 릴리스 발표.

범위가 제한된 기능은 단순한 수명주기로 이해하기 쉬운 경우가 많습니다. 요청이 들어오고, 모델이 작업하고, 앱이 결과를 처리합니다. 오래 유지되는 에이전트는 동시 메시지, 복구, 저장된 상태, 브라우저 연결보다 오래 지속되는 동작에 관한 질문을 추가합니다. 하네스는 이런 문제를 정리할 위치를 제공한다는 점에서 매력적입니다.

실험 단계라는 표시는 유지보수에 관한 사실입니다. 모든 실험을 피해야 한다는 이유는 아닙니다. 제품의 핵심 경로에서 평가를 분리하고, 담당자를 명시하며, API 변경에 필요한 여유를 확보하세요. 프로토타입으로 장기적인 상호작용의 가치를 배운 뒤 운영 여부를 결정할 수 있습니다.

당장의 목표가 기존 화면에 응답 스트리밍을 넣는 일이라면 거기서 시작하세요. 사용자 업무 흐름에 필요할 때 오케스트레이션을 추가하면 됩니다. 더 풍부한 추상화는 구체적인 수명주기 문제를 해결해야 하며, 모든 작은 AI 기능의 선행 조건이 될 필요는 없습니다.

작지만 완결된 상호작용으로 시작한다

현재 TanStack 빠른 시작 문서는 서버 경로, 제공자 자격 증명, 프레임워크별 인터페이스를 연결합니다. React 예제는 명시적인 대화 식별자와 함께 서버 측 모델 호출 및 SSE 연결을 사용합니다. 제공자 API 키는 브라우저에 노출하지 않습니다. 빠른 시작, 2026년 10월 27일 확인.

첫 평가에서는 별도의 개발 브랜치에서 다음 순서를 사용하세요. 팀이 요청부터 결과까지 검토할 수 있는 상호작용 하나가 목표입니다. 연동이 맞는지 알아보기 위해 관련 없는 인프라까지 옮길 필요는 없습니다.

  1. 기존 화면 하나와 범위가 제한된 작업 하나를 고르세요. 제공한 도움말에 관한 읽기 전용 질문은 고객 기록을 즉시 수정하는 흐름보다 검토하기 쉽습니다.
  2. 해당 인터페이스의 안정화된 패키지를 함께 설치하세요. 문서의 React/OpenAI 시작점에서는 npm i @tanstack/ai@^1 @tanstack/ai-react@^1 @tanstack/ai-openai@^1을 사용합니다. 평가한 버전을 알 수 있도록 생성된 잠금 파일도 커밋하세요.
  3. 현재 빠른 시작 문서를 따라 서버 경계를 구현하세요. 자격 증명은 서버 환경에 두세요. 요청을 인증된 사용자와 앱이 소유하는 대화 식별자에 연결합니다.
  4. 스트리밍, 완료, 취소 상태를 화면에 드러내세요. 응답이 아직 도착하는 중인지, 끝났는지, 중단됐는지 알 수 있어야 합니다. 요청이 실패해도 사용자의 입력은 보존하세요.
  5. 두 번째 지원 제공자로 같은 작업을 실행하세요. 자료와 평가 사례를 고정하세요. 동작의 차이와 연동 코드 변경을 따로 기록합니다.
  6. 결과를 제품 기능으로 검토하세요. 연동 확대를 결정하기 전에 사용자에게 보이는 화면, 저장되는 데이터, 개입이 필요한 실패를 살펴보세요.

이 절차는 반복할 수 있도록 의도적으로 작게 구성했습니다. 성공한 답변도 유용하지만 이해할 수 있는 실패 역시 중요합니다. 좋은 추상화는 두 경로 모두의 유지보수를 쉽게 만듭니다.

0.x 업그레이드에는 import 문 수정뿐 아니라 저장 데이터 이전도 포함된다

마이그레이션 가이드는 0.x에서 사용 중단이 예고된 API를 제거하고 패키지를 함께 업데이트하는 방법을 설명합니다. 저장된 대화, 실행, 파일도 별도 마이그레이션 대상으로 명시합니다. 따라서 타입 검사를 통과했다고 업그레이드 준비가 모두 끝난 것은 아닙니다. 1.0 업그레이드 가이드, 10월 27일 확인.

새 브라우저 세션에서 앱이 정상으로 보이면 이를 놓치기 쉽습니다. 새 대화는 성공해도 기존 대화에는 새 클라이언트가 재개하지 못하는 상태가 들어 있을 수 있습니다. 새 요청뿐 아니라 대표적인 영속 저장 기록도 마이그레이션에 포함해야 합니다.

가이드는 속성 이름 변경과 올바른 값 제공을 구분합니다. 명시적인 threadId에는 실제 소유권 모델이 필요합니다. 자동 수정 도구가 경로나 데이터베이스에서 대화를 식별하는 방법까지 결정할 수는 없습니다. 마찬가지로 다른 API 영역에 있는 비슷한 body 옵션을 무차별 텍스트 치환으로 바꾸어서는 안 됩니다.

문서의 codemod를 미리보기 모드로 실행하고 변경 사항을 검토한 뒤, 안정화된 클라이언트와 서버 패키지를 함께 업그레이드하세요. 배포 전에 테스트 환경에서 저장 데이터 관련 단계를 진행합니다. 관련 패키지의 주 버전이 모두 같다고 가정하지 말고 실험 단계 하네스는 문서에 정해진 릴리스 계열을 유지하세요.

업그레이드를 승인하기 전에 코드 마이그레이션, 저장 데이터, 사용자 흐름을 함께 확인하는 도식.

새 코드가 컴파일되는 것뿐 아니라 기존 대화와 인터페이스가 계속 작동해야 업그레이드가 완료됩니다.

릴리스 검사를 사용자에게 보이는 동작으로 정의하세요. 기존 대화를 열어 이어가고, 다른 응답을 취소하고, 허용된 도구 흐름과 거부되는 흐름을 모두 실행합니다. 권한 판단이 여전히 올바른 사용자에게 연결되는지도 확인하세요. 이런 검사는 SDK 버전을 품질 점수로 취급하지 않으면서 마이그레이션의 영향을 검토하게 해줍니다.

이식성은 바꿀 수 있는 능력을 유지하는 일이다

TanStack AI 1.0은 모델과 인터페이스를 의도적으로 선택하고 싶은 팀에 유용한 방향을 제시합니다. 도입 근거가 가장 강한 경우는 라이브러리가 단순화할 명확한 경계를 가진 앱입니다. 어댑터가 제공자 사이의 모든 동작 차이를 없애주리라 기대하는 앱에서는 근거가 약합니다.

실제 판단 기준은 두 번째 변화에서 일어나는 일입니다. 다른 제공자, 재개한 대화, 수정된 도구 규약, 새 클라이언트로 연 과거 기록이 해당합니다. 그 변화를 관찰할 수 있게 유지하면 이식성은 설계 문서의 약속을 넘어 운영 능력이 됩니다.

출처

Telli.sh의 추천

AI 연동의 근거가 된 요청, 자료, 결정을 검색 가능한 참고 자료 모음으로 보관하세요. Telli.sh 계정을 만들고 프로젝트 메모와 검토 자료를 정리해 보세요.


← 블로그로 돌아가기