ガイド

AI エージェントにはどのデータベースを使うべきか

短い答え:状態は Postgres、検索は pgvector かベクトルストア、キャッシュは Redis、テレメトリは分析用データベース。たいていのエージェント構成に必要なのはこのうち二つで、四つではありません。エンジン選びは、語られている量ほど結果を左右しません。

このページはまずその問いに答えます。そのうえで、エンジン選びが取りこぼす領域を扱います。エージェントが生み出す業務上の事実です。人も後続のエージェントもそれを読み、信頼し、必要なら取り消せなければなりません。

最終確認:2026 年 11 月 13 日

エージェントが実際に保存しているもの

「AI エージェント用のデータベース」は、同時にやってくる五つの負荷をひとまとめにした言葉です。分けて考えれば選択は明らかです。

保存するものアクセスパターン妥当な初期選択
アプリとセッションの状態小さな読み書き、トランザクション、正確さ必須Postgres
ドキュメントの意味検索埋め込みに対する近似最近傍探索pgvector。大規模なら専用ベクトルストア
ホットなコンテキストとレート制限サブミリ秒、一時的、高頻度で入れ替わるRedis
プロンプト/応答ログとトークン計測大量の追記、集計読み取りClickHouse、DuckDB/MotherDuck、限界までは Postgres
エージェントが生んだ業務上の事実人と後続のエージェントが事実として読む。誰が何を変えたか分かる必要がある変更履歴を持つワークスペース。たとえば Busabase(後述)

まず Postgres から。本気で

大半のエージェントプロジェクトでは、Postgres 単体が正しい第一歩で、初日から二つ目のシステムを足すのは早すぎます。状態、リレーション、JSON、全文検索、そして pgvector による埋め込みまで、ほとんどのエージェント製品が到達しない規模まで扱えます。

専用ベクトル DB に早く手を出さない。pgvector は HNSW と IVFFlat のインデックスに対応しています。別のベクトルサービスで得られる検索性能はまだ測れないことが多く、その代わりに整合性の境界と運用対象が一つずつ増えます。

プロンプトと応答のログを状態と同じ Postgres に入れない。全文の記録は追記が多く際限なく増えます。トランザクションテーブルの隣に置けば、数か月後には VACUUM とパーティショニングに追われます。テレメトリは早めに別の場所へ。

専用ベクトルストアや Redis が見合うとき

  • ベクトルストア:数千万件規模で、実際に計測しているレイテンシ目標がある場合。メタデータでの絞り込みを近傍探索と組み合わせて多用する場合(pgvector は近似インデックスの走査後にフィルターを適用し、0.8.0 で補うための反復インデックススキャンを追加)。頻繁な全件再埋め込みを主データベースの負荷から切り離したい場合。
  • Redis:セッションのコンテキスト、ツール呼び出しのレート制限、重複排除ウィンドウ、キューの状態。Postgres でもできるがレイテンシが足りない、リクエスト単位の処理です。Redis はシステムオブレコードではありません。そう扱うと、退避ポリシーで一日分の作業を失います。

その手前では、二つ目のシステムを運用するコストが差を上回ります。移行の前に計測を。

問いの下にある問い

上の選択肢はどれもバイトをどこに置くかに答えています。何が変わり、誰が変え、元に戻せるかには、どれも答えていません。エージェントの仕事では、プロジェクトを信頼できるかを決めるのは後者です。

エージェントが 200 件の顧客レコードを補完し、Postgres に正しく、完璧な権限で書き込んだとします。そのうち何件かは誤りです。形式は正しく、ただ自信満々に間違っている。制約はすべて通り、古い値は消えています。どの行をエージェントが触ったのか、以前は何だったのか、どのエージェントだったのか、後から読む人に教えてくれるものはスタックのどこにもありません。

これはエンジンの問題ではないので、エンジンを替えても直りません。制約は形を、行レベルセキュリティは権限を検証しますが、どちらも変更前後の値を残しません。

エンジンが取りこぼす層:すべての変更がチェンジリクエスト

