AI Navigate

1つのSDK、12モダリティ: AI推論はこれほど分断されるべきではない

Dev.to / 2026/3/18

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsIdeas & Deep AnalysisTools & Practical Usage

要点

  • ローカル推論はAIアプリのデフォルトになるよう加速しており、IDCは2027年までに推論の80%がローカルまたはエッジで実行されると予測しています。
  • マルチモダリティのスタックは、STT、LLM推論、TTS、画像生成、音楽の5つの別々のツールとインターフェースに分断されており、複雑さとグルーコードのオーバーヘッドを引き起こし、製品機能の構築に割く時間を奪っています。
  • 現在のツールランドスケープは5つの「島」のような能力を生み出しており、開発者は異なるランタイム、フォーマット、プロバイダ設定を管理することを余儀なくされます。これは五つの部屋に分かれた台所のようだ。
  • 本稿は、タイトルの示唆通り「One SDK, 12 Modalities」がすべてのモダリティを横断する統一SDKであるべきだと主張し、断片化を減らし、ローカルランタイムからクラウドサービスまでの開発を効率化することを提案します。

Nimi Banner

GitHub: github.com/nimiplatform/nimi | Apache-2.0 / MIT

ローカル推論がデフォルトになりつつある。しかし断片化が真の問題だ。

モデルはより強力で小さくなっています。ローカル推論はもはや趣味の追求ではなく、AIアプリの構築における標準的な部分となっています。IDC は 2027 年までに AI 推論の 80% がローカルまたはエッジで実行されると予測しています。

2025年の Stack Overflow 開発者調査によると、開発者の 59% が同時に 3 つ以上の AI ツールを使用しています。しかし今日私たちが取り組んでいる AI プロジェクトを 1 つ開いてみてください。AI キャラクター アプリを例に挙げると、それには音声認識(STT)、テキスト推論(LLM)、音声合成(TTS)、シーン画像生成、そしておそらく背景音楽が必要です。5つのモダリティ、5つの異なる機能です。

今日のツールチェーンでは、以下が必要です:

  • ローカルテキスト推論: Ollama または llama.cpp
  • ローカル画像生成: ComfyUI または AUTOMATIC1111
  • ローカル音声合成: Piper または GPT-SoVITS
  • クラウド動画生成: Runway API
  • クラウド音楽生成: Suno API

5つのツール。5つのプロセス。5つの設定。5つの異なるインターフェース形式。

すべてのAI機能は島のような独立性を持っています。

1つの食事を作るようなものだが、キッチンは5つの部屋に分かれている。部屋Aで刻み、部屋Bで炒め、部屋Cで味付け。それぞれの部屋には異なる錠、異なるコンロ、異なる計量カップがある。

私たちは開発時間の40%をグルーコードの作成に費やしています — プロバイダの切替、フォールバックロジック、ヘルスチェック、ストリーミングアダプター、トークン計測、エラーリトライ。これらは実際の製品とは関係ありません。それでも、すべてのAIアプリは同じグルーをゼロから書いています。

実際に作りたいものに費やす時間はおそらく20%でしょう。残りの40%はサーバー、デプロイ、インフラストラクチャに使われます。

ローカルツールとクラウドSDKは、それぞれ半分の問題を解決します

開発パイプラインの前半にはすでにいくつかの解決策があります。それらは2つのカテゴリに分類されます。OpenRouter の数字が物語っています — 500万人の開発者が60以上のプロバイダと300以上のモデルにリクエストをルーティングしています。マルチプロバイダはニッチなニーズではなく、標準です。

カテゴリ1: ローカルモデルランナー。Ollama、LM Studio、LocalAI。彼らは「マシン上でモデルを実行する」ことを解決しますが、クラウドには触れません。ローカルGPUが足りない場合や、GPT-4レベルの推論が必要な場合は、クラウドSDKへ切り替えます。

カテゴリ2: クラウドAPIゲートウェイ。OpenRouter、LiteLLM。1つのインターフェースの背後に複数のクラウドプロバイダを統合しますが、ローカルには触れません。コストを抑えるためにローカルモデルを使いたい、あるいはオフラインで動作したい場合?彼らは役に立ちません。

さらに3つ目のカテゴリがあります: アプリケーション層のフレームワーク。LangChain、Vercel AI SDK。アプリレベルで抽象化しますが、推論が実際にどこで実行されるか、プロバイダがダウンした時の挙動、ローカルエンジンのライフサイクルをどう管理するかは扱いません。

ローカル + クラウド + マルチモーダル + ルーティング/フォールバック + ライフサイクル管理をすべて扱える単一の解決策はありません。

それぞれがパズルの1ピースを解決します。全体像を完成させた人はいません。

Nimi Runtime がその完成された全体像です。

Runtime: モデルランナーではなく、実行表面

Nimi Runtime を作りました。1文で言えば:

AI 推論のための Docker。

Docker は「プログラムを実行する方法」を解決したわけではありませんでした — それはすでに解決されていました。Docker は「どこでも同じ動作で実行できる」ことを解決しました。Nimi Runtime も同じように機能します。ローカルの Llama を呼び出す場合でも、クラウドの GPT-4 を呼び出す場合でも、テキストでも画像でも音声でも — 同じインターフェース、同じ挙動です。

