Uma visão geral da arquitetura do agente (experimental)

Aviso

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

Este artigo aborda os principais conceitos na arquitetura do Agent Framework, incluindo princípios fundamentais, objetivos de design e metas estratégicas.

Metas

O Agent Framework foi desenvolvido com as seguintes prioridades principais em mente:

  • A estrutura do Kernel Semântico serve como a base principal para a implementação de funcionalidades do agente.
  • Vários agentes podem colaborar em uma única conversa, integrando a entrada humana.
  • Um agente pode participar e gerenciar várias conversas simultâneas simultaneamente.
  • Diferentes tipos de agentes podem participar da mesma conversa, cada um contribuindo com seus recursos exclusivos.

Agente

A classe abstrata Agent serve como a abstração central para todos os tipos de agentes, fornecendo uma estrutura fundamental que pode ser estendida para criar agentes mais especializados. Uma subclasse chave é o Kernel Agent, que estabelece uma associação direta com um objeto Kernel . Esse relacionamento forma a base para implementações de agentes mais específicas, como o Chat Completion Agent e o Open AI Assistant Agent, que aproveitam os recursos do Kernel para executar suas respectivas funções.

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

Os agentes podem ser invocados diretamente para executar tarefas ou orquestrados em um bate-papo do agente, onde vários agentes podem colaborar ou interagir dinamicamente com as entradas do usuário. Essa estrutura flexível permite que os agentes se adaptem a vários cenários de conversação ou orientados a tarefas, fornecendo aos desenvolvedores ferramentas robustas para a criação de sistemas inteligentes e multiagentes.

Aprofundamento:

Bate-papo do agente

A classe Agent Chat serve como o componente fundamental que permite que agentes de qualquer tipo se envolvam em uma conversa específica. Essa classe fornece os recursos essenciais para gerenciar as interações do agente em um ambiente de chat. Com base nisso, a classe Agent Group Chat estende esses recursos oferecendo um contêiner baseado em estratégia, que permite que vários agentes colaborem em várias interações na mesma conversa.

Essa estrutura facilita cenários mais complexos e multiagentes, nos quais diferentes agentes podem trabalhar juntos, compartilhar informações e responder dinamicamente a conversas em evolução, tornando-a uma solução ideal para casos de uso avançados, como suporte ao cliente, gerenciamento de tarefas multifacetado ou ambientes colaborativos de solução de problemas.

Aprofundamento:

Canal do Agente

A classe Canal do Agente permite que agentes de vários tipos participem de um Chat do Agente. Essa funcionalidade está completamente oculta dos usuários do Agent Framework e só precisa ser considerada pelos desenvolvedores que criam um Agent personalizado.

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

Alinhamento do agente com recursos semânticos do kernel

O Agent Framework é construído sobre os conceitos e recursos fundamentais que muitos desenvolvedores conheceram no ecossistema do Kernel Semântico . Esses princípios básicos servem como blocos de construção para o design do Agent Framework. Aproveitando a estrutura familiar e os recursos do Kernel Semântico, o Agent Framework estende sua funcionalidade para permitir comportamentos de agente mais avançados e autônomos, mantendo a consistência com a arquitetura mais ampla do Kernel Semântico. Isso garante uma transição suave para os desenvolvedores, permitindo que eles apliquem seus conhecimentos existentes para criar agentes inteligentes e adaptáveis dentro da estrutura.

O Kernel

No centro do ecossistema do Kernel Semântico está o Kernel, que serve como o objeto central que impulsiona as operações e interações de IA. Para criar qualquer agente dentro dessa estrutura, uma instância do Kernel é necessária, pois fornece o contexto e os recursos fundamentais para a funcionalidade do agente. O Kernel atua como o mecanismo para processar instruções, gerenciar o estado e invocar os serviços de IA necessários que potencializam o comportamento do agente.

Os artigos Agente de conclusão de chat e Agente do Open AI Assistant fornecem detalhes específicos sobre como criar cada tipo de agente. Esses recursos oferecem instruções passo a passo e destacam as principais configurações necessárias para adaptar os agentes a diferentes aplicativos de conversação ou baseados em tarefas, demonstrando como o Kernel permite comportamentos dinâmicos e inteligentes do agente em diversos casos de uso.

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

Plugins e chamada de função

Os plug-ins são um aspecto fundamental do Kernel Semântico, permitindo que os desenvolvedores integrem funcionalidades personalizadas e estendam os recursos de um aplicativo de IA. Esses plug-ins oferecem uma maneira flexível de incorporar recursos especializados ou lógica específica de negócios nos principais fluxos de trabalho de IA. Além disso, os recursos do agente dentro da estrutura podem ser significativamente aprimorados utilizando plug-ins e aproveitando a chamada de função. Isso permite que os agentes interajam dinamicamente com serviços externos ou executem tarefas complexas, expandindo ainda mais o escopo e a versatilidade do sistema de IA em diversos aplicativos.

Exemplo:

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

Mensagens do agente

As mensagens do agente, incluindo entrada e resposta, são criadas com base nos principais tipos de conteúdo do Kernel Semântico, fornecendo uma estrutura unificada para comunicação. Essa opção de design simplifica o processo de transição de padrões tradicionais de conclusão de chat para padrões mais avançados orientados por agente no desenvolvimento de aplicativos. Ao aproveitar os tipos de conteúdo familiares do Kernel Semântico , os desenvolvedores podem integrar perfeitamente os recursos do agente em seus aplicativos sem precisar revisar os sistemas existentes. Essa simplificação garante que, à medida que você evolui da IA conversacional básica para agentes mais autônomos e orientados a tarefas, a estrutura subjacente permaneça consistente, tornando o desenvolvimento mais rápido e eficiente.

Observação: o Open AI Assistant Agent introduziu tipos de conteúdo específicos para seu uso para referências de arquivo e anotação de conteúdo:

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

Modelagem

O papel de um agente é moldado principalmente pelas instruções que recebe, que ditam seu comportamento e ações. Semelhante à chamada de um prompt do Kernel, as instruções de um agente podem incluir parâmetros de modelo — valores e funções — que são substituídos dinamicamente durante a execução. Isso permite respostas flexíveis e sensíveis ao contexto, permitindo que o agente ajuste sua saída com base na entrada em tempo real.

Além disso, um agente pode ser configurado diretamente usando uma configuração de modelo de prompt, fornecendo aos desenvolvedores uma maneira estruturada e reutilizável de definir seu comportamento. Essa abordagem oferece uma ferramenta poderosa para padronizar e personalizar as instruções do agente, garantindo consistência em vários casos de uso e, ao mesmo tempo, mantendo a adaptabilidade dinâmica.

Exemplo:

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

Conclusão do chat

O Chat Completion Agent foi projetado em torno de qualquer serviço de IA do Kernel Semântico, oferecendo um encapsulamento de persona flexível e conveniente que pode ser perfeitamente integrado a uma ampla variedade de aplicativos. Esse agente permite que os desenvolvedores tragam facilmente recursos de IA conversacional para seus sistemas sem ter que lidar com detalhes complexos de implementação. Ele espelha os recursos e padrões encontrados no serviço de IA subjacente, garantindo que todas as funcionalidades, como processamento de linguagem natural, gerenciamento de diálogo e compreensão contextual, sejam totalmente suportadas no Chat Completion Agent, tornando-o uma ferramenta poderosa para criar interfaces de conversação.

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