コンテンツにスキップ

AIでワークフローのエラーを修正する

ワークフローのステップが失敗した場合や警告をログに記録した場合、AI修正アシスタントはそのエラーを読み取って原因を突き止めます。原因がステップ自体の設定ミスであれば、修正した設定を提案し、承認を受けて適用します。エラーを説明するだけにとどまらず、変更そのものを代行できます。

これはPlaidCloudのWeave AIの機能の1つで、プロジェクトのログビューアーから、失敗したステップを指定した状態で開きます。プロジェクトのWeaveタブにある問題からも開けます。

プロジェクトのログタブで、未加工のログエントリの横から開きます。

  1. プロジェクトを開き、ログタブをクリックします。
  2. ログ一覧で、失敗したステップのエントリを選択します。トレースバックを含む完全なメッセージが、右側のパネルのログメッセージタブに表示されます。
  3. そのパネルをAI Assistantタブに切り替えます。

AI Assistantチャットは、選択したログエントリの元になったワークフローとステップをあらかじめ指定した状態で開くため、すぐに診断を始めます。どのステップが失敗したかを伝える必要はありません。ログメッセージで未加工のエラーを確認しながら、AI Assistantでアシスタントとチャットできます。よくあるエラーの一部では、最初の返信が説明になります。よくあるエラーを参照してください。

プロジェクトのWeaveタブで、Weaveが見つけた問題のカードにある修正をクリックします。アシスタントは専用のウィンドウで開き、その問題が指すステップをあらかじめ指定した状態で、Weaveが現在報告している問題から始めます。修正が表示される検出事項については、AIアシスタントで検出事項を修正するを参照してください。

  1. 診断 — 失敗したステップの設定と、そのステップが扱うテーブルおよび列を読み取ります。エラーメッセージだけから推測せず、データに照らして自分の見立てを確認します。
  2. 提案 — 本当に設定ミスが見つかった場合は、変更内容をカードで示します。まずWhy it failedとして理由を1文で述べ、次に変更される設定ごとにボックスを表示します。設定名はできる限りステップのフォームでの表記に合わせ、現在の値は赤、新しい値は緑で示します。変更される部分だけが一覧に載り、列リストの場合は変更される列だけが載ります。この時点では何も保存されません。
  3. 承認 — カードでApprove N changesを選択します。ステップをそのままにする場合は今はしないを選択します。ご自身の言葉で返信することもできます。ボタンはアシスタントの返信が完了してから使用可能になり、承認は常に提案より後のメッセージで行われます。
  4. 適用 — 承認すると、ステップエディターと同じ経路でステップに変更を書き込みます。保存されるのはカードに示された変更であり、1回の承認で保存されるのは1回だけです。保存の直前に、現在のステップの設定のコピーを保持するため、修正を元に戻せます。修正を元に戻すを参照してください。
  5. 再実行の提案 — 2枚目のカードで、修正を確認するためにステップを今すぐ再実行するかどうかを尋ねます。承認すると、アシスタントがステップを実行し、成功したか、警告付きで完了したか、再び失敗したかを伝えます。新たに失敗した場合は、それをエラーとして診断します。ステップが2分以内に完了しない場合はその旨を伝え、結果はワークフローとログタブに表示されます。

ERPシステムへ転記するステップや別のワークフローを実行するステップ、チャットがワークフローに紐づいていない場合、またはお使いのロールでワークフローを実行できない場合、アシスタントは再実行を提案しません。ERP転記のステップは、転記モードを選択できる元のワークフローから再実行してください。ワークフローがすでに実行中の場合は、何も実行されず、アシスタントが再試行を提案します。

各提案、承認または却下、変更そのものは、置き換えた内容と書き込んだ内容とともに、プロジェクトのWeaveのアクティビティ履歴に記録されます。承認は変更が行われる前に記録されます。記録できない場合は何も保存されず、カードにその旨が表示されるので、後でもう一度承認できます。

修正のカードには、その修正を元に戻せる場合にその旨が表示されます。*Weaveはステップの現在の設定のコピーを保持しているため、ステップが再度変更されない限り、一定期間はこの修正を元に戻せます。*この行がないカードは元に戻せません。Weaveがコピーを保持できない場合は、何も保存せずにその旨を伝えるので、もう一度依頼できます。

修正が保存されると、カードに元に戻すが表示されます。プロジェクトのWeaveのアクティビティ履歴にある、その修正のエントリにも同じボタンがあるため、チャットを閉じた後でも修正を元に戻せます。プロジェクトでステップを変更できるロールのユーザーなら、承認した本人でなくても修正を元に戻せます。

元に戻すをクリックすると、元に戻すことで復元される内容を示すウィンドウが開きます。修正で変更された各設定が、現在の値と元に戻した後の値で表示されます。次の中から選択します。

  • 元に戻す — ステップの設定を、修正の直前の状態に戻します。
  • 元に戻して実行 — 設定を戻した後、ステップを実行します。お使いのロールでワークフローを実行でき、ステップが修正を行ったワークフロー(それがない場合は唯一のワークフロー)にまだ存在し、そのワークフローを開くことができ、さらにステップがERPシステムへの転記や別のワークフローの実行を行わない場合に提案されます。実行そのものは元に戻せません。
  • キャンセル — ステップをそのままにします。

元に戻す操作で変わるのはステップの設定だけです。ステップの実行によってすでに書き込まれたデータはそのまま残るため、再構築するにはステップを再実行してください。

