
Sailhouse
Sailhouse · コーディング
SailhouseはAIエージェント向けpub/subのイベント駆動インフラで、コントロールプレーンとして位置づけられている。イベントを発行し、プッシュ/プルのサブスクリプションで並列タスクを調整する。

Sailhouse について
What Is Sailhouse
Sailhouse(sailhouse.dev)は、AIエージェントにフレームワークではなくコントロールプレーンを与える、世界規模で分散されたpub/subプラットフォームだ。考え方は単純で、エージェントが協調するのに重いオーケストレーション層は要らない。必要なのは、イベントを送り、購読し、まとまった作業が終わったときに足並みを揃えるための信頼できる場所である。Sailhouseはその層にあたり、自分のコードから呼び出すホスト型インフラとして作られている。
狙うのは調整の手間だ。ツールを呼ぶ、他のエージェントを待つ、並列で処理を流すといったエージェントを組むと、毎回同じ配管を書くことになる。リトライ処理、キュー、ファンアウトとファンイン、スケジュール実行。Sailhouseはそこを引き受ける。イベントをトピックに発行し、サブスクリプションを付ければ、配信、リトライ、デッドレターはプラットフォームが扱う。
代わりに範囲は限られる。Sailhouseは開発者向けのインフラであり、ノーコードの構築ツールではないし、エージェントを代わりに書いてもくれない。イベントはHTTPで配信されるかワーカーが取得するため、コードが届く場所で動いていることが前提になる。コードを書かないなら、最初に選ぶ道具ではない。
Getting Started
- コンソールでSailhouseのアカウントとアプリを作り、トークンを取得する
- ネイティブSDK(TypeScript、Go、Python、Rust)を入れるか、REST APIを直接呼ぶ
- イベントをトピックに発行する。トピックがなければSailhouseが自動で作る
- HTTPエンドポイントへ送るプッシュサブスクリプション、またはワーカーが読むプルサブスクリプションを付ける
- 処理したイベントを確認し、失敗した分はプラットフォームにリトライとデッドレターを任せる
AIツール情報
Sailhouseの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- バックエンドとプラットフォームの開発者:エージェントシステムを作り、配信・リトライ・ファンアウトを自前のキューなしで賄いたいエンジニア
- AIエージェントの開発者:ツールを呼ぶ、他エージェントを待つエージェントを出すチームで、作業を束ねる場所が要る人
- 速く出したいスタートアップ:Kafkaやクラウドのメッセージブローカーを立てずにイベント駆動の挙動が欲しい小規模チーム
- サーバーレスのフルスタックエンジニア:Vercel、Netlify、Fly.ioで動かし、非同期処理を1リクエストの枠を超えて残したい開発者
タスク
- イベントの発行と消費:JSONイベントをトピックへ送り、サブスクリプションに拾わせる
- 並列のエージェント作業の調整:ウェイトグループでタスクを配り、すべて終わったら1つのイベントを発火する
- 将来の作業の予約:注文から14日後の支払いなど、決めた時刻に動くようイベントを並べる
- 定例ジョブの実行:cronスケジュールでイベントを発火し、日次や毎時の挙動を作る
- フィルタと流量制限:トピックは広く保ち、ノイズはサブスクリプション側で落とす。トピックを分割しない
シーン
- エージェントがプルリクエストをレビューする:セキュリティ、スタイル、テストの確認が並列で走り、レビュー完了時に1つのイベントが発火する
- 課金サイクルが数時間ごとに走る:プルサブスクリプションが新着イベントを読む。重いDBクエリは要らない
- 下流サービスが一時的に落ちる:プッシュは5分ごとに最大5回リトライし、その後デッドレターに退避して再投入できる
- 支払いを後で処理する:スケジュールイベントが適切な時刻まで保持する。cronサーバーは不要
- ニュースレターを毎日送る:cronジョブが毎朝9時(UTC)にトピックへイベントを発火する
主な機能
トピックとイベント
トピックはイベントを分類するバケツだ。slugで識別される1つのトピックにJSONイベントを発行すると、プラットフォームがそのトピックに付いた各サブスクリプションへ配る。イベントはメタデータも持ち、これを使ってトレースIDを付けたり、cron由来のイベントにスケジュールを載せたりする。トピックとサブスクリプションが2つの基本リソースで、他はその上に成り立つ。
プッシュとプルのサブスクリプション
Sailhouseは両方の配信方式を支える。プッシュサブスクリプションはイベント到着時にエンドポイントへPOSTを送り、5秒以内の200応答を求める。プルは逆で、ワーカーが自分のペースでイベントを要求する。課金サイクルや週次集計のような処理の重い仕事に向く。選ぶのはサブスクリプション単位なので、1つのトピックがリアルタイムのwebhookとバッチワーカーを同時に養える。
ファンアウトとファンインのウェイトグループ
ウェイトグループは、並列のエージェント作業を実用的にする機能だ。発火させたいイベントの一覧と、完了時に通知するトピックを渡すと、Sailhouseが実行し、群全体が終わった時点で1つのイベントを発行する。これがないと、重複した確認や「もう全部終わったか」という競合しやすいループを書く羽目になる。プログラミング言語のwait-groupと同じ考え方を、リトライで余計な呼び出しが出ないイベント駆動の仕組みへ移したものだ。
自己修復するトピックとサブスクリプション
Sailhouseはリソースを必要時に作る。存在しないトピックへイベントを送れば、与えたslugで作成し、そのイベントを格納する。プルサブスクリプションも同じように作れ、最長24時間の時間窓で、その間にトピックへ入ったものをまとめて引き込む。狙いはコードを書いてから出すまでのスキーマ手順を減らすこと。エージェントを反復して直すときに効いてくる。
スケジュールイベントとcronジョブ
作業を後ろへ回す方法は2つある。スケジュールイベントは単体のイベントかサブスクリプションに時刻を設定し、注文の14日後に支払いを処理したり、リマインダーを送ったりするのに便利だ。cronジョブは現在プライベートベータで、繰り返しのスケジュールでイベントをトピックへ発火する。時刻は常にUTCで、日次のまとめや毎時の利用量計算に使う。どちらも同じサブスクリプションモデルを使うので、別のスケジューラを覚える必要はない。
フィルタと流量制限と重複排除
サブスクリプションフィルタを使えば、トピックを汎用に保ったままノイズとコストを削れる。1つのトピックを十数の狭いトピックに割る代わりに、JSONパスでサブスクリプション側を絞る。消費者は関心のあるイベントだけを見る。同じ層で流量制限と重複排除も支え、重複配信や暴走した発行元の急増に備えるガードをここに置ける。
ネイティブSDKと可観測性
SailhouseはTypeScriptとJavaScript、Go、Python(ベータ)、Rust(ベータ)の自社SDKを出し、それ以外にはCLIとREST APIを用意する。可観測性はイベントのトレースを扱い、トレースIDを付けてシステム全体でイベントを追える。ホスト型であるため取り込みリージョンは現在ロンドン、アッシュバーン、サンノゼに及び、データは中央で書き込まれ、通信時も保存時も暗号化される。
メリットとデメリット
メリット
- 自分で書いて保守することになるキュー、リトライ、ファンアウトの配管を肩代わりする
- ウェイトグループが並列のエージェントタスクとファンインを、競合しやすい完了確認なしで扱う
- 1つのプラットフォームでプッシュとプルの両サブスクリプションを提供し、リアルタイムwebhookとバッチワーカーがトピックを共有する
- 自己修復するトピックとサブスクリプションがスキーマ作業を減らし、イベントを送ればそれで存在する
- TypeScript、Go、Python、RustのネイティブSDKにREST APIとCLIが加わり、ほぼどの技術スタックでも使える
デメリット
- 開発者向けインフラなので、ビジュアルな構築ツールはなく、コードを書かないと使えない
- 配信はエンドポイントに到達できることが前提で、オフラインやファイアウォール内で動く処理には向かない
- cronジョブはまだプライベートベータで、定期的な実行を有効にするにはサポートへ連絡する必要がある
- データは英国に集中して保存され、厳しい地域データ所在の要件があるチームには合わないことがある
よくある質問
Sailhouseは世界規模で分散されたpub/subプラットフォームで、AIエージェントのコントロールプレーンだ。JSONイベントをトピックへ発行し、プッシュまたはプルのサブスクリプションを付けて消費し、ウェイトグループやスケジュールイベントといった機能で作業を調整する。自分のコードから呼ぶインフラであり、直接使うアプリではない。
関連コンテンツ
Sailhouseに関連するツール、スキル、記事を探す。
Sailhouseの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
