コンテンツにスキップ

デバッグガイド

デバッグガイド

ドラマの動作確認やトラブルシューティングに役立つ情報をまとめています。


デバッグビューア

会話画面の右上にある「デバッグ」ボタンをクリックすると、デバッグビューアが開きます。

デバッグビューアは以下の2つのセクションで構成されています:

  • タイムライン(上部): コンポーネントの実行状況をガントチャート形式で表示
  • ツリー表示(下部): ドラマのコンポーネント構造を表示

タイムラインの操作方法

操作 説明
ピンチ(2本指で拡大縮小) タイムラインの時間軸を拡大/縮小
2本指スワイプ(横) タイムラインを左右にスクロール
2本指スワイプ(縦) タイムラインを上下にスクロール
マーカーにマウスオーバー 詳細情報をツールチップで表示
ガントバーをクリック 対応するコンポーネントをツリーでハイライト
「❓」ボタン マーカー凡例モーダルを表示
「⬇️」ボタン CSVファイルとしてダウンロード
「🔄」ボタン 表示位置・ズームをリセット

イベントナビゲーション

  • ◀ ▶ ボタン: イベント(event.trigger)間を移動
  • 新規会話**または🗑️ボタン**でリセット

タイムラインマーカー凡例

タイムライン上の各マーカーは、コンポーネントの処理状態を示します。

プロセス境界マーカー

マーカー 説明
▶(右向き三角) 処理開始: コンポーネントの process() 開始
◀(左向き三角) 処理終了: コンポーネントの process() 正常終了
◀(左向き三角) 処理終了(エラー): エラーで終了

受信イベントマーカー(青系)

入力値の受信に関するイベントです。

マーカー 形状 説明
丸(通常サイズ) 青 (#3b82f6) 受信: 値を受信(INFO レベル)
丸(小サイズ) 青 (#3b82f6) 受信(高頻度): チャンクなどの高頻度イベント(DEBUG レベル)
四角 青 (#3b82f6) 受信確定: is_last=true で値が確定

送信イベントマーカー(緑系)

出力値の送信に関するイベントです。

マーカー 形状 説明
丸(通常サイズ) 緑 (#22c55e) 送信: 値を送信(INFO レベル)
丸(小サイズ) 緑 (#22c55e) 送信(高頻度): 音声チャンクなどの高頻度イベント(DEBUG レベル)
四角 緑 (#22c55e) 送信確定: is_last=true で送信が確定

WebSocket送信マーカー

マーカー 形状 説明
オレンジ (#f97316) WS送信: WebSocket経由でクライアントに送信

外部サービス呼び出しマーカー(黄系)

LLMやTTSなどの外部サービス呼び出しに関するイベントです。

マーカー 形状 説明
右向き三角 黄 (#eab308) 外部送信: 外部サービス(LLM API等)へリクエスト送信
黄 (#eab308) チャンク受信: 外部サービスからのストリーミングチャンク受信
四角 黄 (#eab308) 外部完了: 外部サービスからの応答完了

その他のマーカー

マーカー 形状 説明
紫 (#8b5cf6) 設定読み取り: 外部設定(State等)からの値取得
丸(小サイズ) グレー (#6b7280) 内部ログ: 内外に影響しない記録(DEBUG レベル)

ガントバーの範囲

ガントバー(横棒)は、コンポーネントが実際に処理を行っている期間を示します。

一般的なコンポーネント

  • 開始: for ループ内で最初に updated() が反応したとき
  • 終了: for ループが終了したとき(全ての is_last=true を処理)

LLM系コンポーネント(PublicLLM、GeppettoLLM、SystemLLM)

  • 開始: プロンプト生成が完了したとき
  • external_send マーカー(黄▶): LLM API にリクエスト送信
  • external_chunk マーカー(黄●): チャンク受信ごと(ストリーミング時)
  • 終了: 応答が確定したとき(is_last=true

TTS3(音声合成)

  • 開始: TTS入力準備完了時
  • external_send マーカー(黄▶): TTSサーバーへテキスト送信時(#1, #2...)
  • external_chunk マーカー(黄●): 音声チャンク受信時(#1, #2...)
  • 終了: 全ての音声チャンクを送信完了

コンポーネント別のイベント

EntryChain

イベントタイプ マーカー 説明
start ▶ 緑 トリガー受信
output_is_last ■ 緑 入力値を出力に転送完了
end ◀ 緑 処理終了

PublicLLMChain / GeppettoLLMChain / SystemLLMChain

イベントタイプ マーカー 説明
value ● 青 プロンプト生成完了
external_send ▶ 黄 LLM API にリクエスト送信
external_chunk ● 黄 LLMチャンク受信(ストリーミング時、#1, #2...)
is_last ■ 青 LLM応答が確定

DialogAddChain

イベントタイプ マーカー 説明
value ● 青 処理ループ開始
output ● 緑 対話履歴に追加
is_last ■ 青 処理ループ終了

StateSetChain

イベントタイプ マーカー 説明
value ● 青 処理ループ開始
output ● 緑 状態を更新
is_last ■ 青 処理ループ終了

EventResponseChain

イベントタイプ マーカー 説明
value ● 青 処理ループ開始
ws_send ● オレンジ WebSocket送信
output_is_last ■ 緑 送信完了

TTS3Chain

イベントタイプ マーカー 説明
value ● 青 TTS入力準備完了
external_send ▶ 黄 TTSサーバーへテキスト送信(#1, #2...)
external_chunk ● 黄 音声チャンク受信(#1, #2...)
is_last ■ 青 TTS完了

LambdaFuncChain

イベントタイプ マーカー 説明
value ● 青 処理開始(初回 updated() 反応時)
is_last ■ 青 処理完了

GateChain

イベントタイプ マーカー 説明
value ● 青 処理ループ開始
log ・ グレー 条件評価結果(DEBUG)
output ● 緑 値を転送
is_last ■ 青 処理ループ終了

SelfTriggerChain

イベントタイプ マーカー 説明
value ● 青 処理ループ開始
log ・ グレー トリガー条件評価(DEBUG)
output ● 緑 event.trigger 発火
is_last ■ 青 処理ループ終了

ClassifierChain

イベントタイプ マーカー 説明
value ● 青 分類処理開始
external_send ▶ 黄 Embedding API にリクエスト送信
is_last ■ 青 分類結果を出力

RAGChain

イベントタイプ マーカー 説明
value ● 青 RAG検索開始
external_send ▶ 黄 Embedding API にリクエスト送信
is_last ■ 青 検索結果を出力

Stateの確認

会話画面の「State」タブで、現在の状態を確認できます。

処理フローの要所にデバッグ用の StateSet を細かく配置することで、どこまで処理が進んだかを確認できます。


ログの確認

サイドメニューの「ログ確認」から確認できます。

drama_name で絞り込んで、どこまで処理が行われたかを確認しましょう。

Itemに名前をつけると便利

各Itemに「名前」を設定しておくと、ログから該当箇所を探しやすくなります。


トラブルシューティング

タイムラインにコンポーネントが表示されない

  • ドラマが正しくロードされているか確認してください
  • ブラウザをリロードしてみてください

ガントバーが表示されない

  • そのコンポーネントが実際に処理を行ったか確認してください
  • for ループが一度も実行されなかった場合、ガントバーは表示されません

マーカーが多すぎて見づらい

  • ログレベルフィルタを使用して、DEBUGレベルのイベントを非表示にできます
  • ピンチ操作でタイムラインを拡大して確認してください