次の場合、Weaveは修正を元に戻さず、何も変更しません。

  • 修正後にステップが変更された場合。 元に戻すと古い設定が復元されてしまうため、ウィンドウにはステップの現在の状態とWeaveによる変更前の設定が並べて表示され、ご自身で変更できます。
  • ステップがすでに修正前と同じ設定になっている場合。
  • コピーが保持されなくなった場合。 コピーは一定期間だけ保持されます。
  • お使いのロールでステップを変更できない場合、またはプロジェクトがロックされている場合。
  • Weaveが元に戻す操作を記録できなかった場合。 しばらくしてからもう一度お試しください。

元に戻す操作は、アクティビティ履歴に独立した変更として記録されます。たとえば、*Done as approved: undo Weave’s change to a step’s settings.*のように記録されます。

ステップがこれらのよくあるエラーで失敗した場合、最初の返信は、その種類のエラーについてPlaidCloudがすでに用意している説明となるため、すぐに表示されます。

あらゆる種類のステップで次のようなエラーが対象です。

  • ステップが読み取るテーブルに存在しない列を使う式
  • ソース列がステップの読み取るテーブルに存在しない列マッピング
  • ステップに必要な設定が空のままになっている場合(使用する接続や読み取るテーブルなど)
  • ステップが実行するワークフローが失敗した場合(原因はそのワークフローのいずれかのステップにある可能性が高いため、そのワークフローのログを確認します)
  • ステップが指定したテーブルが見つからない場合
  • SnowflakeまたはDatabricksのウェアハウスが、PlaidCloudのアドレスをブロックしている、サインインを拒否している、クォータを使い切っている、見つからないか使用できない、またはPlaidCloudのロールに必要な権限が不足している場合

SQL抽出ステップでは次のようなエラーが対象です。

  • 読み取れないSQL(キーワードのつづりミスや閉じられていない括弧など)
  • データベースが認識しない関数
  • 存在しないテーブル
  • 扱えない型の値が渡された関数(テキスト列の合計など。Databendの場合)
  • SQLが要求した型に変換できない値(数値や日付が必要な箇所にテキストがあるなど。Databendの場合)

Table Extractステップでは、SQLではなくステップ自体のタブとフィールドを示す修正で、次のようなエラーが対象です。

  • ソーステーブルがまだ存在しない、またはすでに存在しない場合(Databendの場合)
  • データベースが認識しない関数を使う式(Databendの場合)
  • 扱えない型の値が渡された関数(式の中、または集計でのテキスト列の合計など。Databendの場合)
  • 出力列がないステップ(すべての列が削除されたステップなど)

説明では、そのエラーの一般的な原因、エラーメッセージのどの語句に注目すべきか、修正方法を示します。これは一般的な内容であり、ステップを調べたり何かを変更したりすることはありません。アシスタントにステップ自体を確認させるには、返信してください。以降は、動作のしくみで説明するとおりに動作し、会話の一部として説明が残ります。

それ以外のエラーは、アシスタント自身による診断に直接進みます。上記のデータベースエラーが他の種類のステップで発生した場合も同様です。

アシスタントが修復するのは、エラーの原因となった1つのステップの設定です。たとえば、列名や関数名の入力ミス、無効な式、誤ったデータ型やキャスト、不正な形式のSQLなどです。エラーを解消できる最小限の変更にとどめます。1つの失敗に対して的を絞った1つの変更を行い、それ以外の設定はそのまま残します。

列、フィルター、having句などで失敗した式は、エラーとソーステーブルの列とともに、式エディターの横にある式のスペシャリストと同じものに渡されます。返された修正後の式は、提案される前にチェックされます。提案はあくまでそのステップの1つのフィールドに対する変更であり、他の変更と同じ方法で承認します。

アシスタントが操作できるのは、そのステップの設定だけです。問題が別の場所にある場合は、編集で解決したように見せかけることなく、その旨を率直に伝えます。

  • 編集するのは1つのステップの設定だけです。ステップの作成、削除、並べ替え、テーブルの作成、別のステップの編集、データの変更は行いません。
  • 失敗の多くは設定の問題ではありません。たとえば、ソースデータの欠落や不正な形式、先に失敗した上流のステップ、一時的なエラーやインフラのエラー、権限の問題、UDFやユーザーコードのステップでのPythonの不具合、ドキュメントアカウントにあるファイルの欠落、リソースやタイムアウトの上限などです。これらの場合は、見つけた内容を説明し、実際の修正が必要な場所を案内します。
  • 警告は無害で変更が不要なことも多く、その場合は、編集をでっち上げるのではなく、そのとおりに伝えます。
  • 変更で解決できるかどうか確信が持てない場合は、推測を断定として示すのではなく、その旨と不確かな点を伝えます。
  • 診断は、ステップの設定とテーブルのメタデータをライブで参照して行われるため、キャッシュされた形状や想定した形状ではなく、現在のプロジェクトの状態が反映されます。
  • 修正が適用された後は、アシスタントがステップの再実行を提案したら承諾するか、ご自身で再実行して、エラーが解消されたことを確認してください。
  • 原因がステップの設定の外(不正なデータ、上流の失敗、権限の問題)にあるとアシスタントが伝えた場合、それが答えです。アシスタントにステップを無理に編集させるのではなく、実際の原因がある場所で修正してください。