
Breadcrumb
Breadcrumb · コーディング
Breadcrumbは、TypeScriptアプリ向けのLLMトレースライブラリであり、ホスト型サービスではなくコードの依存関係としてインストールする。すべてのトレースは自分がすでに運用しているデータベースに届き、ダッシュボードは自分のアプリ内に組み込むコンポーネントとして提供される。これがもっとも文字どおりの意味でのセルフホスト型トレースだ。サードパーティのダッシュボードに送るのではなく、普通のクエリと自分の認証でAIエージェントをデバッグしたい開発者向けに作られている。

Breadcrumb について
Breadcrumbとは
Breadcrumbは、TypeScriptでAI機能を構築するチーム向けのトレースツールだ。中心にある考えは所有権である。プロンプトやペイロードをサードパーティのダッシュボードに送る代わりに、アプリがすでに使っているデータベースへスパンを書き込む。インスタンスを1つ自分のデータベースに向け、ダッシュボードを自分のログインの背後に組み込めば、以後トレースデータはユーザーテーブルのすぐ隣に置かれる。
この配置こそが要点だ。スパンが自分のスキーマ内にあるので、保存しているあらゆるものと結合できる。請求ページに顧客ごとのコストを出したい、あるいはテナントごとの失敗件数を知りたい。それらは使い慣れたORMによる普通のクエリだ。ホスト型ツールにはできない。自分のデータしか見えないからだ。Breadcrumbはクエリを渡し、その代わりにストレージは自分で運用する。
主な制約は対応範囲にある。BreadcrumbはVercel AI SDK上に構築されたTypeScriptアプリを対象とする。スタックがPythonなら合わない。ゼロ設定を求める場合も同じだ。データベースの運用も自分で担う。すでにPostgresを動かしているチームにとっては安い。それ以外にとっては実際のコストになる。
はじめ方
- npmからコアパッケージとデータベースアダプタをインストールし、自分のデータベースとベースパスを指すBreadcrumbインスタンスを作成する。
- 自分の認証で保護した状態で、ダッシュボードコンポーネントをアプリ内に組み込む。
- AI SDKがexperimental_telemetryを受け取る箇所にbc.telemetry()を渡し、モデル呼び出しを計装する。
- 検索、ツール呼び出し、DB書き込みといった周辺の処理をbc.trace()で包み、すべてを1本のタイムラインに載せる。
- ダッシュボードでトレースを読むか、コーディングエージェントにMCPキーを渡して直接クエリさせる。
AIツール情報
Breadcrumbの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- AI機能を構築するTypeScript開発者:BreadcrumbはすでにVercel AI SDKを使っているチームに合う。計装がその設定に直接つながるからだ。自分のPostgresか互換データベースが必要になる。
- バックエンドおよびプラットフォームのエンジニア:トレースデータをユーザー、請求、テナントの各テーブルと結合したいなら、データベース内で完結する設計が同期パイプラインの構築を省く。基本的なSQLとORMの知識で十分に価値を引き出せる。
- 可観測性の専任予算がない小規模なAIプロダクトチーム:セルフホストなら、トレース費用はすでに支払っているデータベースに紐づき、イベント単位の課金にはならない。
タスク
- 遅い、または失敗するエージェントリクエストのデバッグ:bc.trace()は検索、モデル呼び出し、ツール呼び出し、DB書き込みを1本のタイムラインに置くので、どの工程が時間を食っているかが見える。
- 顧客ごとの支出の追跡:スパンはコストとトークン数を保存するので、ユーザーごとに合計し、その数字を請求ページに表示できる。
- コーディングエージェントに本番の挙動を調べさせる:MCPキーがあればエージェントがトレースを直接読めるので、調査が速くなる。
シーン
- 特定のアカウントが解約する理由の調査:ユーザーテーブルの隣でトレースをクエリすれば、解約したアカウントが遅い経路に当たっていたものかどうかを確認できる。
- プロンプトデータを非公開に保つ:hidePayloadsを有効にすると、MCPエンドポイントは生のプロンプトをエージェントに晒さずにトレースを読む。
- テナントをまたいだ失敗の監査:テナントごとに失敗したスパンを数える作業は、ダッシュボードのエクスポートではなく日常的なgroup-byクエリになる。
主な機能
サービスではなくライブラリ
Breadcrumbはコードの依存関係としてインストールする。つまりトレースデータのための外部アカウントもネットワークの往復もない。インスタンスを1つ作り、自分のデータベースに向ければ、自分のプロセス内で動く。自分で決めない限り、何もインフラの外に出ない。予想外のことはない。データ規則が厳しいチームでは、これが決め手になることが多い。
自分のデータベース内のトレース
スパンはbreadcrumb_spansという単一のテーブルに正規化され、アプリがすでに書き込んでいるデータベース内に存在する。エクスポートでも、Webhookでも、他人のスキーマ越しの読み取り専用APIでもない。分析は使っているORMによる普通のクエリになり、トレースをユーザー、注文、その他保存しているあらゆるものと結合できる。たとえばPrismaのユーザーはこのテーブルを取り込み、他のモデルと同じように扱える。
自動のモデル計装
モデル呼び出しは自動で計装される。Vercel AI SDKがexperimental_telemetryを期待する箇所にbc.telemetry()を渡すと、BreadcrumbはSDKがすでに出力している属性から、モデル、プロバイダー、トークン数、コスト、ペイロードを読む。呼び出しごとに手作業でスパンを組み立てる必要はない。設定は小さく保たれ、既存プロジェクトに書き直しなしでトレースを足しやすくなる。
bc.trace()によるタイムライン型トレース
モデル呼び出しの周辺処理は自動では計装されないので、bc.trace()で包む。検索、ツール呼び出し、最後のDB書き込みは、モデルのスパンと同じタイムラインに載る。リクエストが遅く感じるとき、遅延が検索にあるのか、ツールにあるのか、モデル自体にあるのかを推測ではなく確認できる。
コーディングエージェント向けのMCPアクセス
BreadcrumbはMCP経由でトレースを公開するので、エージェントは開発者と同じようにクエリできる。コーディングエージェントにキーを渡して本番のトレースを掘らせてもいいし、自分でダッシュボードを読んでもいい。hidePayloadsオプションは生のプロンプトをエージェントが見る範囲から外す。トレースに機微なユーザー入力が含まれる場合に効く。
自分で制御するカスタムダッシュボード
ダッシュボードはコンポーネントであり、固定のSaaS画面ではない。ホスト型ツールは全員のアプリに提供するため汎用的に留まらざるを得ないが、自分のものは自分のアプリにだけ応えればいい。自分の認証の背後に組み込み、追加のパネルをその中のページとして出せる。ダッシュボードのUIが他人のドメイン上にあり、全顧客のアプリに対応しなければならない場合、この柔軟さは得にくい。
イベント課金なしの保持
保持は環境ごとに設定する期間で、トレースが届くたびに掃き出される。イベント単位の課金はないので、請求額を抑えるためにペイロードをサンプリングしたり捨てたりする必要はない。データをどれだけ残すかは自分で決め、その間は完全なトレースを保持できる。
メリットとデメリット
メリット
- トレースは自分のデータベースにあるので、ユーザー、請求、テナントのデータと結合できる。
- イベント単位の課金がないため、コストを抑えるためにサンプリングせずに完全なペイロードを保持できる。
- 計装は軽い。モデル呼び出しはAI SDK経由でテレメトリを自動的に取り込む。
- ダッシュボードは自分の認証の背後にあるコンポーネントなので、プロンプトデータは非公開に保たれる。
- MCP対応により、コーディングエージェントがトレースを直接クエリでき、調査が速くなる。
デメリット
- Vercel AI SDK上のTypeScriptアプリだけを対象とするので、Pythonや他のスタックは対象外だ。
- データベースとストレージは自分で担うため、すでにPostgresを動かしていなければ手間が増える。
- マネージドクラウドの選択肢がないので、ゼロ設定を望むチームは別のツールを探す必要がある。
よくある質問
BreadcrumbはTypeScriptアプリ内のLLM呼び出しをトレースし、AIエージェントが何をしたのか、時間がどこに消えたのかを見えるようにする。モデル呼び出し、検索、ツール利用、DB書き込みを1本の共有タイムラインに記録し、それらすべてのスパンをサードパーティではなく自分が制御するデータベースに保存する。
関連コンテンツ
Breadcrumbに関連するツール、スキル、記事を探す。
Breadcrumbの代替ツール
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チームにとって堅実な選択肢である。
