LLM Trace フィールドは、Alibaba Cloud が OpenTelemetry 標準および大規模言語モデル(LLM)アプリケーションドメインの概念に基づいて定義したものです。これらのフィールドは、Attributes(属性)、Resource(リソース)、Event(イベント)を拡張し、LLM アプリケーションのトレースデータのセマンティクス(意味)を記述します。具体的には、LLM の入出力リクエストやトークン消費などの主要な操作をキャプチャし、Completion(補完)、Chat(チャット)、Retrieval-Augmented Generation(RAG:検索拡張生成)、Agent(エージェント)、Tool Calling(ツール呼び出し)といったシナリオにおいて、豊かでコンテキストを意識したセマンティックデータを提供することで、効果的なデータトレースとレポートを可能にします。
このセマンティック仕様はコミュニティとともに進化していきます。アプリケーションが Python アプリケーションの場合、観測可能なデータを手動で収集する必要があります。loongsuite-util-genai コンポーネントを使用すると、データ収集の統合を支援できます。詳細については、READMEをご参照ください。
スパンレベルのフィールド定義は、OpenTelemetry オープン標準に従っています。Alibaba Cloud Managed Service for OpenTelemetry に保存されるトップレベルのトレースフィールドの詳細な説明については、「トレース分析パラメーター定義」をご参照ください。
LLM 固有の SpanKind は、OpenTelemetry Trace 仕様で定義されているSpan kindではなく、属性(Attribute)です。このセマンティック仕様は、OpenTelemetry GenAI Semantic Conventions を拡張しています。この仕様は現在も積極的に開発中であり、今後のメンテナンスリリースで変更される可能性があります。
共通セクション
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| セッション ID | string |
| 利用可能な場合は必須 |
| エンドユーザー識別子 | string |
| 利用可能な場合は必須 |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ [2] | string |
| 必須 |
| 使用されたフレームワークタイプ | string |
| 利用可能な場合は必須 |
[1] gen_ai.span.kind: 以下のように gen_ai.operation.name に対応付けられます。
|
| 説明 |
RETRIEVER |
| ドキュメント取得 |
LLM |
| モデル呼び出し |
EMBEDDING |
| 埋め込み |
TOOL |
| ツール呼び出し |
AGENT |
| エージェント呼び出し |
RERANKER | - | 再ランキング呼び出し |
CHAIN | - | チェーン(呼び出し単位) |
TASK | - | タスク呼び出し |
ENTRY | - | エントリー呼び出しマーカー |
STEP | - | ReAct ラウンドマーカー |
[2] gen_ai.operation.name: 副次的操作タイプ。以下の列挙値のいずれかを使用するか、カスタム値を定義してください。
値 | 説明 |
| チャット補完操作 |
| GenAI エージェント作成操作 |
| 単語埋め込み操作 |
| ツール呼び出し操作 |
| マルチモーダルコンテンツ生成操作 |
| GenAI エージェント呼び出し操作 |
| ドキュメント取得操作 |
| テキスト補完操作 |
リソース
ResourceKey | 説明 | 型 | 例 | 要件レベル |
| アプリケーション名 | string |
| 必須 |
| Cloud Monitor ワークスペース | string |
| 利用可能な場合は必須 |
| Cloud Monitor サービス ID | string |
| 利用可能な場合は必須 |
| アプリケーションソース | string |
| 利用可能な場合は必須 |
| アプリケーション機能 | string |
| 必須 説明
|
チェーン
チェーンは、LLM やその他のコンポーネントを接続して、取得、埋め込み、LLM 呼び出し、ネストされたチェーンなど、複雑なタスクを実行するためのツールです。
スパン名は chain {chain_name} とします。chain_name を取得できない場合は、chain と命名します。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規則をまだ定義していません。現在、チェーンスパンは LangChain フレームワークにのみ適用されます。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ | string |
| 利用可能な場合は必須 |
| 入力内容 | string |
| 推奨 |
| 応答内容 | string |
| 推奨 |
| ファーストバイトまでの時間 [2] | integer | 1000000 | 推奨 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。チェーンでは、この値は 必ず CHAIN である必要があります。
[2] gen_ai.user.time_to_first_token: サーバーがユーザーのリクエストを受信してから、最初の応答パケットが返却されるまでの時間です。単位: ナノ秒。
リトリーバー
リトリーバーは、ベクトルストアやデータベースにアクセスしてデータを取得します。通常、LLM の応答精度と効率を向上させるためにコンテキストを補完します。
gen_ai.operation.name は retrieval に設定します。gen_ai.operation.name が retrieval の場合、gen_ai.span.kind は RETRIEVER と推論されます。
スパン名は {gen_ai.operation.name} {gen_ai.data_source.id} とします。特別なケースでは、他の命名形式も許容されます。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ [2] | string |
| 必須 |
| データソースの一意な識別子 [3] | string |
| 利用可能な場合は必須 |
| 大規模言語モデルプロバイダー | string |
| 利用可能な場合は必須 |
| リクエストで指定されたモデル名 | string |
| 利用可能な場合は必須 |
| リクエストで指定された Top-K 値 | float |
| 推奨 |
| 取得されたドキュメントリスト [4] | string |
| 任意 |
| クエリテキストスニペット | string |
| 任意 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。リトリーバーでは、この値は 必ず RETRIEVER である必要があります。
[2] gen_ai.operation.name: 副次的操作タイプ。
[3] gen_ai.data_source.id: 一意なデータソース ID です。これは、AI エージェントや RAG アプリケーションが依存するデータソースであり、外部データベース、Object Storage Service、ドキュメントセット、ウェブサイト、またはその他のストレージシステムを指します。
[4] gen_ai.retrieval.documents: 取得されたドキュメントリストを記録します。各ドキュメントオブジェクトには、少なくとも以下のプロパティを含める必要があります。id (string): ドキュメントの一意な識別子。score (倍精度浮動小数点数): 関連性スコア。
リランカー
リランカーは、クエリに基づいて複数の入力ドキュメントの関連性を評価し、並べ替えを行い、上位 K 件のドキュメントを LLM の入力として返すことがあります。
スパン名は rerank {reranker.model_name} とします。reranker.model_name を取得できない場合は、rerank と命名します。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規則をまだ定義していません。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| リランカーリクエストパラメーター | string |
| 任意 |
| リランカーが使用するモデル名 | string |
| 任意 |
| 再ランキング後の順位 | integer |
| 任意 |
| 出力ドキュメントメタデータ [2] | string |
| 必須 |
| 出力ドキュメントのメタデータ [3] | string |
| 必須 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。リランカーでは、この値は 必ず RERANKER である必要があります。
[2] reranker.output_document: 再ランキングの入力ドキュメントです。JSON 配列構造です。メタデータには、パス、ファイル名、ソースなどの基本的なドキュメント情報が含まれます。
[3] reranker.output_document: 再ランキング後の出力ドキュメントです。JSON 配列構造です。メタデータには、パス、ファイル名、ソースなどの基本的なドキュメント情報が含まれます。
LLM
LLM スパンは、LLM 呼び出しまたは推論プロセスを表します。たとえば、SDK や OpenAPI を使用してさまざまな LLM を呼び出して推論やテキスト生成を行うことが該当します。
gen_ai.operation.name は、chat、generate_content、または text_completion のいずれかに設定します。gen_ai.operation.name が chat、generate_content、または text_completion の場合、gen_ai.span.kind は LLM と推論されます。
スパン名は {gen_ai.operation.name} {gen_ai.request.model} とします。特別なケースでは、他の命名形式も許容されます。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ [2] | string |
| 必須 |
| 大規模言語モデルプロバイダー | string |
| 必須 |
| 一意な会話 ID [3] | string |
| 利用可能な場合は必須 |
| LLM リクエストで指定された出力タイプ [4] | string |
| 利用可能な場合は必須 |
| LLM リクエストで要求された候補生成数 | int |
| 1 以外の場合は必須 |
| LLM リクエストで指定されたモデル名 | string |
| 必須 |
| LLM リクエストで指定されたシード | string |
| 利用可能な場合は必須 |
| LLM リクエストで設定された周波数ペナルティ | float |
| 推奨 |
| LLM リクエストで指定された最大トークン数 | integer |
| 推奨 |
| LLM リクエストで設定されたプレゼンスペナルティ | float |
| 推奨 |
| LLM リクエストで指定された温度 | float |
| 推奨 |
| LLM リクエストで指定された Top-P 値 | float |
| 推奨 |
| LLM リクエストで指定された Top-K 値 | float |
| 推奨 |
| LLM のストップシーケンス | string[] |
| 推奨 |
| LLM が生成した一意な ID | string |
| 推奨 |
| LLM 生成に使用されたモデル名 | string |
| 推奨 |
| LLM が生成を停止した理由 | string[] |
| 推奨 |
| ストリーミング応答シナリオにおける LLM のファーストトークンレイテンシー [5] | integer |
| 推奨 |
| 推論モデルの推論時間 [6] | integer |
| 推奨 |
| 使用された入力トークン数 | integer |
| 推奨 |
| 使用された出力トークン数 | integer |
| 推奨 |
| 使用されたトークン総数 | integer |
| 推奨 |
| モデルプロバイダーのキャッシュに書き込まれたトークン数 [7] | integer |
| 推奨 |
| モデルプロバイダーのキャッシュから読み取られたトークン数 [8] | integer |
| 推奨 |
| モデル入力内容 [9] | string |
| 任意 |
| モデル出力内容 [10] | string |
| 任意 |
| システムプロンプト内容 [11] | string |
| 任意 |
| ツール定義リスト [12] | string |
| 任意 |
| LLM プレフィルレイテンシー。単位: ナノ秒 | integer |
| 推奨 |
| LLM デコードレイテンシー。単位: ナノ秒 | integer |
| 推奨 |
| LLM 推論時間。プレフィル時間とデコード時間の合計に等しい。単位: ナノ秒 | integer |
| 推奨 |
| LLM 入力内容に含まれるマルチモーダルデータ [13] | string[] |
| 推奨 |
| LLM 出力内容に含まれるマルチモーダルデータ [14] | string[] |
| 推奨 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。LLM スパンでは、この値は 必ず LLM である必要があります。
[2] gen_ai.operation.name: 副次的操作タイプ。
[3] gen_ai.conversation.id: 一意な会話 ID です。簡単に取得できる場合は収集してください。
[4] gen_ai.output.type: リクエストで出力タイプ(出力フォーマットなど)が指定されている場合に収集します。値は以下の列挙値のいずれか、またはカスタム値である必要があります。
値 | 説明 |
| 画像 |
| 整形済み JSON オブジェクト |
| 音声 |
| プレーンテキスト |
[5] gen_ai.user.time_to_first_token: サーバーがユーザーのリクエストを受信してから、最初の応答パケットが返却されるまでの時間です。単位: ナノ秒。
[6] gen_ai.response.reasoning_time: 推論プロセスの所要時間です。単位: ミリ秒。
[7] gen_ai.usage.cache_creation.input_tokens: この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[8] gen_ai.usage.cache_read.input_tokens: この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[9] gen_ai.input.messages: LLM 呼び出しの入力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[10] gen_ai.output.messages: モデルの出力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[11] gen_ai.system_instructions: システムプロンプトまたは命令内容を個別に記録します。システムプロンプトまたは命令内容を個別に取得できる場合にこのフィールドを使用します。それ以外の場合は、gen_ai.input.messages 属性に記録します。gen_ai.system_instructions.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[12] gen_ai.tool.definitions: LLM に渡されたツール定義を記録します。この属性は非常に大きくなる可能性があります。デフォルトでは、type および name フィールドのみを収集します。その他のすべてのフィールドは、OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[13] gen_ai.input.multimodal_metadata: モデルの入力内容で参照されるマルチモーダルデータを集約します。UriPart メッセージのみを含めます。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[14] gen_ai.output.multimodal_metadata: モデルの出力内容で参照されるマルチモーダルデータを集約します。UriPart メッセージのみを含めます。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
プロンプト、入力、出力の記録
ユーザーの入力およびモデルの応答の記録は、省略することも、スパンの属性として記録することも、イベント(ログ)として記録することもできます。詳細については、「LLM アプリケーションの会話履歴収集動作の制御」をご参照ください。
埋め込み
埋め込みは、大規模言語モデル(LLM)を使用してテキストを埋め込むなどの単一のプロセスを表します。その後、類似性クエリを使用して、問題解決の最適化を図ることができます。
gen_ai.operation.name は embeddings に設定します。gen_ai.operation.name が embeddings の場合、gen_ai.span.kind は EMBEDDING と推論されます。
スパン名は {gen_ai.operation.name} {gen_ai.request.model} とします。特別なケースでは、他の命名形式も許容されます。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ [2] | string |
| 必須 |
| 大規模言語モデルプロバイダー | string |
| 必須 |
| リクエストで指定されたモデル名 | string |
| 利用可能な場合は必須 |
| 埋め込み操作で期待されるディメンション数 | integer |
| 推奨 |
| 埋め込み操作で要求されたエンコーディングフォーマット | string[] |
| 推奨 |
| 入力テキストで消費されたトークン数 | integer |
| 任意 |
| 埋め込みで消費されたトークン総数 | integer |
| 任意 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。埋め込みスパンでは、この値は 必ず EMBEDDING である必要があります。
[2] gen_ai.operation.name: 副次的操作タイプ。
ツール
ツールスパンは、外部ツールへの呼び出しを表します。たとえば、電卓を呼び出すことや、天気 API から最新の天気情報をリクエストすることが該当します。
gen_ai.operation.name は execute_tool に設定します。gen_ai.operation.name が execute_tool の場合、gen_ai.span.kind は TOOL と推論されます。
スパン名は {gen_ai.operation.name} {gen_ai.tool.name} とします。特別なケースでは、他の命名形式も許容されます。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ [2] | string |
| 必須 |
| ツール ID | string |
| 推奨 |
| ツールの説明 | string |
| 推奨 |
| ツール名 | string | 推奨 | |
| ツールタイプ | string |
| 推奨 |
| ツール呼び出しの入力パラメーター [2] | string |
| 任意 |
| ツール呼び出しの戻り値 [3] | string |
| 任意 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。ツールスパンでは、この値は 必ず TOOL である必要があります。
[2] gen_ai.tool.call.arguments: ツール呼び出しの入力パラメーターを JSON 文字列として記録します。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[3] gen_ai.tool.call.result: ツール呼び出しの戻り値を JSON 文字列として記録します。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
エージェント
エージェントスパンは、より複雑なチェーンであるインテリジェントエージェントシナリオを表します。エージェントは、LLM 推論結果を使用して次のステップを決定します。これには、複数の LLM およびツール呼び出しが含まれ、段階的に最終的な回答に到達します。
gen_ai.operation.name は invoke_agent または create_agent に設定します。gen_ai.operation.name が invoke_agent または create_agent の場合、gen_ai.span.kind は AGENT と推論されます。
スパン名は {gen_ai.operation.name} {gen_ai.agent.name} とします。特別なケースでは、他の命名形式も許容されます。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ [2] | string |
| 必須 |
| 一意な会話 ID [3] | string |
| 利用可能な場合は必須 |
| エージェントの説明 | string |
| 利用可能な場合は必須 |
| 一意なエージェント識別子 | string |
| 利用可能な場合は必須 |
| エージェント名 | string |
| 利用可能な場合は必須 |
| データソースの一意な識別子 [4] | string |
| 利用可能な場合は必須 |
| 使用された入力トークン数 | integer |
| 推奨 |
| 使用された出力トークン数 | integer |
| 推奨 |
| 使用されたトークン総数 | integer |
| 推奨 |
| モデルプロバイダーのキャッシュに書き込まれたトークン数 [5] | integer |
| 推奨 |
| モデルプロバイダーのキャッシュから読み取られたトークン数 [6] | integer |
| 推奨 |
| モデル入力内容 [7] | string |
| 任意 |
| モデル出力内容 [8] | string |
| 任意 |
| システムプロンプト内容 [9] | string |
| 任意 |
| ツール定義リスト [10] | string |
| 任意 |
| エージェントのファーストトークン応答レイテンシー | integer |
| 推奨 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。エージェントスパンでは、この値は 必ず AGENT である必要があります。
[2] gen_ai.operation.name: 副次的操作タイプ。
[3] gen_ai.conversation.id: 一意な会話 ID です。簡単に取得できる場合は収集してください。
[4] gen_ai.data_source.id: 一意なデータソース ID です。これは、AI エージェントや RAG アプリケーションが依存するデータソースであり、外部データベース、Object Storage Service、ドキュメントセット、ウェブサイト、またはその他のストレージシステムを指します。
[5] gen_ai.usage.cache_creation.input_tokens: この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[6] gen_ai.usage.cache_read.input_tokens: この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[7] gen_ai.input.messages: LLM 呼び出しの入力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[8] gen_ai.output.messages: モデルの出力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[9] gen_ai.system_instructions: システムプロンプトまたは命令内容を個別に記録します。システムプロンプトまたは命令内容を個別に取得できる場合にこのフィールドを使用します。それ以外の場合は、gen_ai.input.messages 属性に記録します。gen_ai.system_instructions.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[10] gen_ai.tool.definitions: LLM に渡されたツール定義を記録します。この属性は非常に大きくなる可能性があります。デフォルトでは、type および name フィールドのみを収集します。その他のすべてのフィールドは、OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
タスク
タスクスパンは、ローカル関数の呼び出しやその他のアプリケーション定義ロジックなど、カスタム内部メソッド呼び出しを表します。
スパン名は run_task {gen_ai.task.name} とします。特別なケースでは、他の命名形式も許容されます。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規則をまだ定義していません。そのため、gen_ai.operation.name は変更される可能性があります。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ | string |
| 必須 |
| 入力パラメーター | string |
| 任意 |
| 入力 MIME タイプ | string |
| 任意 |
| 出力 MIME タイプ | string |
| 任意 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。タスクスパンでは、この値は 必ず TASK である必要があります。
エントリー
エントリースパンは、AI アプリケーションシステムへの呼び出しのエントリーポイントを示します。
スパン名は enter_ai_application_system とします。特別なケースでは、他の命名形式も許容されます。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規則をまだ定義していません。そのため、gen_ai.operation.name は変更される可能性があります。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ | string |
| 推奨 |
| セッション ID | string |
| 利用可能な場合は必須 |
| エンドユーザー識別子 | string |
| 利用可能な場合は必須 |
| モデル入力内容 [2] | string |
| 任意 |
| モデル出力内容 [3] | string |
| 任意 |
| ストリーミング応答シナリオにおけるファーストトークン応答レイテンシー [4] | integer |
| 推奨 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。エントリースパンでは、この値は 必ず ENTRY である必要があります。
[2] gen_ai.input.messages: LLM 呼び出しの入力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[3] gen_ai.output.messages: モデルの出力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[4] gen_ai.response.time_to_first_token: サーバーがユーザーのリクエストを受信してから、最初の応答パケットが返却されるまでの時間です。単位: ナノ秒。
ReAct ステップ
ステップスパンは、エージェント内の推論-行動(Reasoning-Acting)反復プロセスを示します。
スパン名は react step とします。特別なケースでは、他の命名形式も許容されます。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規則をまだ定義していません。そのため、gen_ai.operation.name は変更される可能性があります。
属性
AttributeKey | 説明 | 型 | 例 | 要件レベル |
| 操作タイプ [1] | string |
| 必須 |
| 副次的操作タイプ | string |
| 推奨 |
| この ReAct ラウンドが終了した理由 | string |
| 推奨 |
| この ReAct 反復のラウンド番号 [2] | integer |
| 推奨 |
[1] gen_ai.span.kind: LLM スパン種別の専用列挙値です。ReAct ステップスパンでは、この値は 必ず STEP である必要があります。
[2] gen_ai.react.round: ReAct ラウンド番号は 1 から始まり、各反復ごとに 1 ずつ増分します。