Estrutura do Semantic Kernel Agent (experimental)

Aviso

O Semantic Kernel Agent Framework é experimental, ainda está em desenvolvimento e está sujeito a alterações.

A Estrutura do Agente do Kernel Semântico fornece uma plataforma dentro do ecossistema do Kernel Semântico que permite a criação de agentes de IA e a capacidade de incorporar padrões agenciais em qualquer aplicativo com base nos mesmos padrões e recursos que existem na estrutura principal do Kernel Semântico.

O que é um agente de IA?

Um agente de IA é uma entidade de software projetada para executar tarefas de forma autônoma ou semiautônoma, recebendo entradas, processando informações e tomando ações para atingir metas específicas.

Os agentes podem enviar e receber mensagens, gerando respostas usando uma combinação de modelos, ferramentas, entradas humanas ou outros componentes personalizáveis.

Os agentes são projetados para trabalhar de forma colaborativa, permitindo fluxos de trabalho complexos interagindo uns com os outros. O Agent Framework permite a criação de agentes simples e sofisticados, aprimorando a modularidade e a facilidade de manutenção

Quais problemas os agentes de IA resolvem?

Os agentes de IA oferecem várias vantagens para o desenvolvimento de aplicativos, principalmente ao permitir a criação de componentes modulares de IA capazes de colaborar para reduzir a intervenção manual em tarefas complexas. Os agentes de IA podem operar de forma autônoma ou semiautônoma, tornando-os ferramentas poderosas para uma variedade de aplicações.

Aqui estão alguns dos principais benefícios:

  • Componentes modulares: permite que os desenvolvedores definam vários tipos de agentes para tarefas específicas (por exemplo, coleta de dados, interação de API ou processamento de linguagem natural). Isso facilita a adaptação do aplicativo à medida que os requisitos evoluem ou novas tecnologias surgem.

  • Colaboração: Vários agentes podem "colaborar" em tarefas. Por exemplo, um agente pode lidar com a coleta de dados enquanto outro os analisa e outro ainda usa os resultados para tomar decisões, criando um sistema mais sofisticado com inteligência distribuída.

  • Colaboração humano-agente: As interações human-in-the-loop permitem que os agentes trabalhem ao lado de humanos para aumentar os processos de tomada de decisão. Por exemplo, os agentes podem preparar análises de dados que os humanos podem revisar e ajustar, melhorando assim a produtividade.

  • Orquestração de processos: os agentes podem coordenar diferentes tarefas entre sistemas, ferramentas e APIs, ajudando a automatizar processos de ponta a ponta, como implantações de aplicativos, orquestração de nuvem ou até mesmo processos criativos, como redação e design.

Quando usar um agente de IA?

O uso de uma estrutura de agente para desenvolvimento de aplicativos oferece vantagens que são especialmente benéficas para determinados tipos de aplicativos. Embora os modelos tradicionais de IA sejam frequentemente usados como ferramentas para executar tarefas específicas (por exemplo, classificação, previsão ou reconhecimento), os agentes introduzem mais autonomia, flexibilidade e interatividade no processo de desenvolvimento.

  • Autonomia e tomada de decisão: Se sua aplicação requer entidades que possam tomar decisões independentes e se adaptar às mudanças nas condições (por exemplo, sistemas robóticos, veículos autônomos, ambientes inteligentes), uma estrutura de agente é preferível.

  • Colaboração multiagente: se sua aplicação envolve sistemas complexos que exigem que vários componentes independentes trabalhem juntos (por exemplo, gerenciamento da cadeia de suprimentos, computação distribuída ou robótica de enxame), os agentes fornecem mecanismos integrados para coordenação e comunicação.

  • Interativo e orientado a objetivos: se o seu aplicativo envolve comportamento orientado a objetivos (por exemplo, concluir tarefas de forma autônoma ou interagir com usuários para atingir objetivos específicos), as estruturas baseadas em agentes são uma escolha melhor. Os exemplos incluem assistentes virtuais, IA de jogos e planejadores de tarefas.

Como instalar o Semantic Kernel Agent Framework?

A instalação do SDK do Agent Framework é específica para o canal de distribuição associado à sua linguagem de programação.

Para o SDK do .NET, vários pacotes NuGet estão disponíveis.

Observação: o SDK principal do Semantic Kernel é necessário além de todos os pacotes do agente.

Pacote Descrição
Microsoft.SemanticKernel Ele contém as principais bibliotecas do Kernel Semântico para começar a usar o Agent Framework. Isso deve ser explicitamente referenciado pelo seu aplicativo.
Microsoft.SemanticKernel.Agents.Abstractions Define as abstrações do agente principal para o Agent Framework. Geralmente não precisa ser especificado, pois está incluído nos Microsoft.SemanticKernel.Agents.Core pacotes e Microsoft.SemanticKernel.Agents.OpenAI .
Microsoft.SemanticKernel.Agents.Core Inclui o ChatCompletionAgent e AgentGroupChat classes.
Microsoft.SemanticKernel.Agents.OpenAI Fornece a capacidade de usar a API do Open AI Assistant por meio do OpenAIAssistantAgent.
Módulo Descrição
kernel-semântico.agents Esta é a biblioteca do Kernel Semântico para começar a usar o Agent Framework. Isso deve ser explicitamente referenciado pelo seu aplicativo. Este módulo contém as ChatCompletionAgent classes andAgentGroupChat, bem como a capacidade de usar a API do Open AI Assistant por meio do OpenAIAssistantAgent ou AzureOpenAssistant.

No momento, os agentes não estão disponíveis em Java.