Saltearse al contenido

Planner & Optimizer Tool

El Planner & Optimizer Tool es un componente que ayuda a los agentes de IA a descomponer tareas complejas en pasos claros y a optimizar la búsqueda de información necesaria para completarlas. Cuando se llama, el agente analiza la consulta del usuario, crea un plan de acción paso a paso y genera una consulta de búsqueda web optimizada que será utilizada por el siguiente paso del flujo de trabajo.

¿Cómo funciona?

El componente no realiza llamadas externas ni procesa datos de forma compleja. Cuando el agente lo invoca, recibe dos piezas de información:

  1. Plan de acción – una lista de pasos que el agente debe seguir para resolver la tarea.
  2. Consulta de búsqueda – una cadena breve (preferiblemente en inglés) que se enviará a un motor de búsqueda para obtener datos adicionales.

El resultado se devuelve como un objeto JSON que el flujo de trabajo puede usar directamente en el siguiente paso. No hay operaciones adicionales ni configuraciones externas; simplemente se configura con los dos campos de entrada y se ejecuta.

Entradas

Tool Description

Descripción del propósito y uso del planificador.
Ejemplo de valor por defecto:javascript MUST BE THE FIRST TOOL CALLED in any complex task. Use this tool to analyze the user’s query, break it down into smaller problems, and create a clear action plan. The output of this tool is crucial for the following steps. Instructions for the AI Agent:

  1. Purpose: Analyze the user’s initial query and structure a plan of action.
  2. Action: You must provide two pieces of information: a) a step-by-step plan to resolve the query and b) an optimized web search query (concise and preferably in English) for the next tool.
  3. Output: The tool will return a JSON object containing your plan and the search query, ready to be used by the following steps in the workflow.

Tool Name

Nombre que identificará al planificador dentro del flujo de trabajo.
Ejemplo: my_planner.

Salidas

Tool

Tipo de dato: Tool (método: build_tool).
El componente devuelve un objeto que el flujo de trabajo puede usar como una herramienta de planificación. Este objeto contiene el plan de acción y la consulta de búsqueda, listos para ser consumidos por el siguiente paso.

Ejemplo de Uso

  1. Configuración

    • Tool Description: MUST BE THE FIRST TOOL CALLED... (valor por defecto).
    • Tool Name: initial_planner.
  2. Ejecución
    El agente llama a la herramienta con la consulta del usuario: “Quiero organizar una reunión con el equipo de marketing y preparar una presentación sobre el nuevo producto.”

  3. Resultado

    {
    "plan": [
    "1. Identificar los participantes de la reunión.",
    "2. Verificar disponibilidad de la sala de conferencias.",
    "3. Enviar invitaciones por correo.",
    "4. Recopilar datos sobre el nuevo producto.",
    "5. Crear diapositivas con los datos recopilados."
    ],
    "search_query": "latest marketing meeting scheduling best practices"
    }
  4. Siguiente paso
    La salida se pasa a la herramienta de búsqueda web, que utiliza la search_query para obtener información actualizada y luego el flujo continúa con la creación de la presentación.

Componentes Relacionados

  • PlannerOptimizerBase – la clase base que define la lógica de planificación y optimización.
  • SearchTool – herramienta que ejecuta la consulta de búsqueda web generada por el planificador.
  • EmailTool – puede usar el plan para enviar invitaciones por correo.

Consejos y Mejores Prácticas

  • Llama primero: Usa siempre este componente como la primera herramienta en tareas complejas; garantiza que el flujo de trabajo esté bien estructurado.
  • Mantén la descripción clara: Un Tool Description bien redactado ayuda al agente a entender cuándo y cómo usar la herramienta.
  • Revisa la consulta de búsqueda: Asegúrate de que la cadena sea breve y en inglés para obtener mejores resultados de los motores de búsqueda.
  • Combina con otras herramientas: Después de generar el plan, conecta herramientas de búsqueda, correo y generación de documentos para completar la tarea.

Consideraciones de Seguridad

  • Datos sensibles: Evita incluir información confidencial en el Tool Description o en la search_query.
  • Control de acceso: Asegúrate de que solo usuarios autorizados puedan configurar y ejecutar este componente, ya que controla la lógica de planificación del flujo.
  • Validación de salida: Verifica que el JSON devuelto contenga los campos esperados antes de pasar a la siguiente herramienta.