AIニュース最前線
最新ニュースAI日報Hacker日報週報動画AIツールトレンド企業

AIニュース最前線

世界中のAI最新情報を日本語で毎時更新

最新ニュース日報トレンド企業プレミアムRSS
© 2026 ainew.jp特定商取引法に基づく表記
ニュース一覧元記事を開く
TLDR AI·2026年6月5日 09:00·約14分で読める

大規模な継続的トレースインテリジェンスの実現方法について(8 分読了)

#LLM#Observability#Agent#Topic Modeling#Braintrust
TL;DR

Braintrust は、LLM トレースの非構造化特性に対応し、大規模なエージェント運用における「アクティブ・オブザバビリティ」を実現する独自技術「Topics」を発表した。

AI深層分析2026年6月6日 13:04
4
重要/ 5段階
深度40%
4
関連度30%
5
実用性20%
4
革新性10%
4

キーポイント

1

従来の分析ツールの限界と課題

標準的な NLP ツールやクラスタリング手法は、均一なドキュメントや短いテキストを前提としており、複雑で非構造化なエージェントのトレースデータには適用できない。

2

アクティブ・オブザバビリティの実現

すべてのトレースにインテリジェンス層を適用する「アクティブ・オブザバビリティ」により、事前に想定していなかったパターンや重要なインサイトを自動的に発見可能にする。

3

Braintrust の独自技術戦略

既存のオフザシェルフ製品を組み合わせるのではなく、ストレージ層(Brainstore)に続く「インテリジェンス層」を自社で構築するという集中的な技術賭け(bet)を実行している。

4

大規模運用における価値

本番環境で動作するエージェントのログから、何を確認すべきかの質問すら持たない状態でも、自動的に有益なインテリジェンスを抽出し、スケーラブルに分析できる仕組みを提供する。

影響分析・編集コメントを表示

影響分析

この記事は、LLM エージェントの本番運用における「可観測性」の次の段階として、受動的なログ監視から能動的なインテリジェンス発見への転換を示唆しています。特に、非構造化データに対する既存ツールの限界を指摘し、それを解決する独自アーキテクチャの重要性を説くことで、業界標準の監視ツールが抱える課題と、それを克服するための新しいアプローチ(Active Observability)の方向性を明確に示しています。

編集コメント

本番環境で動作する複雑なエージェントの挙動を分析する際、従来の監視ツールでは捉えきれない「未知のパターン」を発見できる技術は、運用コスト削減とシステム信頼性向上に直結する重要な進展です。

Article

Conversation

規模の拡大に伴い、継続的なトレースインテリジェンスを可能にした方法

プロダクションでエージェントを実行している場合、あなたの一日の多くは、何か興味深いものがないかを確認するために無数のプロダクションログを検索することに費やされていることでしょう。そこには確かなインサイトが存在することはわかっていますが、データ自体が「何を問うべきか」や「それを捉えるための SQL クエリは何であるべきか」を教えてくれるわけではありません。

Braintrust ではこの問題について長年取り組んできており、「Topics」は、規模の拡大に伴いインテリジェンスを活用してトレースを分析できるソリューションです。Brainstore と同様、これは標準的な部品を組み合わせてつなぎ合わせるのではなく、エンドツーエンドの基盤(プリミティブ)を自社で所有することに賭けた、少数の集中的な技術的賭けの一つです。Brainstore における賭けはストレージとクエリ層にありましたが、Topics における賭けはその上に位置するインテリジェンス層にあります。

あなたが気づいていなかったパターンを見つけるためには、このインテリジェンス層をすべてのトレースに対して実行する必要があります。私たちはこれを「アクティブ・オバザビリティ(active observability)」と呼んでいます。問題は、LLM のトレースが標準的なツールが想定するどのような形状にもなっていない点にあります。標準的な自然言語処理(NLP)のツールキットは、おおよそ均一な形状とサイズを持つドキュメントを前提としています。トピックモデリングでは数百トークンの単語の袋(bag-of-words)形式のドキュメントを求めます。感情分析では文または段落が必要です。埋め込みモデル(embedding model)のコンテキストウィンドウ内に収まる入力に対して、標準的なクラスタリングを実行します。

Article

Conversation

規模の拡大に伴い、継続的なトレースインテリジェンスを可能にした方法

プロダクションでエージェントを実行している場合、あなたの一日の多くは、何か興味深いものがないかを確認するために無数のプロダクションログを検索することに費やされていることでしょう。そこには確かなインサイトが存在することはわかっていますが、データ自体が「何を問うべきか」や「それを捉えるための SQL クエリは何であるべきか」を教えてくれるわけではありません。

