Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Semantyczne jądro wprowadza funkcje eksperymentalne w celu zapewnienia wczesnego dostępu do nowych, zmieniających się możliwości. Te funkcje umożliwiają użytkownikom eksplorowanie najnowocześniejszych funkcji, ale nie są one jeszcze stabilne i mogą być modyfikowane, przestarzałe lub usuwane w przyszłych wersjach.
Przeznaczenie funkcji eksperymentalnych
Atrybut Experimental służy do kilku kluczowych celów:
- Sygnały niestabilności — wskazuje, że funkcja wciąż ewoluuje i nie jest jeszcze gotowa do produkcji.
- zachęca do wczesnej opinii — umożliwia deweloperom testowanie i dostarczanie danych wejściowych przed w pełni ustabilizowaną funkcją.
- zarządza oczekiwaniami — zapewnia użytkownikom zrozumienie, że funkcje eksperymentalne mogą mieć ograniczoną pomoc techniczną lub dokumentację.
- ułatwia szybkie iterację — umożliwia zespołowi udoskonalanie i ulepszanie funkcji w oparciu o rzeczywiste użycie.
- Guides Contributors — pomaga opiekunom i współautorom zrozumieć, że dana funkcja podlega znaczącym zmianom.
Implikacje dla użytkowników
Korzystanie z funkcji eksperymentalnych wiąże się z pewnymi zagadnieniami:
- potencjalne zmiany łamiące zgodność — API, zachowanie lub całe funkcje mogą zmienić się bez wcześniejszego powiadomienia.
- Ograniczone wsparcie — zespół Semantic Kernel może zapewnić ograniczone wsparcie lub nie zapewnić wsparcia dla funkcji eksperymentalnych.
- problemy ze stabilnością — funkcje mogą być mniej stabilne i podatne na nieoczekiwane zachowanie lub problemy z wydajnością.
- niekompletna dokumentacja — funkcje eksperymentalne mogą mieć niekompletną lub nieaktualną dokumentację.
Pomijanie ostrzeżeń dotyczących funkcji eksperymentalnych na platformie .NET
W zestawie .NET SDK funkcje eksperymentalne generują ostrzeżenia kompilatora. Aby pominąć te ostrzeżenia w projekcie, dodaj odpowiednie identyfikatory diagnostyczne do pliku .csproj:
<PropertyGroup>
<NoWarn>$(NoWarn);SKEXP0001,SKEXP0010</NoWarn>
</PropertyGroup>
Każda funkcja eksperymentalna ma unikatowy kod diagnostyczny (SKEXPXXXX). Pełną listę można znaleźć w EXPERIMENTS.md.
Korzystanie z funkcji eksperymentalnych na platformie .NET
Na platformie .NET funkcje eksperymentalne są oznaczone przy użyciu atrybutu [Experimental]:
using System;
using System.Diagnostics.CodeAnalysis;
[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature
{
public void ExperimentalMethod()
{
Console.WriteLine("This is an experimental feature.");
}
}
Obsługa funkcji eksperymentalnych w innych zestawach SDK
- python i Java nie mają wbudowanego systemu funkcji eksperymentalnych, takiego jak .NET.
- Funkcje eksperymentalne w python mogą być oznaczone przy użyciu ostrzeżeń (np.
warnings.warn). - W Java deweloperzy zazwyczaj używają niestandardowych adnotacji do wskazywania funkcji eksperymentalnych.
Opracowywanie i współtworzenie funkcji eksperymentalnych
Oznaczanie funkcji jako eksperymentalnej
- Zastosuj atrybut
Experimentaldo klas, metod lub właściwości:
[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature { }
- Dołącz krótki opis wyjaśniający, dlaczego funkcja jest eksperymentalna.
- Użyj znaczących tagów jako drugiego argumentu, aby kategoryzować i śledzić funkcje eksperymentalne.
Najlepsze rozwiązania dotyczące kodowania i dokumentacji
- Przestrzegaj standardów kodowania — zachowaj konwencje kodowania Kernel Semantycznego.
- pisanie testów jednostkowych — zapewnianie podstawowej funkcjonalności i zapobieganie regresji.
-
Dokumentowanie wszystkich zmian — aktualizowanie odpowiedniej dokumentacji, w tym
EXPERIMENTS.md. - użyj usługi GitHub do dyskusji — otwórz problemy lub dyskusje w celu zebrania opinii.
- Rozważ użycie flag funkcji – tam, gdzie to stosowne, użyj flag funkcji, aby umożliwić wybór włączenia/wyłączenia.
Komunikacja zmian
- Jasno udokumentuj aktualizacje, poprawki lub zmiany powodujące niezgodność.
- Podaj wskazówki dotyczące migracji, jeśli funkcja ewoluuje.
- Oznacz odpowiednie zgłoszenia na GitHubie w celu śledzenia postępu.
Przyszłość funkcji eksperymentalnych
Funkcje eksperymentalne podążają jedną z trzech dróg.
- Przejście do stabilnej — jeśli funkcja jest dobrze odebrana i technicznie poprawna, może być promowana do wersji stabilnej.
- wycofanie & usuwanie — funkcje, które nie są zgodne z długoterminowymi celami, mogą zostać usunięte.
- Ciągłe eksperymentowanie — niektóre funkcje mogą pozostać w fazie eksperymentalnej na czas nieokreślony podczas iteracji.
Zespół jądra semantycznego stara się przekazywać informacje o eksperymentalnych aktualizacjach funkcji poprzez notatki o wydaniu i aktualizacje dokumentacji.
Angażuj się
Społeczność odgrywa kluczową rolę w kształtowaniu przyszłości cech eksperymentalnych. Prześlij opinię za pośrednictwem:
- Problemy GitHub — zgłaszaj usterki, prośby o ulepszenia lub podziel się obawami.
- dyskusje & pull requesty — uczestniczenie w dyskusjach i bezpośredni wkład w bazę kodu.
Streszczenie
- funkcje eksperymentalne umożliwiają użytkownikom testowanie i przekazywanie opinii na temat nowych funkcji w jądrze semantycznym.
- Mogą się one często zmieniać, mają ograniczoną obsługę i wymagają ostrożności podczas korzystania ze środowiska produkcyjnego.
-
Współautorzy powinni postępować zgodnie z najlepszymi rozwiązaniami, używać
[Experimental]poprawnie i prawidłowo dokumentować zmiany. - Użytkownicy mogą pomijać ostrzeżenia dla funkcji eksperymentalnych, ale powinni być na bieżąco z ich ewolucją.
Aby uzyskać najnowsze informacje, sprawdź EXPERIMENTS.md.