Slide 1

Slide 1 text

型安全で非依存な軽量AIエージェント フレームワーク、Tankstack AI 2026.1.9 @daitasu

Slide 2

Slide 2 text

自己紹介 Name: @daitasu Belong to: SEN, Inc. Favorite: Sauna, Hotspring

Slide 3

Slide 3 text

型安全で非依存な軽量AIエージェント フレームワーク、Tankstack AI

Slide 4

Slide 4 text

Tanstack AI とは? ● Tanstack チームが開発する軽量なAIフ レームワーク(現在はalpha版) ● 完全中立の思想(The Switzerland of AI Tooling) ○ AIプロバイダ非依存 ○ フロントエンドフレームワークやバックエ ンド言語非依存(TS以外は開発中) ● Type-Safety ○ Zod Schema によるTSサポート ○ モデル単位での型推論

Slide 5

Slide 5 text

特徴① Per-model Safety(モデルごとの型推論) ● Tanstack AI のパッケージ ○ コア: @tanstack/ai ○ 各AIプロバイダのアダプター: @tanstack/ai-anthropic 、@tanstack/ai-gemini ○ 各モデルの型定義はコアでなく、アダプター 側が保有している ● モデルごとに型定義が切り替わる型システム ○ 特定のモデルを指定すると、そのモデ ル専用のオプションだけが補完され、存 在しない定義はエラーになる

Slide 6

Slide 6 text

特徴① Per-model Safety(モデルごとの型推論) ● Vercel AI SDK の場合 ○ providerOptions という汎用型に 対し、モデル固有の型を当てる ○ satisfies された型で見るため、モデ ルを変えてもエラーにはならない ● Tanstack AI の場合 ○ Adapter パターンによる型注入 ○ モデルごとに固有の型定義を持つ ○ モデル変更時に型推論が走りエラーとなる

Slide 7

Slide 7 text

特徴② Isomorphic tool ● ツール定義と実装の分離 ○ Tanstack AI では定義と実装を分離している ○ 定義したツールはフレームワーク非依存で流用可能 ○ .server() 、 .client()でサーバ/クライアント双方で使える 1. ツール定義 2. サーバ実装 3. AIモデルでの 使用

Slide 8

Slide 8 text

デモ

Slide 9

Slide 9 text

例: ダミーユーザ取得のツールを用いる例(時間あれば実際の画面の方見ます) 1. ツール定義 2. サーバ実装 3. AIモデルでの 使用

Slide 10

Slide 10 text

例: ダミーユーザ取得のツールを用いる例(時間あれば実際の画面の方見ます) 4. Stream Chunk の取得 ○ レスポンスはStream のChunk Type ごとに取得できる ● 完了 ● エラー ● ツール呼び出し ● ツール結果 etc…

Slide 11

Slide 11 text

例: ダミーユーザ取得のツールを用いる例(時間あれば実際の画面の方見ます) 5. 実行結果

Slide 12

Slide 12 text

まとめ ● Tanstack AI は軽量で型安全なAIフレームワーク ● AIプロバイダやフレームワーク、ランタイム環境に依存しない思想 ● Zod スキーマで型安全にツール構築可能 ● Per-model Type Safetyであり、モデルごとの専用オプションの型定義が自動 補完される