Braintrust ではこの問題について長年取り組んできており、「Topics」は、規模の拡大に伴いインテリジェンスを活用してトレースを分析できるソリューションです。Brainstore と同様、これは標準的な部品を組み合わせてつなぎ合わせるのではなく、エンドツーエンドの基盤(プリミティブ)を自社で所有することに賭けた、少数の集中的な技術的賭けの一つです。Brainstore における賭けはストレージとクエリ層にありましたが、Topics における賭けはその上に位置するインテリジェンス層にあります。

あなたが気づいていなかったパターンを見つけるためには、このインテリジェンス層をすべてのトレースに対して実行する必要があります。私たちはこれを「アクティブ・オバザビリティ(active observability)」と呼んでいます。問題は、LLM のトレースが標準的なツールが想定するどのような形状にもなっていない点にあります。標準的な自然言語処理(NLP)のツールキットは、おおよそ均一な形状とサイズを持つドキュメントを前提としています。トピックモデリングでは数百トークンの単語の袋(bag-of-words)形式のドキュメントを求めます。感情分析では文または段落が必要です。埋め込みモデル(embedding model)のコンテキストウィンドウ内に収まる入力に対して、標準的なクラスタリングを実行します。

エージェントのトレースはそんな見た目ではありません。単一の生産環境でのトレースには、数百万トークンの会話履歴、ツール呼び出し、中間推論、取得されたコンテキスト、シリアライズされたアプリケーション状態などが含まれます。これらは大量に到着し、「完了」した後も更新され続け、興味深い振る舞いは数百のスパンのうち数個に埋もれていることがほとんどです。生のトレースを埋め込むと、メッセージ長やツール名の頻度といった表面特徴に支配されたノイズの多いクラスタが得られます。LLM でまず要約すると予算が吹き飛びます。一方、過剰なサンプリングを行うと、バグが通常存在するロングテールを見逃してしまいます。

Topics を駆動した洞察は、Anthropic の Clio 論文にインスパイアされたものです。生のトレースを埋め込んだり分類したりしようとするのではなく、LLM に単一のタスクを行ってもらいます:トレースを一つの次元に沿って、1〜2 文で要約することです。その後、その要約を埋め込み、埋め込みをクラスタリングし、第二の LLM パスでクラスタに名前をつけます。トレース自体が埋め込みモデルのコンテキストウィンドウに収まる必要はなく、下流のパイプラインもエージェントやツール、トークン数について何も知る必要がありません。

これは小さな動きのように思え、アーキテクチャ的には確かにそうですが、運用面ではすべてが変わります。LLM による要約ステップが存在するようになれば、同じ下流パイプラインが関心のあるあらゆる次元に適用可能になります:タスク、課題、感情分析、そして製品のために定義したカスタムカテゴリ—all が、同じ埋め込み・クラスタリング・命名・分類のステージを流れます。

その賭けから導き出される3 つの設計目標があります。第一に、LLM による要約ステップは、すべてのトレース上で実行できるように、範囲を厳密に限定し、バッチ処理に適し、コスト効率が高いものでなければなりません。このステップの出力は「ファセット」であり、これがパイプライン全体の作業単位となります。第二に、クラスタ生成は、オペレーターの介入なしでアドホックに実行できるほど高速である必要があり、生成されるトピックマップは、実行間でのトレンド分析が意味を持つほど安定している必要があります。第三に、分類処理は継続的に実行できるほど低コストでなければならず、そのためには分類時に LLM を呼び出すことはできません。

このパイプラインには6 つのステージがあります:前処理(preprocess)、ファセット生成(facet)、埋め込み(embed)、クラスタリング(cluster)、命名(name)、そして分類(classify)です。プリプロセッサは、生のトレースをトークンに変換します。デフォルトのプリプロセッサは、対象範囲内のすべてのスパンを走査し、各スパンを LLM の会話として解析し、スパン間でのメッセージの重複を除き、スコアリング用スパンを除外します。生のトレースは膨大な大きさになる可能性があるため、ファセットモデルに到達する前にトークン数が 128K にハードキャップされます。

ファセットステージが LLM の唯一の役割を果たす場所です。各ファセットには、「ユーザーが達成しようとしていることを一文で要約してください」のようなプロンプトと、出力スキーマが用意されています。ファセットモデルは短いテキストブロック(通常は1〜2文)を生成し、それをトレースに書き戻します。組み込みのファセットには「タスク(Task)」、「感情(Sentiment)」、「課題(Issues)」があります。カスタムファセットはユースケースから SKU 分割まで何でも可能です。

