セマンティック カーネルには、進化し続ける新しい機能への早期アクセスを提供する実験的な機能が導入されています。 これらの機能を使用すると、ユーザーは最先端の機能を探索できますが、まだ安定しておらず、将来のリリースで変更、非推奨、または削除される可能性があります。
試験的特徴の目的
Experimental 属性は、いくつかの重要な目的を果たします。
- 不安定な を通知 – 機能がまだ進化しており、まだ運用環境に対応されていないことを示します。
- 早期フィードバックの を促進 – 機能が完全に安定する前に、開発者が入力をテストして提供できるようにします。
- 期待 を管理する – 試験的な機能のサポートやドキュメントが制限されている可能性があることをユーザーが理解できるようにします。
- 迅速な反復 を容易にする – チームは、実際の使用に基づいて機能を調整および改善できます。
- 共同作成者ガイド – 保守担当者と共同作成者が、この機能が大幅に変更される可能性があることを認識するのに役立ちます。
ユーザーへの影響
試験的な機能の使用には、次の考慮事項があります。
- 潜在的な破壊的変更 – API、動作、または機能全体は、事前の通知なしに変更される可能性があります。
- 制限付きサポート – セマンティック カーネル チームは、試験的な機能に対して制限付きまたはサポートを提供しない場合があります。
- 安定性の懸念 – 機能の安定性が低下し、予期しない動作やパフォーマンスの問題が発生する可能性があります。
- 不完全なドキュメント – 試験的な機能には、不完全なドキュメントや古いドキュメントが含まれる場合があります。
.NET での実験用機能の警告の抑制
.NET SDK では、試験的な機能によってコンパイラの警告が生成されます。 プロジェクトでこれらの警告を抑制するには、関連する診断 ID を .csproj ファイルに追加します。
<PropertyGroup>
<NoWarn>$(NoWarn);SKEXP0001,SKEXP0010</NoWarn>
</PropertyGroup>
実験用の各機能には、一意の診断コード (SKEXPXXXX) があります。 完全なリストは EXPERIMENTS.mdで見つけることができます。
.NET での試験的機能の使用
.NET では、実験用機能は [Experimental] 属性を使用してマークされます。
using System;
using System.Diagnostics.CodeAnalysis;
[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature
{
public void ExperimentalMethod()
{
Console.WriteLine("This is an experimental feature.");
}
}
その他の SDK での試験的機能のサポート
- Python と Java には、.NET のような試験的な機能システムが組み込まれていません。
-
Python の試験的な機能は、警告 (
warnings.warnなど) を使用してマークされる場合があります。 - Javaでは、開発者は通常、カスタム注釈を使用して試験的な機能を示します。
実験機能の開発と貢献
機能を試験段階としてマークする
-
Experimental属性をクラス、メソッド、またはプロパティに適用します。
[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature { }
- 機能が試験的である理由を説明する簡単な説明を含めます。
- 実験用の特徴を分類して追跡するには、2 番目の引数として意味のあるタグを使用します。
コーディングとドキュメントのベスト プラクティス
- コーディング標準の に従う - セマンティック カーネルのコーディング規則を維持します。
- 単体テストの作成 – 基本的な機能を確保し、回帰を防ぎます。
-
ドキュメントのすべての変更 –
EXPERIMENTS.mdを含む関連ドキュメントを更新します。 - ディスカッション に GitHub を使用する – 問題やディスカッションを開いてフィードバックを収集します。
- 機能フラグの を検討します。必要に応じて、機能フラグを使用してオプトイン/オプトアウトを許可します。
変更の伝達
- 更新、修正、または重大な変更を明確に文書化します。
- 機能が進化している場合は、移行ガイダンスを提供します。
- 進行状況を追跡するために、関連する GitHub の問題にタグを付けます。
実験機能の将来
試験的な機能は、次の 3 つのパスのいずれかに従います。
- 安定した への卒業 – 機能が十分に受け入れられて技術的に健全な場合は、安定に昇格される可能性があります。
- 廃止 & 削除 – 長期的な目標に合わない機能が削除される可能性があります。
- 継続的実験 – 一部の機能は、反復処理中に無期限に試験的な状態を維持する可能性があります。
セマンティック カーネル チームは、リリース ノートとドキュメントの更新プログラムを通じて試験的な機能更新プログラムを伝達するよう努めています。
参加すること
コミュニティは、実験機能の未来を形成する上で重要な役割を果たします。 次の方法でフィードバックを提供します。
- GitHub の問題 – バグの報告、改善の依頼、懸念事項の共有を行います。
- ディスカッション & PR – ディスカッションに参加し、コードベースに直接貢献します。
概要
- 試験的な機能、ユーザーはセマンティック カーネルの新機能をテストしてフィードバックを提供できます。
- 頻繁に変更、サポートが制限され、運用環境で使用する場合は注意が必要になる場合があります。
-
共同作成者は、ベスト プラクティスに従い、
[Experimental]を正しく使用し、変更を適切に文書化する必要があります。 - ユーザーは実験用機能の警告 を抑制できますが、その進化に関しては最新の情報を維持する必要があります。
最新の詳細については、EXPERIMENTS.mdを確認してください。