Anatomía y flujo

Flujo de control: cómo se resuelve un turno

Del mensaje del usuario al prompt resuelto: qué se evalúa, en qué orden y cuándo interviene el LLM.

Fuente: ascript-flow.md

El recorrido de una petición

  1. 01El usuario envía un mensaje. La ejecución empieza en start_agent.
  2. 02Se ejecuta before_reasoning, si existe: lógica garantizada, sin LLM.
  3. 03Se procesan las instrucciones de reasoning de arriba abajo. La lógica se evalúa; las líneas de prompt se acumulan.
  4. 04Si una condición dispara una transición, el turno se reinicia en el subagente destino y el prompt acumulado se descarta.
  5. 05El prompt resuelto se envía al LLM junto con las tools disponibles.
  6. 06El LLM responde o llama a una tool; el bucle de razonamiento continúa hasta que hay respuesta.
  7. 07Se ejecuta after_reasoning al salir del bucle.

Cómo se construye el prompt resuelto

Agentforce recorre las instrucciones, evalúa cada condición con los valores actuales de las variables e incluye solo las líneas de prompt cuya condición se cumple. Las referencias {!…} se sustituyen por su valor.

Instrucciones
reasoning:
    instructions: ->
        | Refer to the user by name {!@variables.member_name}.

        if @variables.loyalty_tier == "Gold":
            | Thank the customer for being a Gold member.

        if @variables.loyalty_tier == "Platinum VIP":
            | Thank the customer for being a Platinum VIP member.

Si el cliente es Jo Richards y es VIP, el prompt enviado al LLM es: «Refer to the user by Jo Richards. Thank the customer for being a Platinum VIP member.» El resto no existe para el modelo.

Transiciones entre subagentes

Una transición es de un solo sentido. Cuando ocurre, Agentforce descarta el prompt del subagente actual y procesa el subagente destino.

Temas relacionados