Introducing Databricks Assistant Quick Fix | Databricks Blogの翻訳です。
本書は著者が手動で翻訳したものであり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
SQLやPythonのエラーを自動で修正
構文の間違い、解決できなかったカラム名、型変換のような一般的かつ単一行におけるエラーを自動で修正するように設計されたパワフルな新機能であるDatabricksアシスタントのクイックフィックスをご紹介できることを嬉しく思っています。
我々の研究では、エラーの70%は修正のために長ったらしい説明や、ドキュメントの徹底的な調査を必要としないシンプルな間違いであることがわかっています。アシスタントのクイックフィックスによって、あなたのコーディングの効率性を改善するためにAIのパワーを活用することで、あなたのデバッグのプロセスを円滑にするためのより統合されたソリューションを構築しました。
アシスタントのクイックフィックスの動作原理
アシスタントのクイックフィックスでは、エラー修正を提案するためにDatabricksアシスタントを活用していますが、SQLやPythonの記述において頻繁にユーザーが遭遇する特定のエラーをクイックに修正するように最適化されています。重要なゴールは、クイックフィックスが高速であるということです。クイックに提案が表示されるので、キーボードから手を離すことなしに、提案を受け入れることができます。
どのようなエラーを捕捉するのか?
アシスタントのクイックフィックスは、特に以下を含む様々なSQLやPythonのエラーを解決することができます:
- 末尾のカンマ
- カラムやテーブル、関数名の打ち間違い
- GROUP BY句の抜け
- 構文エラー
- データ型のミスマッチ(文字列をタイムスタンプにパースするなど)
キーボードショートカットとUX
我々は、クイックフィックスが可能な限り邪魔にならないように設計しました。1-3秒でインラインで結果を受け取り、受け入れたり(Cmd+’
)、受け入れ・実行したり(Cmd+ENTER
)、拒否する(ESC
)ことができます。
クイックフィックスの最適化
ユーザーが頻繁に遭遇する一般的なエラーの特定のサブセットにフォーカスするように、クイックフィックスを調整しました。活用したテクニックのいくつかを以下に示します:
- ファジーマッチング / セマンティック検索: スペルが間違ったテーブル名やカラム名に対して、リアルタイムで正しいテーブルを特定するために、Intelligent Search APIを活用しています。インテリジェント検索では、適切な結果を得るために最近使用されたテーブルや人気のテーブルを活用します。
- 修正を検証するための後処理: ユーザーに表示する前に、提案内容が適切なPythonやSQLであることを確実にするために、コードリンター(AntlrとLSP)を通じて生成された修正案を実行します。
-
ナンセンスな修正に対するガードレール: LLMは時に変数を同じもので置き換えたり(
"A = A"
)、行をコメントアウトしたりするような論理的ではない提案を生成します。提案内容が有用なものになるように、後処理の過程でこれらの修正案を除外します。 -
特定のエラーに対するカスタムの後処理:
"UNRESOLVED_COLUMN.WITH_SUGGESTION"
のようなエラーにおいては、提案されている修正内容が、関係のないあるいは不適切な修正ではなく、カラム名の未解決の問題に直接対応していることを検証します。 - SQL vs. Pythonのエラーに対する異なる戦略: SQLにおいては、リアルタイム検索を用いてテーブル名やカラム名のマッチングのようなスキーマを意識した修正にフォーカスする一方で、Pythonではアクティブなコードの文脈を分析することで、未定義の変数の特定や型のミスマッチの修正を強調しています。
これらの調整を通じて、受け入れ率において以下の増加を認めました:
これに加え、最適な最大待ち時間、アクティブな提案管理のパターン、キーボードショートカットの最適な実装方法の決定の助けとなった、追加のフィードバックを収集しました。これによって、内部の受け入れ率を25%まで改善することができました。
今後の改善
クイックフィックスによってどのようなエラーを自動で解決できるのかに関しての調整を継続していきます。以降のエンハンスでは、複数のエラーを一度に修正、タイピングしている途中でのエラー修正、SQLエディタでのサポート追加などが含まれる予定です。
すぐにDatabricksアシスタントを試しましょう!
Databricksアシスタントの実際を知るには、データパイプライン、SQLクエリー、データの可視化を構築するために、どのようにアシスタントを活用できるのかを見るためデモ動画をチェックしてください。データエンジニアのための Databricks Assistant のヒントとコツの記事をチェックして、あなたの開発生産性を増加させるために、どのようにDatabricksアシスタントを活用できるのかを学びましょう。