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