Erweitern von Genie Code mit Agentenfähigkeiten

Genie Code wird mit integrierten Fähigkeiten für allgemeine Azure Databricks Workflows ausgeliefert: Schreiben von Code in Notizbüchern, Erkunden von Daten im Unity-Katalog, Erstellen von Dashboards, Erstellen von Pipelines und Arbeiten mit MLflow. Erstellen Sie benutzerdefinierte Fähigkeiten, um Genie Code mit speziellen Funktionen für die domänenspezifischen Aufgaben Ihres Teams zu erweitern.

Was sind Genie Code-Fähigkeiten?

Erstellen Sie Fähigkeiten, um Genie Code mit spezialisierten Fähigkeiten zu erweitern. Fähigkeiten folgen dem offenen Standard der Agentenfähigkeiten. Fähigkeitenpakete bündeln domänenspezifisches Wissen und Arbeitsabläufe, die der Genie-Code bei Bedarf laden kann, um spezifische Aufgaben durchzuführen. Fähigkeiten können Anleitungen, bewährte Methoden, wiederverwendbaren Code und ausführbare Skripts umfassen.

Fähigkeiten sollten auf domänenspezifische Aufgaben zugeschnitten sein. Mit Fähigkeiten können Sie einen größeren Kontext (z. B. Skripts, Beispiele und andere Ressourcen) für einen Vorgang bereitstellen, als Sie mit Anweisungen arbeiten können. Im Gegensatz zu benutzerdefinierten Anweisungen, die global angewendet werden, werden Fähigkeiten automatisch und nur im relevanten Kontext geladen. Genie Code lädt Fähigkeiten automatisch, wenn sie relevant sind, anhand Ihrer Anfrage und der Beschreibung der jeweiligen Fähigkeit. Sie können die Fähigkeiten auch manuell aufrufen, indem @ Sie sie erwähnen. Dadurch wird ein effizientes Kontextfenster beibehalten und die Notwendigkeit reduziert, denselben Kontext über mehrere Chats hinweg bereitzustellen.

Es gibt zwei Arten von Fähigkeiten:

  • Arbeitsbereichskompetenzen: Für jeden im Arbeitsbereich verfügbar. Arbeitsbereichsadministratoren können Arbeitsbereichskenntnisse erstellen und anderen Zugriff auf den Kompetenzordner gewähren, um mehr hinzuzufügen. Verwenden Sie Arbeitsbereichskenntnisse, um organisationsweite Standards zu erzwingen, eine konsistente Ausgabe für Benutzer bereitzustellen (z. B. eine PII-Handhabungskompetenz, die vertrauliche Spalten maskiert), oder verschiedene Teams bedienen (z. B. Pipelinevorlagen für Dateningenieure und Modellschulungs-Playbooks für ML-Plattformbenutzer).
  • Benutzerkenntnisse: Nur für Sie verfügbar. Verwenden Sie Benutzerkenntnisse für persönliche Einstellungen wie bevorzugte Bibliotheken, Codierungsstil oder Rollen- und Hintergrundkontext. Benutzerkenntnisse sind auch nützlich für die Prototyperstellung einer Fähigkeit, bevor sie auf Arbeitsbereichsebene gefördert wird.

Erstellen einer Qualifikation

Standardmäßig befinden sich die Fähigkeiten im .assistant/skills/ Ordner. Jede Fähigkeit muss über einen eigenen Ordner und eine SKILL.md Datei in diesem Ordner verfügen. Der Standort hängt vom Qualifikationstyp ab:

  • Arbeitsbereichsfertigkeiten: Workspace/.assistant/skills/
  • Benutzerkenntnisse: /Users/{username}/.assistant/skills/

