Ler em inglês

Partilhar via


Recursos experimentais no núcleo semântico

O Semantic Kernel introduz recursos experimentais para fornecer acesso antecipado a recursos novos e em evolução. Esses recursos permitem que os usuários explorem funcionalidades de ponta, mas ainda não são estáveis e podem ser modificados, preteridos ou removidos em versões futuras.

Finalidade das Características Experimentais

O atributo Experimental serve a vários propósitos principais:

  • Signals Instability – Indica que um recurso ainda está evoluindo e ainda não está pronto para produção.
  • Incentiva o feedback antecipado – Permite que os desenvolvedores testem e forneçam informações antes que um recurso seja totalmente estabilizado.
  • gerencia expectativas – Garante que os usuários entendam que os recursos experimentais podem ter suporte ou documentação limitados.
  • Facilita a iteração rápida – Permite que a equipa refine e melhore os recursos com base na utilização no mundo real.
  • Guides Contributors – Ajuda os mantenedores e colaboradores a reconhecer que o recurso está sujeito a alterações significativas.

Implicações para os utilizadores

O uso de recursos experimentais vem com certas considerações:

  • Alterações Potencialmente Interrompedoras – APIs, comportamento ou funcionalidades inteiras podem mudar sem aviso prévio.
  • Suporte Limitado – A equipa do Semântico Kernel pode fornecer suporte limitado ou nenhum para funcionalidades experimentais.
  • Preocupações com a estabilidade – Os recursos podem ser menos estáveis e propensos a problemas inesperados de comportamento ou desempenho.
  • Documentação incompleta – Os recursos experimentais podem ter documentação incompleta ou desatualizada.

Ocultação de Avisos de Recursos Experimentais no .NET

No SDK do .NET, os recursos experimentais geram avisos do compilador. Para suprimir esses avisos em seu projeto, adicione as IDs de diagnóstico relevantes ao seu arquivo .csproj:

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

Cada recurso experimental tem um código de diagnóstico exclusivo (SKEXPXXXX). A lista completa pode ser consultada em EXPERIMENTS.md.

Usando recursos experimentais no .NET

No .NET, os recursos experimentais são marcados usando o atributo [Experimental]:

using System;
using System.Diagnostics.CodeAnalysis;

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

Suporte a recursos experimentais em outros SDKs

  • Python e Java não têm um sistema de recursos experimentais integrado como o .NET.
  • Recursos experimentais em Python podem ser marcados usando avisos (por exemplo, warnings.warn).
  • No Java, os desenvolvedores normalmente usam anotações personalizadas para indicar recursos experimentais.

Desenvolver e Contribuir para Funcionalidades Experimentais

Marcando um recurso como experimental

  • Aplique o atributo Experimental a classes, métodos ou propriedades:
[Experimental("SKEXP0101", "FeatureCategory")]
public class NewFeature { }
  • Inclua uma breve descrição explicando por que o recurso é experimental.
  • Use tags significativas como o segundo argumento para categorizar e rastrear recursos experimentais.

Práticas recomendadas de codificação e documentação

  • Siga os Padrões de Codificação – Mantenha as convenções de codificação do Kernel Semântico.
  • Escreva Testes Unitários – Garanta a funcionalidade básica e evite regressões.
  • Documentar todas as alterações – Atualizar a documentação relevante, incluindo EXPERIMENTS.md.
  • Use o GitHub para discussões – Abra questões ou discussões para coletar feedback.
  • Considere os sinalizadores de recursos – Quando apropriado, use sinalizadores de recursos para permitir a aceitação/desativação.

Comunicar alterações

  • Documente de forma clara as atualizações, correções ou alterações disruptivas.
  • Forneça orientação de migração se o recurso estiver evoluindo.
  • Marque os problemas relevantes do GitHub para acompanhar o progresso.

Futuro dos recursos experimentais

As características experimentais seguem um de três caminhos:

  1. Graduação para estável – Se um recurso for bem recebido e tecnicamente sólido, ele pode ser promovido a estável.
  2. Descontinuação & Remoção – Recursos que não se alinham com objetivos de longo prazo podem ser removidos.
  3. Experimentação Contínua – Alguns recursos podem permanecer experimentais indefinidamente enquanto estão a ser iterados.

A equipe do Semantic Kernel se esforça para comunicar atualizações experimentais de recursos por meio de notas de versão e atualizações de documentação.

Envolver-se

A comunidade desempenha um papel crucial na definição do futuro das características experimentais. Forneça feedback através de:

  • Problemas do GitHub – Reporte bugs, solicite melhorias ou compartilhe preocupações.
  • Discussões & RPs – Participe de discussões e contribua diretamente para a base de código.

Resumo

  • Recursos experimentais permitem que os usuários testem e forneçam feedback sobre novos recursos no Kernel Semântico.
  • Eles podem mudar com frequência, têm suporte limitado e exigem cautela quando usados na produção.
  • Os colaboradores devem seguir as melhores práticas, usar [Experimental] corretamente e documentar as alterações corretamente.
  • Os usuários podem suprimir avisos para recursos experimentais, mas devem permanecer atualizados sobre sua evolução.

Para obter os detalhes mais recentes, consulte EXPERIMENTS.md.