Busabase はその層を最初から備えています。内部では Postgres で動きますが、エージェントは行をやみくもに書き込むわけではありません。レコード、ドキュメント、スキルファイル、スキーマ変更など、すべての編集がチェンジリクエストです。不変のコミット、メッセージ、フィールド単位の差分を持つブランチで、マージはレコードを先に進めるだけで何も上書きしません。

素のデータベースで同じことをするには、監査テーブル、トリガー、昇格ステップ付きのステージングテーブル、レビュー画面を自分で作り、保守し続ける必要があります。

  • すべての書き込みにメッセージと差分。変更ごとに何をしたかが書かれ、フィールド単位で前後を表示します。
  • どのエージェントがやったか分かる。作成者と、経由したキーやツールがコミットに残ります。
  • 取り消しが標準。レコード、ドキュメント、スキルは履歴をすべて保持。マージで上書きされることはなく、どの変更もロールバックできます。
  • レビューするかは選べる。書き込み権限があれば即座にマージ。エージェントに「提案のみ」のキーを渡すか、autoMerge: false で送れば、変更は受信箱で人の承認か差し戻しを待ちます。チェンジリクエストのドキュメント。
レビュー中の Busabase のチェンジリクエスト。メッセージ、レコード本文の変更前後の差分、承認・変更依頼のボタン
受信箱のチェンジリクエスト。何が変わったか、誰がどのツールから提案したか、フィールドの変更前後が分かります。

Postgres の上に自作するか、Busabase を使うか

各行は、エージェントが書く業務データについてチームがカバーすべき仕事です。最後の行は Postgres の本領で、そこでの正解は Postgres です。

必要なことBusabasePostgres の上に自作
すべての変更の前後と、どのエージェントかを見る標準搭載:すべてのコミットにフィールド単位の差分、作成者、経由したキーやツール監査テーブルとトリガーを自分で設計。残さなければ旧値は消える
特定のエージェントの変更をレビュー待ちにするできる:「提案のみ」のキーで変更は受信箱へステージングテーブル、昇格ステップ、レビュー画面
誤った変更を一件だけ取り消すできる:どのチェンジリクエストもロールバック可能PITR はデータベース全体の復元。あとは手作業の修正
エージェントが書いた内容をチームが見て直すできる:テーブル、ギャラリー、カンバン、カレンダー、ガント管理画面や社内ツールを自作
ドキュメント、ファイル、スキルをレコードの隣に置くできる:一つのツリー、共通の権限別のストレージと別の Wiki
それらすべてから文字列を正確に探すできる:ファイル、ドキュメント本文、レコード、プロンプトを一度の grep で自分のテーブルへの SQL と全文検索
データをアプリや Web サイトにするできる:AirApp。独自ドメインの Web サイトもフロントエンドとホスティングを別途用意
Claude Code や Codex などを接続できる:MCP、CLI、OpenAPI、Webhook、プラグインツールや MCP サーバーを自作し、安全対策も自前で
自社アプリのトランザクション状態、ベクトル検索、大量書き込み担当外。Postgres(と pgvector)を使うできる:Postgres の本来の用途

Busabase がエージェントとチームにもたらすもの

人が読めるビジュアルなテーブル

どの Base もテーブル、ギャラリー、カンバン、カレンダー、ガントで開け、保存済みビューと AND/OR フィルターも使えます。SQL なしでエージェントの成果を確認できます。

チームのナレッジベース

ドキュメント、ファイル、Base が一つのツリーにあり、権限も共通。メンバーは閲覧・書き込み・管理のロールで、エージェントは自分のキーで参加します。

すべてを横断する grep

ファイル、ドキュメント本文、Base のレコード、エージェントプロンプトを一度の正規表現で検索し、該当行と前後の文脈を返します。grep の使い方。

チームで共有するスキル

チームのスキルを一度アップロードすれば、接続したすべてのエージェントが同じ版を読みます。スキルの編集もチェンジリクエストなので、誰がなぜ指示を変えたか分かります。

ライブデータ上の AirApp

ワークスペースのデータを使う小さな Web アプリをエージェントに作らせられます。ブラウザ、このマシン、クラウドサンドボックス、Web サイトのいずれでも動きます。

独自ドメインの Web サイト

