Funcionamiento de los agentes y copilotos con los LLM
Artículo
Tanto los agentes como los copilotos amplían las capacidades de un LLM invocando de forma inteligente la funcionalidad externa, como el envío de un correo electrónico.
Un agente es una inteligencia artificial que puede responder a preguntas y automatizar procesos para los usuarios. Los agentes pueden determinar qué funciones cumplirán el objetivo de un usuario y, a continuación, llamar a esas funciones en nombre del usuario.
Un copiloto es un tipo de agente que funciona en paralelo con un usuario. A diferencia de un agente, un copiloto no está totalmente automatizado, sino que se basa en la interacción del usuario. Un copiloto puede ayudar a un usuario a completar una tarea proporcionando sugerencias y recomendaciones.
Por ejemplo, supongamos que va a compilar una aplicación asistente de chat de correo electrónico. Junto con el LLM, también necesitará un complemento para realizar acciones relacionadas con el correo electrónico, así como complementos para buscar, resumir, determinar la intención y similares. Puede usar funciones nativas, complementos predefinidos y sus propios complementos personalizados.
La creación de complementos es solo la mitad de la batalla: todavía tienes que invocar las funciones correctas en el momento adecuado, un proceso que puede ser propenso a errores e ineficaz. Un agente puede controlarlo mejor.
Un agente decide automáticamente qué secuencia de funciones puede usar un LLM para alcanzar un objetivo de usuario. Por ejemplo, supongamos que tiene una aplicación de chat que revisa los nuevos elementos de la bandeja de entrada y determina qué acción requiere cada elemento. Si configura un agente, puede organizar las funciones de complemento necesarias y realizar los pasos automáticamente.
Componentes de un agente
Cada agente tiene tres bloques de creación principales: un rol, complementos y planificadores.
Los roles determinan la manera en que los agentes responden a los usuarios o realizan acciones.
Los complementos permiten a los agentes recuperar información del usuario u otros sistemas. Puede usar complementos pregenerados y sus propios complementos personalizados.
Los planificadores permiten a los agentes planear cómo usar complementos disponibles.
Roles
El rol de un agente es su identidad: los complementos y planificadores que usa el agente son herramientas, pero el rol determina cómo usa esas herramientas. Utilice las instrucciones en una solicitud para establecer el rol de un agente.
Por ejemplo, puede usar instrucciones para indicar a un agente que ayuda a las personas a administrar correos electrónicos y a explicar sus decisiones a medida que las toma. La solicitud podría tener un aspecto similar al siguiente:
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>
"""
Complementos
Puede usar complementos para hacer cosas que un LLM no puede hacer solo, como recuperar datos de orígenes de datos externos o completar tareas en el mundo real.
Por ejemplo, un LLM no puede enviar un correo electrónico, por lo que para agregar esa función a una aplicación de chat, tendría que crear un complemento. Para procesar el texto de los correos electrónicos, puede usar complementos principales, como ConversationSummaryPlugin.
Asegúrese de documentar claramente las funciones de los complementos: los planificadores usan esta información para determinar qué funciones están disponibles.
Planificadores
Un planificador puede analizar las funciones disponibles y crear formas alternativas de alcanzar el objetivo.
Llamar a las funciones del complemento no siempre es eficaz. Por ejemplo, supongamos que quiere sumar los números entre 1 y 100. Podría llamar a un complemento matemático, pero el LLM tendría que realizar una llamada independiente para cada número.
Además, la mejor secuencia y combinación de funciones para alcanzar un objetivo depende de los detalles. Por ejemplo, supongamos que va a crear una aplicación auxiliar de chat de correo electrónico, por lo que incluye un complemento para habilitar el envío de correos electrónicos. Sin embargo, algunos correos electrónicos pueden necesitar una acción diferente, como una convocatoria de reunión sin RSVP: no es necesario enviar una respuesta, pero sí agregar un elemento de calendario. Un planificador examina todas las funciones disponibles y presenta formas eficaces de alcanzar los objetivos.
Los copilotos agregan la interacción del usuario
La automatización de procesos tiene muchas ventajas, pero a veces el usuario debe tomar decisiones a lo largo del proceso. El agente no puede automatizar las acciones de usuario. Ahí es donde entran los copilotos.
El agente de la aplicación de chat de correo electrónico podría generar el siguiente plan para enviar un correo electrónico:
Obtener la dirección de correo electrónico y el nombre del usuario
Obtener la dirección de correo electrónico del destinatario
Obtener el tema del correo electrónico
Generar el asunto y el cuerpo del correo electrónico
Enviar el correo
Muy útil, pero ¿qué ocurre si el usuario no le gusta el cuerpo del correo electrónico? Un copiloto agrega un paso de interacción del usuario al plan:
Obtener la dirección de correo electrónico y el nombre del usuario
Obtener la dirección de correo electrónico del destinatario
Obtener el tema del correo electrónico
Generar el asunto y el cuerpo del correo electrónico
Revisión del correo electrónico con el usuario y realizar ajustes
Enviar el correo
Aplicación de copiloto de chat de Semantic Kernel
Para empezar a trabajar con los copilotos, pruebe el Copiloto de chat de Semantic Kernel, una aplicación de referencia para crear una experiencia de chat con un agente de inteligencia artificial.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
En esta ruta de aprendizaje, practicará la creación de agentes personalizados mediante Microsoft Copilot Studio. Algunas de las capacidades validadas son la creación de temas de gestión, el trabajo con entidades y variables, la mejora de agentes con IA generativa y la publicación de agentes. El escenario de esta experiencia representa los desafíos reales que afrontan las personas que tienen experiencia en sectores específicos y que crean agentes personalizados.