So erstellen Sie eine neue Fähigkeit:

  1. Erstellen Sie einen neuen Kompetenzordner auf dem entsprechenden Weg für Ihren Qualifikationstyp.

    Nach der Erstellung können Sie im Bereich "Genie Code" schnell auf Ihren Kompetenzordner zugreifen. Klicken Sie auf das Zahnrad-Symbol Einstellungen, klicken Sie dann auf Symbol „Pfeil-hoch“ Skill-Ordner öffnen.

  2. Erstellen Sie einen dedizierten Ordner für Ihre Fähigkeiten im Kompetenzordner. Jede Fähigkeit muss über einen eigenen Ordner verfügen. Beispiel:

    Workspace/.assistant/skills/
    └── ml-workflows/
        └── SKILL.md
    
    /Users/{username}/.assistant/skills/
    └── personal-workflows/
        └── SKILL.md
    
  3. Erstellen Sie in Ihrem Skill-Ordner eine SKILL.md-Datei. Diese Datei ist erforderlich und definiert die Fähigkeit. Fähigkeiten folgen den Spezifikationen von Agent Skills.

  4. Fügen Sie den erforderlichen Frontmatter für Ihren Skill hinzu:

    ---
    name: skill-name
    description: A description of what this skill does and when to use it.
    ---
    
  5. Fügen Sie die Qualifikationsanweisungen im Markdown-Format nach dem Frontmatter hinzu. Es wird empfohlen, die folgenden Abschnitte einzuschließen:

    • Schrittweise Anleitungen: Klare Verfahrensanleitungen
    • Beispiele: Beispieleingaben und erwartete Ausgaben
    • Randfälle: Häufige Variationen und Ausnahmen
  6. (Optional) Für komplexe Fähigkeiten können Sie zusätzliche Ressourcen bereitstellen und darauf verweisen.

    • Skripts, die ausführbaren Code enthalten, den der Agent ausführen kann.
    • Dateien, die zusätzliche Dokumentation enthalten, auf die verwiesen werden soll, z. B. bewährte Methoden und Vorlagen.

    Wenn Sie auf andere Dateien verweisen, verwenden Sie relative Pfade aus der Stammkompetenz.

    Beispielsweise könnte eine maschinelle Lern-Workflow-Fähigkeit im Arbeitsbereich und eine persönliche Workflow-Fähigkeit die folgende Struktur haben:

    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 nimmt Ihre Fähigkeiten automatisch auf, wenn Sie es das nächste Mal verwenden. Sie können auch @ Fähigkeiten erwähnen, um sicherzustellen, dass Genie Code sie verwendet.

Wenn du eine bestehende Fähigkeit bearbeitest, starte einen neuen Chat, um deine Änderungen anzuwenden. Änderungen werden in aktiven Chats nicht übernommen. Wenn ein Skill immer noch veraltet erscheint, etwa indem er altes Verhalten oder eine veraltete Beschreibung anzeigt, laden Sie die Browser-Registerkarte mit einem Hard-Refresh neu, um zwischengespeicherte Skill-Metadaten zu löschen.

Fähigkeiten aus einem anderen Ordner hinzufügen

Standardmäßig lädt Genie Code Skills aus den .assistant/skills/ Ordnern. Du kannst auch zusätzliche Fertigkeitsordner registrieren, sodass Skills, die anderswo in deinem Arbeitsbereich gespeichert sind, verfügbar sind, ohne sie in .assistant/skills/zu verschieben. Das ist nützlich, wenn du Skills in einem Databricks-Git-Ordner neben dem Projektcode aufbewahrst, auf den sie sich beziehen.

Der Ordner, den du registrierst, muss ein übergeordneter Ordner sein, der Skill-Unterordner enthält, mit derselben Struktur wie .assistant/skills/. Jede Fähigkeit benötigt weiterhin einen eigenen Unterordner mit einer SKILL.md Datei. Registrieren Sie keinen Ordner, der direkt eine SKILL.md Datei enthält.

Registrieren Sie beispielsweise /Users/{username}/my-skills/, wenn es die folgende Struktur hat:

/Users/{username}/my-skills/
├── etl-checks/
│   └── SKILL.md
└── release-notes/
    └── SKILL.md

