Tanto os agentes quanto os copilotos ampliam os recursos de um LLM invocando de forma inteligente a funcionalidade externa, como o envio de um email.
Um agente é uma inteligência artificial que pode responder a perguntas e automatizar processos para os usuários. Os agentes podem determinar quais funções atenderão ao objetivo de um usuário e, em seguida, chamar essas funções em nome do usuário.
Um copiloto é um tipo de agente que trabalha lado a lado com um usuário. Ao contrário de um agente, um copiloto não é totalmente automatizado, ele depende da interação do usuário. Um copiloto pode ajudar um usuário a concluir uma tarefa fornecendo sugestões e recomendações.
Por exemplo, suponha que você esteja criando um aplicativo auxiliar de chat por email. Junto com o LLM, você também precisará de um plug-in para executar ações relacionadas a email, bem como plug-ins para pesquisa, resumo, determinação de intenção e similares. Você pode usar funções nativas, plug-ins prontos para uso e seus próprios plug-ins personalizados.
Criar os plug-ins é apenas metade da batalha: você ainda precisa invocar as funções certas no momento certo, um processo que pode ser propenso a erros e ineficiente. Um agente pode lidar melhor com isso.
Um agente decide automaticamente qual sequência de funções um LLM pode usar para atingir uma meta do usuário. Por exemplo, suponha que você tenha um aplicativo de chat que analisa os novos itens da caixa de entrada e determina a ação necessária para cada item. Se você configurar um agente, ele poderá orquestrar as funções de plug-in necessárias e executar as etapas automaticamente.
Componentes de um agente
Cada agente tem três blocos de construção principais: uma persona, plug-ins e planners.
Personas determinam a maneira pela qual os agentes respondem aos usuários ou executam ações.
Plug-ins permitem que os agentes recuperem informações do usuário ou de outros sistemas. Você pode usar plug-ins pré-criados e seus próprios plug-ins personalizados.
Planners permitem que os agentes planejem como usar os plug-ins disponíveis.
Personas
A persona de um agente é sua identidade: todos os plug-ins e planners que o agente usa são ferramentas, mas a persona determina como ele usa essas ferramentas. Use instruções em um prompt para estabelecer a persona de um agente.
Por exemplo, você pode usar instruções para dizer a um agente que ele está ajudando as pessoas a gerenciar emails e para explicar suas decisões à medida que as toma. Seu prompt pode ser mais ou menos assim:
prompt = $"""
<message role="system">
You are a friendly assistant helping people with emails.
When you decide to perform an action, explain your decision and then perform the action.
</message>
"""
Plug-ins
Use plug-ins para fazer coisas que um LLM não pode fazer sozinho, como recuperar dados de fontes de dados externas ou concluir tarefas no mundo real.
Por exemplo, um LLM não pode enviar um email, portanto, para adicionar essa função a um aplicativo de chat, você precisaria criar um plug-in. Para processar texto dos emails, você pode usar plug-ins principais, como o ConversationSummaryPlugin.
Certifique-se de documentar claramente as funções no seus plug-ins, os planners usam essas informações para determinar quais funções estão disponíveis.
Planners
Um planner pode analisar as funções disponíveis e encontrar maneiras alternativas de atingir a meta.
Chamar as funções do plug-in nem sempre é eficiente. Por exemplo, digamos que você queira somar os números entre 1 e 100. Você poderia chamar um plug-in de matemática, mas o LLM precisaria fazer uma chamada separada para cada número.
Além disso, a melhor sequência e combinação de funções para atingir um objetivo depende dos detalhes. Por exemplo, suponha que você esteja criando um aplicativo auxiliar de chat por email e inclua um plug-in para permitir o envio de emails. No entanto, alguns emails podem precisar de uma ação diferente, como uma solicitação de reunião sem confirmação de presença, enviar uma resposta não é necessário, mas adicionar um item de calendário é. Um planner examina todas as funções disponíveis e apresenta maneiras eficientes de atingir as metas.
Copilotos adicionam interação com o usuário
A automação de processos tem muitos benefícios, mas às vezes o usuário precisa tomar decisões ao longo do processo. Um agente não pode automatizar as ações do usuário. É aí que entram os copilotos.
Um agente no seu aplicativo de chat por email pode produzir o seguinte plano para enviar um email:
Obter o endereço de email e o nome do usuário
Obter o endereço de email do destinatário
Obter o tópico do email
Gerar o assunto e o corpo do email
Enviar o email
Muito prático, mas e se o usuário não gostar do corpo do email? Um copilot adiciona uma etapa de interação do usuário ao plano:
Obter o endereço de email e o nome do usuário
Obter o endereço de email do destinatário
Obter o tópico do email
Gerar o assunto e o corpo do email
Revisar o email com o usuário e fazer ajustes
Enviar o email
Aplicativo Semantic Kernel Chat Copilot
Para começar a usar os copilotos, experimente o Semantic Kernel Chat Copilot, um aplicativo de referência para criar uma experiência de chat com um agente de IA.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
Neste roteiro de aprendizagem, você pratica a criação de agentes personalizados usando o Microsoft Copilot Studio. As competências validadas incluem a criação de tópicos de gerenciamento, o trabalho com entidades e variáveis, o aprimoramento de agentes com IA generativa e a publicação de agentes. O cenário dessa experiência representa desafios do mundo real enfrentados por pessoas com conhecimentos específicos de negócios que criam agentes personalizados.