この段階にはコストに大きな影響を与える最適化が一つあります。素朴な実装ではファセットを一度に一つずつ計算するため、トレースに対して 5 つのファセットを実行すると、コストはおよそトレーストークンの 5 倍にファセットプロンプト 5 分が加算されたものになります。しかし私たちはファセットをバッチ処理して単一の LLM 呼び出しにまとめるため、コストはトレーストークンに各ファセットの追加的なプロンプトトークンを加えたものに抑えられます。トレーストークンは実行するファセットの数に関わらず一度だけ支払われます。

ファセットテキストが生成された後、それを当社の埋め込みモデルでエンベッドします。ここで注目すべき点は、何をエンベッドしているかです:生データであるトレースそのものではなく、ファセットの出力をエンベッドしています。これこそが、残りのパイプラインを実行可能にする鍵となります。一貫性があり、短く、主題に即した要約はきれいにエンベッドされますが、100 万トークン規模のエージェントトレースはそうはいきません。

十分な数のファセット埋め込みが蓄積されると、クラスタリングステージが実行され、各生成パスで最大 50,000 のファセットをサンプリング対象とします。デフォルトのアルゴリズムは次元削減に UMAP を用いた HDBSCAN です。HDBSCAN がよく機能するのは、事前にクラスタ数を決める必要がないこと、そしてすべての点を無理やりクラスタに割り当てるのではなく、外れ値を自然にノイズとして識別できるからです。各クラスタに対するキーワード抽出には、BERTopic によって普及されたのと同じアプローチである c-TF-IDF を使用しています。

命名ステージでは、各クラスタの代表となるファセット例を抽出し、LLM に短い名前と説明の生成を依頼します。これは生成処理であるため、基盤となるメンバーシップがほとんど変化していなくても、次の生成パスで同じクラスタがわずかに異なる名前を取得する可能性があります。そのため、私たちは安定したアイデンティティとして「名前」ではなく「クラスタ」を扱います。新しいトピックマップが生成されると、類似するクラスタをその先行クラスタに自動的にマッチングさせ、既存の ID を再利用します。

分類は軽量な処理です。各新しいトレースに対して、前処理・ファセット抽出・埋め込みステージを実行し、保存されたトピックマップ内で最も近いクラスタの重心を検索します。トレースが設定された距離閾値以内であればラベルが付与されます。それ以外の場合は、不適切なラベルを強制的に付与するのではなく「no_match」として記録します。分類時には LLM の呼び出しは発生しません。この一連のステップは、1 トレースあたり約 100 ミリ秒で完了します。

結果は構造化データとしてトレースに格納されます。これ以降、そのデータはログ内の他のカラムと同様に振る舞います。これに基づいてフィルタリングやグループ化が可能であり、トピックマップ間での結合も実行でき、SQL でクエリを実行したり、アラートを設定したりすることもできます。

Topics のもう半分は、バックグラウンドでパイプラインを継続的に実行する自動化レイヤーです。トピックの自動化は、ファセットデータの蓄積から始まり、次にトピックマップを再計算し、新しいマップを使用して最近のトレースをバックフィルし、次のスケジュールされた実行までアイドル状態になります。Topics が開始するにはプロジェクト内に少なくとも 400 のトレースが必要であり、トピックマップを生成するには少なくとも 100 の一意なファセットサマリーが必要です。これらの数値を下回るとクラスターは意味を持たないため、ノイズを表示するよりも何も表示しない方がよいと考えています。

製品内でクラスターが表示される場所は 2 つあります。「Topics」ビューでは、自動化されたトピックマップが表示されます。これは、同じ永続的なセットのクラスターと、同じ名前が時間を通じて一貫してログに適用されるものです。これは、日付や週を跨いで比較可能な傾向ダッシュボード、アラート、分析において必要なものです。「Cluster traces by facet」アクションは、現在表示している任意の部分に対して探索用にパラメータが調整されたアドホッククラスタリングを実行します。両方のビューは同じパイプラインを使用しています。違いは、トピックマップを永続化して再利用するか、その場で生成するかの点です。

すべてのネイティブトピック推論は Baseten で実行されます。ファセットモデルは、添付ファイルとメトリクスを除去し、128K トークンに制限された前処理済みテキストのみを参照します。埋め込みモデルはファセット出力のみを参照し、生データ(raw trace)を直接見ることはありません。クラスタリングステップも、埋め込みおよびファセット出力に対して行われ、生データのコンテンツに対して行われることはありません。トピック推論は米国と EU の両方でホスト可能であり、Braintrust は HIPAA に準拠しています。

