Pendo に送信されるすべての会話イベントは、クライアント側の方法、サーバー側API、Python SDK、TypeScript SDKのいずれを使用しても、同じプロパティスキーマを使用します。この記事では、サポートされているすべてのプロパティを定義しています。
実装手順については、該当する方法に関する記事を参照してください。
- クライアント側またはサーバー側のAPIを使用して会話イベントを送信する
- Python SDKをインストールして会話とトレースデータを送信する
- TypeScript SDKをインストールして会話とトレースデータを送信する
- AIスキルを使用して会話APIの実装を自動化する
イベントタイプ
会話イベントはそれぞれ、単一のメッセージを表します。eventType (クライアント側) または type (サーバー側) フィールドによってPendoがどのように分類されるかが決まります。
| イベントタイプ | 説明 |
|---|---|
prompt |
訪問者からエージェントに送信されたメッセージ。 |
agent_response |
エージェントが訪問者に対して返した応答。 |
user_reaction |
訪問者がエージェントの対応に対して送信したフィードバック(肯定的または否定的など)。 |
agent_trace |
会話のトレーススパンを記録するためにPython SDKとTypeScript SDKによって発行される内部イベントです。これらのイベントはエージェントアナリティクスにおける会話履歴の記録に利用されますが、目に見えるメッセージとしては表示されません。 |
必須プロパティ
これらのプロパティはすべての会話イベントに必要です。
| プロパティ | タイプ | 説明 |
|---|---|---|
agentId |
string | Pendoにエージェントを追加したときに作成されたAIエージェントの固有識別子。 |
conversationId |
string | 会話セッション全体の一意の識別子。同じ会話内のすべてのメッセージはこのIDを共有する必要があります。 |
messageId |
string | この特定のメッセージの一意の識別子。会話の中で一意でなければなりません。 |
コンテンツ |
string | メッセージの内容。例えば、訪問者のプロンプトテキスト、エージェントの応答テキスト、user_reactionイベントのフィードバック値(positive、negative、unreact)。 |
IDとシーケンスルール
Pendoがメッセージを正しくグループ化および分析できるようにするには、以下のルールに従ってください。
-
conversationIdとmessageIdは、例えばチャットバックエンドによって生成されるなど、システム内で安定していて一意である必要があります。 - 同じ会話内のすべてのメッセージは、同じ
conversationIdを使用する必要があります。IDが間違っていたり、再利用されたりすると、メッセージの順序が乱れたり、間違った会話になったりする可能性があります。 - プロンプトとエージェントの応答は別々のメッセージであり、異なる
messageId値を使用する必要があります。 -
user_reactionイベントでは、フィードバックに関連付けられているレスポンスのmessageIdを再利用してください。
オプションのプロパティ
| プロパティ | タイプ | 説明 | デフォルト |
|---|---|---|---|
suggestedPrompt |
boolean | そのプロンプトが、訪問者が手動で入力したものではなく、システムによって提案されたものかどうか。 | 誤り |
toolsUsed |
文字列配列 |
['search', 'calculator']など、エージェントの応答を生成するために呼び出されるツールまたは関数。 |
[] |
agentModelsUsed |
文字列配列 | 応答を生成するために使用されるAIモデルで、マルチモデルシナリオ(例:['gpt-4', 'claude-3'])をサポートします。modelUsedを置き換えます。 |
[] |
agentFilesUploaded |
オブジェクト配列 | このメッセージのやり取り中にアップロードされたファイル。各オブジェクトにはtype(ファイルタイプ)とname(ファイル名)が含まれ、[{ "type": "csv", "name": "data.csv" }]のようになります。ファイルの内容はキャプチャされません。fileUploadedを置き換えます。 |
[] |
agentUserReactionComments |
文字列配列 | 訪問者のリアクション(サムズアップまたはサムズダウン)に添えられるテキストコメント機能。訪問者はリアクションとともにテキストによるフィードバックを提供できます。user_reactionイベントで使用。 |
[] |
agentSubagentsUsed |
文字列配列 | 会話中に呼び出されたサブエージェント(例:['research_agent', 'code_agent'])。 |
[] |
agentInputTokenCount |
integer | エージェントの応答を生成するために使用されるLLM入力トークンの数。トレースイベントでのみ利用可能です。 | 0 |
agentOutputTokenCount |
integer | エージェントの応答を生成するために使用された LLM 出力トークンの数。トレースイベントでのみ利用可能です。 | 0 |
注:オプションのプロパティは、実装に含まれている場合にのみエージェントアナリティクスに表示されます。送信されない場合、対応するグラフや詳細は表示されません。
廃止されたプロパティ
これらのプロパティは後方互換性のために引き続き受け入れられていますが、より新しい代替プロパティに置き換えられています。可能な限り代替プロパティを使用するように実装を更新してください。
| プロパティ | タイプ | 置き換え先 | 説明 |
|---|---|---|---|
modelUsed |
string | agentModelsUsed |
応答を生成したり、プロンプトを処理したりしたAIモデル(gpt-4など)。マルチモデルをサポートするにはagentModelsUsedを使用してください。 |
fileUploaded |
boolean | agentFilesUploaded |
訪問者がこのメッセージ交換中に1つ以上のファイルをアップロードしたかどうか。agentFilesUploadedを使用してファイルの種類と名前を取得します。 |