Skip to content
エンジニアリング

ステップ7でWorkflowが失敗した場合:実行トレースによるAI自動化のデバッグ

JieGouの実行トレースは、すべてのステップ、入力、出力、タイミング、リトライ試行の階層的なビューを提供し、何が問題だったかを正確に特定できます。

JT
JieGou Team
· · 1 分で読めます

12ステップ、2つの条件分岐、ループを持つworkflowが、ループの3回目のイテレーションの2番目のサブステップで失敗します。エラーメッセージは「unexpected response format」。どこから始めますか?

詳細な実行データがなければ、推測するしかありません。実行トレースがあれば、何が起こったかが正確に分かります——すべての入力、すべての出力、すべてのタイミング境界、すべてのリトライ試行——workflowの構造をミラーリングする階層的なビューで。

実行トレースが記録するもの

すべてのworkflow実行は実行トレースを生成します:workflowの実行グラフをミラーリングするスパンのツリーです。各スパンは以下を記録します:

  • ステップID — どのステップか(IDと名前で)
  • タイミング — 開始時刻、終了時刻、ミリ秒単位の所要時間
  • 入力 — テンプレート解決後にステップに渡された正確な値
  • 出力 — ステップが生成した構造化出力(またはスローしたエラー)
  • リトライ試行 — ステップがリトライした場合、各試行がそのエラーと次の試行前のバックオフ遅延とともに記録
  • ネストコンテキスト — 条件のどの分岐か、ループのどのイテレーションか、並列ステップのどのブランチか

階層構造

トレースツリーはworkflowの構造に正確に従います:

Workflow Run
├── Step 1: Research prospect (recipe) — 2.3s, success
├── Step 2: Qualify lead (recipe) — 1.8s, success
├── Step 3: Condition (score >= 70)
│   └── Then branch
│       ├── Step 3a: Parallel
│       │   ├── Branch A: Draft email — 3.1s, success
│       │   └── Branch B: Draft LinkedIn message — 2.7s, success
│       └── Step 3b: Review (approval) — waiting
└── Step 4: Archive (skipped — condition took then-branch)

条件分岐はどのパスが取られ、なぜ取られたかを表示します。ループは各イテレーションとそのアイテムおよびサブステップの結果を表示します。並列ブランチは個別のタイミングとともに並行実行を表示します。

3つの可観測性レイヤー

実行トレースは3つの補完的な可観測性レイヤーの1つです:

実行トレース(Firestore)は詳細な、実行ごとの検査ツールです。実行インスペクターUIを強化し、個々の実行のデバッグ用に設計されています。すべての実行にトレースがあり、トレースは実行レコードの存続期間中保持されます。

Prometheusメトリクスは集約された運用ヘルスを追跡します:総実行数、成功率、所要時間のパーセンタイル、エラー数。ダッシュボードとアラートに使用されます——「workflow Xの成功率が過去1時間で95%を下回った」。

OpenTelemetryスパンはサービス境界をまたがる分散トレーシングを提供します。withSpan()ラッパーがインストルメント化されたコードパスにworkflowとステップのメタデータを含むスパンを作成します。OTel互換のバックエンド(Jaeger、Datadog、Honeycomb)と統合してクロスシステムトレース相関が可能です。

トレースを使用したデバッグ

障害箇所の特定

実行詳細ページを開き、トレースツリーを展開します。失敗したステップがハイライトされます。失敗したステップをクリックして正確な入力とエラーメッセージを確認します。入力を期待と比較してください——多くの場合、上流のステップが予期しない出力を生成し、下流のステップに渡されたことが問題です。

テンプレート解決の問題の発見

各ステップのトレースは解決された入力値——テンプレート置換後——を表示します。ステップが{{step.research.company_name}}を期待していたがundefinedを得た場合、トレースは実際の解決された値を表示します。参照されたステップが期待される出力フィールドを生成したか確認してください。

パフォーマンスボトルネックの特定

所要時間でソートして最も遅いステップを見つけます。類似のステップが2秒かかるのに15秒かかるステップは、レート制限にヒットしている、必要以上に高価なモデルを使用している、または予想以上に大きな入力を処理している可能性があります。

リトライ動作のデバッグ

ステップが成功前(または永続的に失敗する前)にリトライした場合、トレースは各試行を表示します:リトライをトリガーしたエラー、バックオフ遅延、次の試行の結果。一般的なパターン:一時的な429レート制限(バックオフ後にリトライが成功)、永続的な400エラー(すべてのリトライが同じエラーで失敗——リトライ回数ではなく入力を修正してください)。

トレースは自動的

トレーシングの設定は不要です。すべてのworkflow実行がトレースを生成し、すべてのステップがインストルメント化され、トレースは非同期で永続化されます(fire-and-forget)ため、実行を遅くしません。実行インスペクターは詳細ビューを開いたときにオンデマンドでトレースを読み取ります。

実行トレースはすべてのプランでご利用いただけます。PrometheusメトリクスとOpenTelemetry統合はEnterpriseでご利用いただけます。workflowの詳細を見るか、無料トライアルを開始する

execution-traces debugging observability workflows tracing
この記事をシェアする

この記事はお役に立ちましたか?

ワークフローのヒント、製品アップデート、自動化ガイドをメールでお届けします。

No spam. Unsubscribe anytime.