Auf Englisch lesen

Teilen über


Experimentelle Features im semantischen Kernel

Auswählen einer Programmiersprache

Der semantische Kernel führt experimentelle Features ein, um frühzeitigen Zugriff auf neue, sich entwickelnde Funktionen zu ermöglichen. Mit diesen Features können Benutzer modernste Funktionen erkunden, aber sie sind noch nicht stabil und können in zukünftigen Versionen geändert, veraltet oder entfernt werden.

Zweck experimenteller Features

Das attribut Experimental dient mehreren wichtigen Zwecken:

  • Signalinstabilität – Gibt an, dass sich ein Feature noch weiterentwickelt und noch nicht produktionsbereit ist.
  • ermutigt frühzeitiges Feedback – Ermöglicht Entwicklern das Testen und Bereitstellen von Eingaben, bevor ein Feature vollständig stabilisiert wird.
  • verwaltet Erwartungen – Stellt sicher, dass Benutzer verstehen, dass experimentelle Features eingeschränkten Support oder Dokumentationen haben können.
  • erleichtert schnelle Iteration – Ermöglicht es dem Team, Features basierend auf der realen Nutzung zu verfeinern und zu verbessern.
  • Anleitungen für Mitwirkende – Hilft Betreuern und Mitwirkenden zu erkennen, dass das Feature erheblichen Änderungen unterliegt.

Auswirkungen auf Benutzer

Die Verwendung experimenteller Features bietet bestimmte Überlegungen:

  • Potenzielle Breaking Changes – APIs, Verhalten oder ganze Funktionen können sich ohne vorherige Ankündigung ändern.
  • eingeschränkter Support – Das Semantische Kernel-Team kann eingeschränkte oder keine Unterstützung für experimentelle Features bieten.
  • Stabilitätsprobleme – Features sind möglicherweise weniger stabil und anfällig für unvorhergesehenes Verhalten oder Leistungsprobleme.
  • Unvollständige Dokumentation – Experimentelle Features verfügen möglicherweise über unvollständige oder veraltete Dokumentationen.

Unterdrücken experimenteller Featurewarnungen in .NET

Im .NET SDK generieren experimentelle Features Compilerwarnungen. Um diese Warnungen in Ihrem Projekt zu unterdrücken, fügen Sie ihrer .csproj Datei die relevanten Diagnose-IDs hinzu:

XML
<PropertyGroup>
  <NoWarn>$(NoWarn);SKEXP0001,SKEXP0010</NoWarn>
</PropertyGroup>

Jedes experimentelle Feature verfügt über einen eindeutigen Diagnosecode (SKEXPXXXX). Die vollständige Liste finden Sie in EXPERIMENTS.md.

Verwenden experimenteller Features in .NET

In .NET werden experimentelle Features mit dem attribut [Experimental] markiert:

C#
using System;
using System.Diagnostics.CodeAnalysis;

[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature 
{
    public void ExperimentalMethod() 
    {
        Console.WriteLine("This is an experimental feature.");
    }
}

Unterstützung für experimentelle Features in anderen SDKs

  • Python und Java verfügen nicht über ein integriertes experimentelles Featuresystem wie .NET.
  • Experimentelle Features in Python- können mit Warnungen (z. B. warnings.warn) gekennzeichnet werden.
  • In Java-verwenden Entwickler in der Regel benutzerdefinierte Anmerkungen, um experimentelle Features anzugeben.

Entwickeln und Mitwirken an Experimentalfunktionen

Kennzeichnen eines Features als experimentell

  • Wenden Sie das attribut Experimental auf Klassen, Methoden oder Eigenschaften an:
C#
[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature { }
  • Fügen Sie eine kurze Beschreibung ein, in der erläutert wird, warum das Feature experimentell ist.
  • Verwenden Sie aussagekräftige Tags als zweites Argument, um experimentelle Features zu kategorisieren und nachzuverfolgen.

Bewährte Methoden für Codierung und Dokumentation

  • den Codierungsstandards folgen – verwalten Sie die Codierungskonventionen des semantischen Kernels.
  • Write Unit Tests – Stellen Sie die grundlegende Funktionalität sicher und verhindern Sie Regressionen.
  • Alle Änderungen dokumentieren – Aktualisieren Sie relevante Dokumentation, einschließlich EXPERIMENTS.md.
  • GitHub für Diskussionen verwenden – Öffnen Sie Probleme oder Diskussionen, um Feedback zu sammeln.
  • Berücksichtigen Sie Feature Flags – Verwenden Sie, wo angebracht, Feature Flags, um ein Opt-In/Opt-Out zu ermöglichen.

Kommunizieren von Änderungen

  • Dokumentieren Sie Updates, Korrekturen oder wesentliche Änderungen klar.
  • Stellen Sie Migrationsleitfaden bereit, wenn sich das Feature weiterentwickelt.
  • Markieren Sie die relevanten GitHub-Probleme zum Nachverfolgen des Fortschritts.

Zukunft experimenteller Features

Experimentelle Features folgen einem von drei Pfaden:

  1. Überführung in stabile Version – Wenn ein Feature gut aufgenommen wird und technisch einwandfrei ist, kann es in die stabile Version überführt werden.
  2. Abkündigung & Entfernung – Features, die nicht mit den langfristigen Zielen übereinstimmen, können entfernt werden.
  3. kontinuierliche Experimente – Einige Features bleiben möglicherweise unbegrenzt experimentell, während sie weiterentwickelt werden.

Das Semantik kernel-Team bemüht sich, experimentelle Funktionsupdates über Versionshinweise und Dokumentationsupdates zu kommunizieren.

Beteiligt werden

Die Gemeinschaft spielt eine entscheidende Rolle bei der Gestaltung der Zukunft experimenteller Merkmale. Geben Sie Feedback über:

  • GitHub-Probleme – Fehler melden, Verbesserungen anfordern oder Bedenken teilen.
  • Diskussionen & PRs – Beteiligen Sie sich an Diskussionen und tragen Sie direkt zur Codebasis bei.

Zusammenfassung

  • Experimentelle Features Benutzern das Testen und Bereitstellen von Feedback zu neuen Funktionen im semantischen Kernel ermöglichen.
  • Sie können sich häufigändern, eingeschränkte Unterstützung haben und Vorsicht erfordern, wenn sie in der Produktion verwendet werden.
  • Mitwirkenden sollten bewährte Methodenbefolgen, [Experimental] richtig verwenden und änderungen ordnungsgemäß dokumentieren.
  • Benutzer können Warnungen für experimentelle Features unterdrücken, sollten jedoch über ihre Entwicklung informiert bleiben.

Überprüfen Sie EXPERIMENTS.md, um die neuesten Details zu erhalten.