エージェント スキルを使用して Genie Code を拡張する

Genie Code には、ノートブックでのコードの記述、Unity カタログでのデータの探索、ダッシュボードの構築、パイプラインの作成、MLflow の使用など、一般的なAzure Databricks ワークフローの組み込みスキルが付属しています。 チームのドメイン固有のタスクに特化した機能を使用して Genie Code を拡張するためのカスタム スキルを作成します。 このページでは、それらを作成して最適化する方法について説明します。

スキルとは

特殊な機能を使用して Genie Code を拡張するスキルを作成します。 スキルは 、エージェント スキルのオープン 標準に従います。 特定のタスクの実行に関連する場合に Genie Code が読み込むことができる、ドメイン固有の知識とワークフローをスキル パッケージ化します。 スキルには、ガイダンス、ベスト プラクティス、再利用可能なコード、実行可能スクリプトを含めることができます。

スキルは、ドメイン固有のタスクに合わせて調整する必要があります。 スキルを使用すると、指示よりもタスクのコンテキスト (スクリプト、例、その他のリソースなど) を提供できます。 グローバルに適用される カスタム命令とは異なり、スキルは自動的に読み込まれ、関連するコンテキストでのみ読み込まれます。 Genie Code は、要求とスキルの説明に基づいて、関連する場合にスキルを自動的に読み込みます。 スキルに @ メンションを付けると手動で呼び出すこともできます。 これにより、効率的なコンテキスト ウィンドウが維持され、複数のチャットで同じコンテキストを提供する必要性が軽減されます。

スキルには次の 2 種類があります。

  • ワークスペース スキル: ワークスペース内のすべてのユーザーが使用できます。 ワークスペース管理者は、ワークスペースのスキルを作成し、他のユーザーにスキル フォルダーへのアクセス権を付与して、さらに追加することができます。 ワークスペース スキルを使用して、組織全体の標準を適用し、ユーザー間で一貫した出力を提供するか (たとえば、機密性の高い列をマスクする PII 処理スキル)、さまざまなチーム (データ エンジニア向けのパイプライン テンプレート、ML プラットフォーム ユーザー向けのモデル トレーニング プレイブックなど) にサービスを提供します。
  • ユーザー スキル: 自分だけが使用できます。 優先ライブラリ、コーディング スタイル、ロールやバックグラウンド コンテキストなど、個人の好みに合わせてユーザー スキルを使用します。 ユーザー スキルは、ワークスペース レベルに昇格させる前にスキルのプロトタイプを作成する場合にも役立ちます。

スキルの作成

スキルは、 .assistant/skills/ ディレクトリに格納されます。 各スキルには、独自のフォルダーと、そのフォルダー内の SKILL.md ファイルが必要です。 場所はスキルの種類によって異なります。

  • ワークスペースのスキル: Workspace/.assistant/skills/
  • ユーザー スキル: /Users/{username}/.assistant/skills/