Um einen zusätzlichen Skill-Ordner zu registrieren:

  1. Im Genie-Code-Menü klicke auf Zahnrad-Symbol. Einstellungen, um die Fertigkeiteneinstellungen zu öffnen.
  2. In der Reihe zum Hinzufügen einer Fähigkeit gibst du einen Arbeitsbereichspfad ein, der mit / (zum Beispiel ), /Users/{username}/my-skillsbeginnt, oder benutze den Durchsuchen-Button, um einen Ordner auszuwählen. Das Feld akzeptiert entweder einen Skill-Namen oder einen Ordnerpfad (Skill name or /path/to/skills/folder).
  3. Klicken Sie auf Ordner hinzufügen.

Registrierte Ordner erscheinen in der Fertigkeitenliste neben deinen Standardfähigkeiten, und du kannst jede Fertigkeit mit ihrem Umschalter ein- oder ausschalten. Deine Standardordner .assistant/skills/ bleiben verfügbar. Zusätzliche Ordner wirken additiv.

Bewährte Methoden für Schreibkompetenzen

Befolgen Sie die folgenden Richtlinien, um effektive Skills zu schreiben:

  • Wählen Sie den geeigneten Qualifikationstyp aus. Verwenden Sie Arbeitsbereichskenntnisse, um gemeinsame Standards zu codieren (z. B. PII-Handhabung, Benennungskonventionen oder teamspezifische Vorlagen), damit jeder Benutzer eine konsistente Ausgabe erhält. Verwenden Sie Benutzerkenntnisse für persönliche Vorlieben und prototypieren Sie eine Fähigkeit, bevor Sie sie für den Arbeitsbereich bewerben.
  • Halten Sie Fähigkeiten fokussiert. Fähigkeiten funktionieren am besten, wenn sie sich auf eine einzelne Aufgabe oder einen einzelnen Workflow konzentrieren. Ein eingegrenzter Anwendungsbereich erleichtert Genie Code die Erkennung, wenn eine Fähigkeit zutrifft.
  • Verwenden Sie klare Namen und Beschreibungen. Ein präziser, beschreibender Name und eine Zusammenfassung helfen Genie Code dabei, die richtige Fähigkeit zur richtigen Anforderung zu finden.
  • Seien Sie explizit und beispielgesteuert. Beschreiben Sie Workflows schritt für Schritt, und fügen Sie konkrete Beispiele oder Muster ein, die Genie Code wiederverwenden kann.
  • Vermeiden Sie unnötigen Kontext. Geben Sie nur Informationen an, die für den Vorgang erforderlich sind. Zusätzliche Details können es erschweren, Fähigkeiten zuverlässig anzuwenden.
  • Über die Zeit iterieren. Behandeln Sie Fähigkeiten als lebendige Workflows. Kleine Updates, die auf der realen Nutzung basieren, können die Ergebnisse erheblich verbessern.
  • Autorfähigkeiten mit Genie Code. Verwenden Sie Genie Code, um Fähigkeiten zu entwerfen und zu verfeinern. Testen Sie neue oder aktualisierte Fähigkeiten für repräsentative Aufgaben, um zu finden, wo der Agent kämpft, und aktualisieren Sie dann die Anweisungen, um diese Lücken zu schließen.
  • Trennen Sie Anleitungen von der Automatisierung. Verwenden Sie Markdown, um Absichten und bewährte Methoden und Skripts für wiederholbare Aktionen zu erläutern. Das Unterscheiden dieser Bedenken erleichtert das Verwalten und Wiederverwenden von Kenntnissen.
  • Verwalteten Sie Ihre Fähigkeiten mit Versionskontrolle. Sichern Sie Ihren Fähigkeitenordner mit Git-Ordnern von Databricks, um Änderungen nachzuverfolgen, mit Teamkollegen zusammenzuarbeiten und bei Bedarf ein Rollback auszuführen. Du kannst diesen Ordner überall in deinem Arbeitsbereich speichern und als zusätzlichen Skill-Ordner registrieren, sodass du ihn nicht in .assistant/skills/klonen musst.

Weitere Ressourcen