Saltearse al contenido

Hierarchical Task

El componente Hierarchical Task te permite definir una tarea compleja que será ejecutada por un agente de IA. Debes indicar qué debe hacer la tarea, qué resultado esperas y qué herramientas puede usar. El resultado es un objeto HierarchicalTask que puede ser pasado a otros componentes del flujo de trabajo.

¿Cómo funciona?

Internamente el componente crea una instancia de HierarchicalTask con los valores que le proporciones:

  • description: texto que explica el propósito y la forma de ejecutar la tarea.
  • expected_output: definición clara del resultado que debe producirse.
  • tools: lista de recursos o herramientas que el agente puede usar (por defecto se usan las herramientas del agente).

No se llama a ninguna API externa; todo el procesamiento ocurre localmente dentro del entorno de Nappai. El objeto resultante se devuelve como salida para que pueda ser utilizado por componentes posteriores, como un ejecutor de tareas o un visualizador de resultados.

Entradas

  • Tools
    Lista de herramientas o recursos que el agente puede usar para ejecutar la tarea. Si no se especifica, se usarán las herramientas por defecto del agente.

  • Expected Output
    Definición clara del resultado que se espera que produzca la tarea. Esto ayuda al agente a saber cuándo la tarea se ha completado correctamente.

  • Description
    Texto descriptivo que detalla el propósito de la tarea y cómo debe ejecutarse. Proporciona contexto al agente para que entienda el objetivo.

Salidas

  • Task
    Tipo de dato HierarchicalTask. Este objeto contiene toda la información de la tarea y puede ser conectado a componentes que ejecuten o gestionen tareas jerárquicas.

Ejemplo de Uso

Supongamos que quieres crear una tarea que genere un informe mensual de ventas:

  1. Description:

    Genera un informe mensual de ventas en formato PDF, incluyendo gráficos de tendencia y resumen ejecutivo.
  2. Expected Output:

    Un archivo PDF llamado "Informe_Ventas_Mes_XX.pdf" con los datos solicitados.
  3. Tools:

    • DatabaseConnector (para extraer datos de la base de datos).
    • PDFGenerator (para crear el archivo PDF).

Con estos valores, el componente devuelve un objeto HierarchicalTask que puede ser pasado a un componente de ejecución que se encargará de llamar a las herramientas y producir el informe.

Componentes Relacionados

  • Agent – El agente que ejecutará la tarea.
  • Tool – Representa cada herramienta que puede ser asignada a la tarea.
  • Task Executor – Componente que recibe un HierarchicalTask y lo ejecuta.

Consejos y Mejores Prácticas

  • Sé claro y conciso: Una descripción breve pero completa ayuda al agente a comprender el objetivo sin ambigüedades.
  • Define el resultado esperado con detalle: Cuanto más específico sea el Expected Output, más fácil será verificar la finalización correcta.
  • Limita las herramientas: Proporciona solo las herramientas necesarias para evitar que el agente use recursos no deseados.
  • Revisa la compatibilidad de herramientas: Asegúrate de que las herramientas seleccionadas estén disponibles y configuradas correctamente en tu entorno.

Consideraciones de Seguridad

  • Control de acceso a herramientas: Algunas herramientas pueden acceder a datos sensibles (por ejemplo, bases de datos internas). Asegúrate de que solo los agentes autorizados tengan permiso para usar estas herramientas.
  • Validación de salida: Si la tarea genera archivos o datos que se exponen a usuarios externos, valida su contenido para evitar filtraciones de información confidencial.
  • Auditoría: Registra la creación y ejecución de tareas para poder rastrear quién solicitó qué y cuándo se ejecutó.