新しいスキルを作成するには:

  1. スキルの種類に適したパスに新しいスキル フォルダーを作成します。

    作成後、Genie Code パネルでスキル フォルダーにすばやくアクセスできます。 歯車 アイコン をクリックして、[設定] を選択し、矢印 アイコンをクリックして、スキルフォルダーを開きます

  2. スキル フォルダー内にスキル専用のフォルダーを作成します。 各スキルには、独自のフォルダーが必要です。 例えば次が挙げられます。

    Workspace/.assistant/skills/
    └── ml-workflows/
        └── SKILL.md
    
    /Users/{username}/.assistant/skills/
    └── personal-workflows/
        └── SKILL.md
    
  3. スキル フォルダー内に、 SKILL.md ファイルを作成します。 このファイルは必須であり、スキルを定義します。 スキルは エージェント スキルの仕様に従います。

  4. スキルに必要なフロントマターを追加します。

    ---
    name: skill-name
    description: A description of what this skill does and when to use it.
    ---
    
  5. フロントマッターの後に Markdown 形式のスキル命令を追加します。 次のセクションを含めるのが推奨されます。

    • ステップ バイ ステップの手順: 手順のガイダンスを明確にする
    • 例: サンプル入力と予想される出力
    • エッジ ケース: 一般的なバリエーションと例外
  6. (省略可能)より複雑なスキルを持つ場合は、追加のリソースを提供して参照できます。

    • エージェントが実行できる実行可能コードを含むスクリプト。
    • ベスト プラクティスやテンプレートなど、参照する追加のドキュメントを含むファイル。

    他のファイルを参照する場合は、ルート スキルの相対パスを使用します。

    たとえば、ワークスペース機械学習ワークフロー スキルと個人用ワークフロー スキルの構造は次のようになります。

    Workspace/.assistant/skills/
    ├── ml-workflows/
       ├── SKILL.md                # Workflow overview and best practices
       ├── training-patterns.md    # Standard ML training patterns
       └── scripts/
             └── model-deploy.py   # Model deployment automation
    
    /Users/{username}/.assistant/skills/
    ├── personal-workflows/
       ├── SKILL.md                # Workflow overview and best practices
       ├── etl-patterns.md         # Personal ETL best practices
       ├── dashboard-templates.md   # Reusable dashboard patterns
       └── scripts/
             └── pipeline-setup.sh   # Environment setup scripts
    

Genie Code は、次回使用するときに自動的にスキルを習得します。 また、スキル @ メンションして、Genie Code でスキルが使用されるようにすることもできます。

既存のスキルを編集するときは、新しいチャット スレッドを開始して変更を適用します。 編集はアクティブなスレッドでは有効になりません。 古い動作や古い説明の表示など、スキルが古い状態のままである場合は、ブラウザー タブをハード更新して、キャッシュされたスキル メタデータをクリアします。

ベスト プラクティス

効果的なスキルを記述するには、次のガイドラインに従います。

  • 適切なスキルの種類を選択します。 ワークスペース スキルを使用して共有標準 (PII の処理、名前付け規則、チーム固有のテンプレートなど) を体系化し、すべてのユーザーが一貫した出力を得るようにします。 個人の好みに合わせてユーザー スキルを使用し、ワークスペースに昇格させる前にスキルのプロトタイプを作成します。
  • スキルに集中する。 スキルは、1 つのタスクまたはワークフローに集中する場合に最適です。 スコープを狭くすると、Genie Code でスキルが適用されるタイミングを簡単に認識できます。
  • 明確な名前と説明を使用します。 簡潔でわかりやすい名前と概要は、Genie Code が適切なスキルを適切な要求に一致させるのに役立ちます。
  • 明示的で、例を用いる。 ワークフローを段階的に説明し、Genie Code で再利用できる具体的な例やパターンを含めます。
  • 不要なコンテキストを避けます。 タスクに必要な情報のみを含めます。 余分な詳細は、スキルを確実に適用するのが難しくなる可能性があります。
  • 時間をかけて反復処理する。 スキルを生きたワークフローとして扱います。 実際の使用状況に基づく小さな更新によって、結果が大幅に向上する可能性があります。
  • Genie Code を使用してスキルを作成します。 Genie Code を使用して、スキルのドラフトと調整を行います。 代表的なタスクに関する新しいスキルまたは更新されたスキルをテストして、エージェントが苦労する場所を見つけ、それらのギャップを埋めるために指示を更新します。
  • ガイダンスと自動化を分離します。 Markdown を使用して、意図とベスト プラクティス、および反復可能なアクションのスクリプトについて説明します。 これらの懸念事項を明確に保つことで、スキルの維持と再利用が容易になります。
  • スキルをバージョン管理する。 Databricks Git フォルダーを使用してスキル フォルダーに戻り、変更を追跡し、チームメイトと共同作業を行い、必要に応じロールバックします。

その他のリソース