AI 支援 SQL: クエリの生成、レビュー、検証
Telemetry は、平易な質問とテーブルのメタデータを使用して、最初の DataFusion SQL クエリまたは視覚化プランを生成できます。 SQL はクエリ ワークスペースに表示されたままになり、編集可能になります。これにより、白紙のページを作成する時間を減らすことができますが、曖昧なビジネス上の質問が信頼できる指標に変わるわけではありません。
AI アシストを使用して加速します。イベント契約、カウントルール、プライバシーに関する決定、および本番環境のしきい値の所有権を、基盤となるシステムをレビューできる担当者に保持してもらいます。
境界のあるプロンプトを作成する
便利なプロンプトにより、テーブル、イベント粒度、メトリック、時間範囲、フィルター、グループ化、および予想される出力が識別されます。たとえば:
Using api_request_completed, calculate hourly error rate for production
over the last seven complete days. A failed request has outcome = 'error'.
Return request_count, failed_count, and error_rate. Split by route_template,
exclude incomplete current-hour data, and order newest hour first.
これは、分母、結果の定義、時間境界、およびグループ化が明示的であるため、「API の健全性を表示」より安全です。
シークレット、生の顧客コンテンツ、アクセス トークン、プライベート プロンプト、または未レビューの個人データを指示に貼り付けないでください。スキーマ名、境界のあるカテゴリ、および合成例を優先します。
生成されたクエリを確認します
生成された SQL を実行または保存する前に、次の前提条件を確認してください。
| レビューエリア | 質問 |
|---|---|
| テーブルと穀物 | 1 行がカウントされる単位を表しますか? |
| フィールド名とタイプ | 参照されるフィールドは互換性のある型で存在しますか? |
| 時間 | 意図した UTC タイムスタンプはフィルタリングされていますか?また、不完全なバケットは処理されていますか? |
| 分母 | 率は成功だけではなく、対象となるすべての結果によって割られますか? |
| ヌル | 欠損値は意図的に除外、グループ化、またはデフォルト設定されていますか? |
| 結合します | 各テーブルは結合する前に安全な粒度に事前に集約されましたか? |
| 重複 | 再試行または繰り返しの配信は、同じビジネス結果を 2 回カウントできますか? |
| 寸法 | グループ化フィールドは有用な結果を返すのに十分な範囲に制限されていますか? |
| 単位 | 期間、バイト、トークン、通貨、パーセンテージは一貫して変換されていますか? |
DataFusion SQL は、PostgreSQL、BigQuery、Snowflake、および他のエンジンとは異なります。構文的に馴染みのある関数には、サポートされている同等の関数が必要な場合があります。を使用します。 DataFusion SQL リファレンス 生成された式が計画されていない場合。
結果を検証する
実行が成功した場合は、クエリが実行されたことが証明されるだけです。フィクスチャまたは小さな既知のウィンドウを使用して意味を検証します。
- 予想される 1 つのグループの生の行を検査します。
- 1 つのカウント、合計、またはレートを手動で計算します。
- 結果を生成された集計と比較します。
- 空のピリオドと null を含むピリオドをテストします。
- 最新のバケットに部分的なデータがないか確認してください。
- 1 つのフィルターを変更し、結果が予想される方向に変化することを確認します。
結合の場合は、結合の前後の行数を比較します。予期しない乗算は、穀物に互換性がないことを示すことがよくあります。
レビューされた分析のみを保存する
レビュー済みのクエリの名前は、クエリを作成したプロンプトの名前ではなく、サポートする決定に応じて変更します。実用的であれば、名前に単位と重要なスコープを含めます。ロジックを変更するときに新しい履歴エントリを保存し、それを使用するダッシュボードの横にマテリアル定義の変更を説明します。
生成された SQL を、ドメイン レビューや代表者によるテストを行わずに、ページング アラート、請求ワークフロー、アクセス制御の決定、または顧客向けの財務レポートに直接接続しないでください。
弱い最初の回答を改善する
最初のクエリが間違っている場合は、修正を明示的に行います。
- 列粒子と適格な母集団を定義します。
- 正確なカテゴリ値を提供します。
- ID がユーザー、アカウント、セッション、またはイベントごとであるかどうかを指定します。
- 予想される時間フィールドとバケットに名前を付けます。
- null、再試行、重複配信の処理方法を説明します。
- 最終パーセンテージの横にある中間カウントを要求します。
- SQL で短い仮定リストを要求してください。
の Telemetry プロンプトパック 再利用可能なインストルメンテーションと SQL レビュー プロンプトが含まれています。続けて SQL 可観測性とイベント分析 または、決定論的なデータに対して練習します。 SaaS SQL ラボ.