このアーキテクチャ上の選択は、開発者として体感できるいくつかの具体的な特性に転換されます。パイプラインはバッチジョブとしてではなく、継続的に実行されます。出力は UI でのみ利用可能なものではなく、クエリ可能です。1 つのパイプラインが、あなたが関心を持つすべての次元に対応します。トピックのアイデンティティは再生成Acrossしても安定しています。組み込みファセットとデフォルトの前処理プロセスはそのまま使用可能で、トレース形状が特殊な場合でも、クラスタリング対象とするスパンを正確に返すカスタム JavaScript 前処理プロセッサを差し込むことで対応できます。

トピックは、私たちが公に議論してきた賭けの2つ目のものです。Brainstore と同様、当社の製品が成長するにつれてその有用性はさらに高まっています。これは、トレース全体で実行可能な最も普遍的なインテリジェンスのベースラインレイヤーであると私たちは考えています。より高価で強力なレイヤーは、このベースラインの上に構築されており、生産環境における AI ワークロードがますます複雑化し続ける中で、このパイプライン形状が引き続き有用であり続けると考えています。

原文を表示

Article

Conversation

How we made continuous trace intelligence possible at scale

If you run an agent in production, some part of your day is probably going through countless production logs to see if anything looks interesting. You know there’s good intel in there somewhere, but the data doesn’t tell you what question you should be asking, or what SQL query would capture it.

We’ve been thinking about this problem at Braintrust for a long time, and Topics is the solution that lets you analyze traces with intelligence at scale. Like Brainstore, it’s one of the small number of big, concentrated technical bets we’ve made on owning a primitive end-to-end rather than stitching together off-the-shelf pieces. With Brainstore, the bet was on the storage and query layer. With Topics, the bet is on the intelligence layer that sits on top.

In order to find patterns you didn’t know to look for, you need to run this intelligence layer over every trace. We call this active observability. The problem is that LLM traces aren’t shaped like anything the standard tools expect. The standard NLP toolkit assumes documents that are roughly uniform in shape and size. Topic modeling wants bag-of-words documents in the hundreds of tokens. Sentiment analysis wants a sentence or paragraph. Off-the-shelf clustering on embeddings wants inputs that fit inside an embedding model’s context window.

Agent traces don’t look like that. A single production trace can be millions of tokens of conversation history, tool calls, intermediate reasoning, retrieved context, and serialized application state. They arrive at high volume, they keep updating after they’re “done,” and the interesting behavior is usually buried in a few spans out of hundreds. If you embed the raw trace, you get noisy clusters dominated by surface features like message length or tool name frequency. If you summarize first with an LLM, you blow your budget. If you sample aggressively, you miss the long tail, which is where the bugs usually live.

The insight that drove Topics is inspired by Anthropic’s Clio paper. Instead of trying to embed or classify the raw trace, you ask an LLM to do one job: summarize the trace along a single dimension in a sentence or two. Then you embed that summary, cluster the embeddings, and name the clusters with a second LLM pass. The trace itself never has to fit in an embedding model’s context window, and the downstream pipeline never has to know anything about agents, tools, or token counts.

This sounds like a small move, and architecturally it is. Operationally it changes everything. Once the LLM summary step exists, the same downstream pipeline works for any dimension you care about: task, issues, sentiment, and custom categories you define for your product all flow through the same embed, cluster, name, and classify stages.

Three design goals fall out of that bet. First, the LLM summary step has to be tightly scoped, batch-friendly, and cost-efficient enough to run on every trace. The output of that step is a facet, and it’s the unit of work the whole pipeline is built around. Second, cluster generation has to be fast enough to run ad hoc without operator intervention, and the resulting topic map has to be stable enough that trend analysis across runs is meaningful. Third, classification has to be low-cost enough to run continuously, which means no LLM call at classification time.

The pipeline has six stages: preprocess, facet, embed, cluster, name, and classify. The preprocessor turns a raw trace into tokens. The default preprocessor walks every span in scope, parses each span as an LLM conversation, deduplicates messages across spans, and drops scorer spans. Raw traces can be enormous, so the output is hard-capped at 128K tokens before it ever reaches the facet model.

The facet stage is where the LLM does its one job. Each facet has a prompt, like “summarize what the user is trying to accomplish in one sentence,” and an output schema. The facet model produces a short text blob, typically a sentence or two, and writes it back to the trace. The built-in facets are Task, Sentiment, and Issues. Custom facets can be anything from use case to SKU segmentation.