Website エンジンは Cloudflare Workers で動き、バックエンドのエンドポイントも持て、独自ドメインに対応(Cloud は Plus 以上)。エージェントが CLI・API・MCP からプレビューと公開を行えます。Website のドキュメント。

数分でエージェントを接続

MCP、CLI、OpenAPI REST、Webhook、Python SDK、そして公式スキルを同梱した Claude Code・Codex・DeepSeek Harness 向けプラグイン。エージェントを接続。

オープンソースでどこでも動く

MIT ライセンス。ノート PC でも、セルフホストでも、オフラインやエアギャップ環境でも、Busabase Cloud でも。スペースは Markdown、Base 定義、JSON レコードといった普通のファイルに書き出せます。

読みやすい定額料金

小規模チーム向けの無料プランがあり、Cloud の有料プランは席単位の定額で従量の超過料金はありません。セルフホストは無料で席数無制限。料金。
エージェントが書いた記事をタイトル、カバー画像、本文の列で表示する Busabase の Base と保存済みビュー
Busabase の Base。エージェントが書いたレコードを、チームの誰もが読めます。保存済みビューで同じレコードを絞り込めます。

今後の予定

いずれも現在開発中で、まだ利用できません。提供開始まで、このページでもそう表記します。

アプリユーザー開発中

公開したアプリの利用者がメールのコードでサインインし、自分のレコードだけを見られるようにします。プラットフォーム側で強制され、ワークスペースのメンバーではないので席も使いません。

オントロジー開発中

既存の Base の上に、会社・連絡先・商談といった業務オブジェクトとその関係を定義し、人とエージェントが同じ語彙で話せるようにします。変更はチェンジリクエストで行います。

きめ細かな権限開発中

Base 内の行・フィールド単位のアクセス制御、タスク単位で期限付きのエージェント権限、人が承認するアクセス申請。

組み合わせて使う

どちらか一方ではありません。アプリの状態は Postgres、検索は pgvector、キャッシュは Redis、テレメトリは分析用ストアへ。エージェントがチームのために生み出す事実、つまり調査、顧客レコード、コンテンツ、業務ドキュメントは Busabase に置けば、人が読めて、すべての変更を追跡できます。マネージド Postgres と比べているならBusabase と Supabase の比較もどうぞ。

開示:Busabase 自体も Postgres で動いています。ローカルでは PGlite、Cloud では標準の Postgres です。エンジンの問いに中立ではありませんが、選択は退屈なほど堅実です。

よくある質問

AI エージェントに Postgres で十分ですか?
ほとんどのプロジェクトでは十分です。pgvector によるベクトル検索も含めて。計測結果が必要を示したら二つ目のシステムを足してください。
ベクトルデータベースは必要ですか?
最初はたいてい不要です。数千万件規模で計測済みのレイテンシ目標があるとき、またはメタデータでの絞り込みと近傍探索の併用が pgvector でうまくいかなくなったときに検討してください。
プロンプトと応答はどこに保存すべきですか?
トランザクション用データベースではない場所に。追記が多く際限なく増えるテレメトリは、早めに専用の保存先を。
エージェントが書く業務データはどこに置くべきですか?
人が読めて、すべての変更に前後の値と作成者が残る場所に。Busabase ではすべての編集がチェンジリクエストです。書き込み権限があれば即マージされ、特定のエージェントの変更だけレビュー待ちにもできます。
Busabase はどのデータベースを使っていますか?
Postgres です。ローカルでは PGlite、Cloud では標準の Postgres。Busabase はアプリのデータベースの代わりではなく、エージェントがチームのために生み出した成果を置く場所です。
一つのデータベースですべて賄えますか?
Postgres が最も近く、出発点として正解です。規模が大きくなると負荷は分かれ、たいていテレメトリが最初に専用の場所を必要とします。

次の一歩

エンジンの問いは片付き、「エージェントが何を変えたのか」で行き詰まっているなら、エージェントを Busabase に接続し、最初に残るチェンジリクエストを読んでみてください。

関連ページ: AI エージェントのシステムオブレコード · Busabase の比較 · Busabase と Supabase · チェンジリクエスト · エージェントワークスペースとは

出典: pgvector README