Pipe – AI操作を言語プリミティブにするランタイム
Pipe(SPR v0.7.0)は、summarize・translate・classify などのAI操作を言語プリミティブとして扱う約10MBのセマンティックパイプラインランタイムです。LLMエージェント向けの組み込みサンドボックス、asyncボイラープレート不要の並列実行、AIプロバイダーの一行切替、バイトコードVM、ゼロ依存デプロイを備え、AIネイティブなインフラを対象としています。
Pipe は、AIネイティブなインフラのためのセマンティックパイプラインランタイム(Semantic Pipeline Runtime)で、最新版は SPR v0.7.0 です。summarize、translate、classify など23種類のAI操作をライブラリ呼び出しではなく言語プリミティブとして設計しており、import やSDK、APIラッパーを必要としません。実行環境は約10MBの静的リンクされた単一バイナリで、Pythonや依存関係、Dockerは不要。Linux、macOS、Windows、Raspberry Pi、さらにWebAssembly経由でブラウザ上でも動作します。
Pipe は、本番環境でLLMを運用する際の3つの課題を言語レベルで解決します。セキュリティ面では、ファイルアクセス・ネットワーク・execを持つLLMは危険なため、sandbox_profile による宣言的なサンドボックスプロファイルを用意。exec、write_file、http_get を制限でき、ai_with_tools を使うAIエージェントでも安全が保たれます。性能面では、逐次API呼び出しが1秒のパイプラインを10秒のボトルネックに変える問題に対し、>> 演算子で任意のパイプライン段をバックグラウンド実行し、Future を自動解決。ai_batch はレート制限付きで数百テキストを並列処理します。ベンダーロックインは ai_provider の一行で解消され、OpenAI から DeepSeek への切り替えもSDKコードの書き換えなしで完了します。
パイプラインの例も簡潔です。ログ分析は5行で実現できます。read_file でサーバーログを読み込み、split で行に分割し、classify で重大度を判定、filter で critical なエントリだけを残し、summarize で要約、translate "de" でドイツ語に翻訳、save で保存します。中間ファイルもPythonスクリプトも不要です。RAGパイプラインも、ドキュメントを embed_batch でベクトル化し、質問を embed で埋め込み、nearest で意味的に近い上位3件を取得、ask にコンテキストとして渡すだけ。Pinecone などのベクトルDBのセットアップは不要です。AIエージェントでは、通常の関数を ai_tool でLLMに登録し、ai_with_tools で自律的に呼び出させられます。サンドボックスプロファイルにより、temp-only のファイルシステム・ネットワーク許可・exec 禁止などを宣言できます。
Python + LangChain との比較では、同じRAGパイプラインが約80行ではなく約10行、サンドボックスはカスタムミドルウェアではなく sandbox_profile の1ブロック、プロバイダー切替はSDK呼び出しの書き換えではなく ai_provider "deepseek" の一行、デプロイは Docker + venv + pip ではなく scp でバイナリを送るだけ、バイナリサイズも約500MBではなく約10MBです。Pipe は23のAIビルトインに加え、91の標準ビルトインを持ちます。カテゴリには、理解(summarize、translate、classify、extract、ask、generate)、並列(ai_stream、ai_batch、ai_parallel、ai_rate_limit、ai_chat、ai_chat_json)、埋め込み検索(embed、embed_batch、cosine_sim、dot_product、nearest)、ツール呼び出しと設定(ai_tool、ai_with_tools、ai_provider、ai_model、ai_timeout)、サンドボックス(sandbox_profile、set_sandbox、with_sandbox)、テスト(test、assert、assert_eq、assert_lt、assert_gt、assert_error)が含まれます。
高度な機能として、try_ai は実行時エラーを捕捉し、AIが壊れた式を自動修正します。たとえば "42" * 3 は型エラーになりますが、AIが (to_num "42") * 3 に直して 126 を返します。AIが修正できない場合は catch にフォールバックします。並列実行も設計に組み込まれており、3つのLLM呼び出しを約4秒ではなく約1.5秒で完了できます。async/await や Promise.all は不要です。制御構文も C スタイルの for、複数パターンの match、not キーワードなどを使いやすく設計され、すべてバイトコードにコンパイルされます。VM は40のオペコードを持つスタックマシンで自動キャッシュを備え、開発時はツリーウォーカー、本番ではVMを使うことで約7倍の速度を実現します。
開発体験にも配慮しており、LSPベースのIntelliSense(補完、ホバードキュメント、定義ジャンプ、診断)が利用でき、VSCode向けのサポートも用意されています。テストはセットアップ不要で、test ブロックと assert 系の関数を pipe -test で実行できます。公式のGitHub Actionを使えばCI上でもインストール不要・デフォルトでサンドボックス化された状態でPipeを実行できます。現時点で230以上のテスト、約15,000行のGoコード、42のサンプルプログラム、4つのAIプロバイダー、9つのモジュールを備え、依存関係はゼロです。モジュールは名前でインポートでき、@1.0.0 のようにバージョン指定も可能で、pipe -search で探索、pipe -get でインストールします。