There’s one optimization in this stage that matters a lot for cost. A naive implementation would compute facets one at a time, so running five facets on a trace would cost roughly five times the trace tokens plus five facet prompts. We batch facets into a single LLM call, so the cost is trace tokens plus the marginal prompt tokens for each facet. Trace tokens are paid once regardless of how many facets you run.

After the facet text is produced, we embed it with our embedding model. The thing to notice here is what we’re embedding: the facet output, not the raw trace. That’s what makes the rest of the pipeline tractable. A consistent, short, on-topic summary embeds cleanly. A million-token agent trace does not.

Once enough facet embeddings have accumulated, the clustering stage runs on a sample of up to 50,000 facets per generation pass. The default algorithm is HDBSCAN with UMAP for dimensionality reduction. HDBSCAN works well because it doesn’t require you to pick the number of clusters up front, and it naturally identifies outliers as noise rather than forcing every point into a cluster. For keyword extraction per cluster, we use c-TF-IDF, the same approach BERTopic popularized.

The naming stage takes representative facet examples for each cluster and asks an LLM to produce a short name and description. This is generative, which means the same cluster can pick up a slightly different name on the next generation pass even if the underlying membership barely changes. That’s why we treat the cluster, not the name, as the stable identity. When a new topic map is generated, we automatically match similar clusters to their predecessors and reuse their IDs.

Classification is the lightweight part. For each new trace, we run the preprocess, facet, and embed stages, then look up the nearest cluster centroid in the saved topic map. If the trace is within the configured distance threshold, it gets a label. If it’s not, we write no_match instead of forcing a bad label. No LLM call happens at classification time. The whole step is around 100 milliseconds per trace.

The result lands on the trace as structured data. From that point on, it behaves like any other column in your logs. You can filter on it, group by it, join across topic maps, query it from SQL, or alert on it.

The other half of Topics is the automation layer that runs the pipeline continuously in the background. A topic automation starts by accumulating facet data, then recomputes topic maps, backfills recent traces with the new map, and settles into idle until the next scheduled run. You need at least 400 traces in a project for Topics to start, and at least 100 unique facet summaries before it will generate a topic map. Below those numbers, the clusters aren’t meaningful, and we’d rather show you nothing than show you noise.

There are two places in the product where you’ll see clusters. The Topics view shows the automated topic map: the same persistent set of clusters, the same names, applied consistently to your logs over time. This is what you want for trend dashboards, alerting, and analysis that needs to be comparable across days or weeks. The “Cluster traces by facet” action runs ad hoc clustering on whatever subset you’re currently looking at, with parameters tuned for exploration. Both views use the same pipeline. The difference is whether the topic map is persisted and reused or generated on the fly.

All native Topics inference runs on Baseten. The facet model sees preprocessed text capped at 128K tokens and stripped of attachments and metrics. The embedding model only ever sees the facet output, never the raw trace. The clustering step operates on embeddings and facet outputs, never on raw trace contents. Topics inference can be hosted in both the US and EU, and Braintrust is HIPAA compliant.

The architectural choices translate into a few concrete properties you feel as a developer. The pipeline runs continuously rather than as a batch job. Outputs are queryable, not just available in the UI. One pipeline serves every dimension you care about. Topic identity stays stable across regenerations. The built-in facets and default preprocessor work out of the box, and when your trace shape is unusual, you can drop in a custom JavaScript preprocessor that returns exactly the spans you want clustered on.

Topics is the second of the bets we’ve talked about publicly, and like Brainstore, it has only gotten more useful as our product has grown. We think of it as the most universal baseline layer of intelligence you can run across your traces. The more expensive and more powerful layers we’re building sit on top of that baseline, and we think this pipeline shape is going to continue to be useful as production AI workloads keep getting more complex.

この記事をシェア

関連記事

AWS Machine Learning Blog★42026年6月4日 00:56

Amazon SageMaker AI で SFT と DPO を活用し、エージェントのツール呼び出し精度を向上させる方法

AWS は、Amazon SageMaker AI を使用して教師あり学習(SFT)と直接最適化(DPO)を適用することで、AI エージェントが適切なツールを選択する精度を高め、エラー率やサポートコストを削減できると発表した。

The Verge AI★42026年6月6日 21:00

再び登場する新しいSiri

アップルは過去数年間、AI分野で苦戦を強いられてきたが、WWDCで新Siriの再導入を発表し、逆転を狙う動きを見せた。

Sebastian Raschka★42026年6月6日 20:16

LLM 研究論文:2026 年 1 月から 5 月のリスト

Sebastian Raschka が、2026 年上半期(1 月〜5 月)に注目すべき大規模言語モデル関連の研究論文を選定し、一覧として公開した。

ニュース一覧に戻る元記事を読む