Compartir vía


Roles: Dar al agente un rol

A menudo se denomina "meta prompt" o "instrucción", el rol es un aviso que se usa para influir en cómo responde el agente a los estímulos. Esto le permite influir en cómo los agentes planean tareas, generan respuestas e interactúan con los usuarios. Por ejemplo, puede usar el rol para indicar explícitamente al agente que solicite ayuda si no sabe qué hacer o para ser más detallado cuando explique algo.

En kernel semántico, a menudo se describen estos mensajes como "personas" porque son muy similares a los roles en el diseño de la experiencia del usuario. Al igual que los diseñadores y investigadores de la experiencia de usuario crean personas para representar diferentes tipos de usuarios y los trabajos que deben hacer, puede crear personas para representar diferentes tipos de agentes y las tareas que son responsables.

Al hacerlo, puede crear agentes que sean más coherentes, más confiables y predecibles. Esto es especialmente importante cuando se crean agentes responsables de tareas críticas o que interactúan con los usuarios en situaciones confidenciales.

Rol de kernel semántico

El resto de este artículo proporcionará sugerencias y procedimientos recomendados al crear roles en kernel semántico.

Procedimientos recomendados para crear personas

La creación de roles efectivos implica tener en cuenta cuidadosamente el rol previsto del agente, la audiencia de destino y las tareas específicas que realizará el agente. Estos son algunos procedimientos recomendados que debe tener en cuenta:

Step Descripción
1. Definir objetivos claros Antes de crear un rol, defina claramente los objetivos que desea que el agente logre. Esto incluye comprender las tareas que realizará el agente y el tipo de interacciones que espera que tenga con los usuarios.
2. Hacer referencia a roles específicos o figuras públicas Un rol bien definido debe incluir detalles específicos sobre el comportamiento, el tono y el estilo del agente. Evite descripciones vagas haciendo referencia a roles específicos o figuras públicas para que el LLM pueda imitar mejor su comportamiento.
3. Proporcionar ejemplos y escenarios Para ayudar al agente a comprender mejor su rol, proporcione ejemplos y escenarios que ilustran el rol en acción. Esto puede incluir conversaciones de ejemplo, casos de usuario o casos de uso que muestran cómo el agente debe responder en diferentes situaciones.
4. Incluir instrucciones de reserva Proporcione instrucciones sobre lo que debe hacer el agente cuando encuentre una situación desconocida o no pueda proporcionar una respuesta. Esto puede incluir pedir ayuda, proporcionar soluciones alternativas o simplemente reconocer que no tiene una respuesta.
5. Iteración y refinamiento Los roles no son estáticos. Pruebe y restrinte continuamente los roles en función de los comentarios del usuario y los datos de rendimiento. Esto ayuda a mejorar la eficacia del agente a lo largo del tiempo.

Uso de mensajes del sistema para establecer roles

Los mensajes del sistema más comunes que se usan en el kernel semántico son los mensajes de usuario, asistente y herramienta. Estos mensajes se usan para simular una conversación entre el usuario y el agente.

Un tipo de mensaje, el mensaje del sistema, se puede usar para proporcionar al agente contexto adicional o instrucciones que no se muestran al usuario. Esto se puede usar para establecer el rol para el agente.

En Kernel semántico, proporcionar un mensaje inicial del sistema para el agente es tan sencillo como agregarlo en el ChatHistory constructor. Por ejemplo:

ChatHistory chatHistory = new("""
   You are a technical support specialist for a software company.
   Your primary task is to assist users with technical issues,
   such as installation problems, software bugs, and feature
   inquiries. Use technical jargon appropriately, but ensure that
   explanations are easy to understand. If a problem is too complex,
   suggest advanced troubleshooting steps or escalate to a higher-level
   support team using the escalate tool.
   """)
chat_history = ChatHistory("""
   You are a technical support specialist for a software company.
   Your primary task is to assist users with technical issues,
   such as installation problems, software bugs, and feature
   inquiries. Use technical jargon appropriately, but ensure that
   explanations are easy to understand. If a problem is too complex,
   suggest advanced troubleshooting steps or escalate to a higher-level
   support team using the escalate tool.
   """)

Si necesita un mayor control sobre el rol (por ejemplo, quiere cambiar las instrucciones a medida que avanza la conversación), puede usar el AddSystemMessage método para agregar mensajes del sistema adicionales al historial de chat.

chatHistory.AddSystemMessage("Remember to ask for help if you're unsure how to proceed.")
chat_history.add_system_message("Remember to ask for help if you're unsure how to proceed.")

Al recordar a LLM sus roles de esta manera, puede asegurarse de que el agente sea coherente, confiable y predecible en sus interacciones con los usuarios.