Nimi Architecture

バックグラウンドで動作する1つのGoデーモン。起動すると、すべてのAI機能は1つのポートを通じて提供されます。

nimi start                              # デーモンを起動する
nimi run "Hello"                        # デフォルト推論 (ローカルまたはクラウド)
nimi run --provider gemini "Hello"      # クラウドを指定
nimi run --model llama3.2 "Hello"       # ローカルを指定

同じコマンド。同じインターフェース。実行層は抽象化されています。

Nimi Quickstart

42 のクラウドプロバイダ。OpenAI、Anthropic、Gemini、DeepSeek、Qwen、MiniMax、Kimi、GLM — グローバルなカバレッジ。ローカルエンジンは LocalAI と Nexa SDK、Runtime が自動的にそれらのライフサイクルを管理します — 起動、シャットダウン、ヘルスプローブ、障害復旧。 manual management は不要です。

12 のモダリティ、1 つのプロトコル:

モダリティ 機能
テキスト生成 チャット、指示、ツール呼び出し
テキスト + 視覚 画像理解、OCR
画像生成 テキストから画像へ、画像から画像へ
動画生成 テキストから動画へ、画像から動画へ
音声合成 TTS + 声のクローン
音声認識 STT + タイムスタンプ整列
音楽生成 テキストから音楽へ、スタイル転換
埋め込み セマンティック検索、RAG
知識取得 文書インデックス作成 + セマンティック検索

すべては 1 つの gRPC インターフェースを通じて。

Nimi Multimodal

主要機能: ルーティング、フォールバック、そしてもう書く必要のないコード

スマートなルーティング。ローカル優先を設定します。LocalAI が健全であれば、ローカルで実行します。LocalAI が停止した場合は自動でクラウド OpenAI へ切り替えます。OpenAI がレート制限を受けたら自動的に Gemini へ切り替えます。if-else 文は不要です。

ヘルス監視。Runtime は各プロバイダを8秒ごとにプローブします — HEALTHY(健全)、DEGRADED(劣化)、UNREACHABLE(到達不能)、UNAUTHORIZED(認証されていない)。私たちのアプリで見えるのは常に利用可能な推論サービスです。裏側で誰が動かしているかは関係ありません。

冪等性のある重複排除。1万リクエストのスライディングウィンドウで重複課金を防ぎます。同時実行制御: グローバル上限8、アプリごとに上限2、すべて設定可能です。

監査履歴。すべてのAI呼び出しは記録されます — どのプロバイダ、トークン数、どのルーティング決定が行われたか、自動切替が発生したか。リングバッファは直近の20,000件のイベントを保存します。デバッグ、コスト分析、コンプライアンスのために。

これは以前、すべてのプロジェクトで書いていたコードです。もう書く必要はありません。

比較

すべての解決策を1つの表に:

機能 Ollama LM Studio LocalAI ComfyUI OpenRouter LangChain Nimi Runtime
ローカルテキスト推論
ローカル画像生成
ローカル TTS/STT
クラウド提供者 ✅ (42)
ローカル + クラウドルーティング
自動フォールバック 部分
動画 / 音楽 部分
デーモンアーキテクチャ N/A
ワークフロー / DAG
権限 / 監査

Ollama はローカルモデルの実行を見事にシンプルにしました。ComfyUI は画像ワークフローを比類のないものにしました。しかし、それぞれが問題の一つの次元を解決します。

Nimi Runtime はこれらの次元を一つの実行表面に統合します。私たちのアプリは知るべきことが1つだけです:Runtime を呼び出すこと。

アプリでの利用

SDK統合:

import { Runtime } from '@nimiplatform/sdk/runtime';

const runtime = new Runtime();

// Local inference
const local = await runtime.generate({
  prompt: 'Describe yourself in one sentence.',
});

// Cloud inference — same interface, one parameter added
const cloud = await runtime.generate({
  provider: 'gemini',
  prompt: 'Describe yourself in one sentence.',
});

すでに Vercel AI SDK を使用していますか?移行コストはゼロです:

import { generateText } from 'ai';
import { createNimiAiProvider } from '@nimiplatform/sdk/ai-provider';

const nimi = createNimiAiProvider({ runtime });

const { text } = await generateText({
  model: nimi.text('gemini/default'),
  prompt: 'Hello from Vercel AI SDK + Nimi',
});

Under the hood it's Nimi Runtime's routing and fallback logic. But the code looks exactly like using an OpenAI provider.

Nimi SDK

Nimi Runtime is open source. Apache-2.0 / MIT dual license.

GitHub: https://github.com/nimiplatform/nimi

curl -fsSL https://install.nimi.xyz | sh
nimi start
nimi run "Hello"

Three commands. One unified AI inference surface. 42 cloud providers, local engines, 12 modalities, one interface.

Stop writing separate integrations for every AI modality. Point Claude at this link — it'll tell you what to do next.

Nimi Team
GitHub: https://github.com/nimiplatform/nimi