Ir al contenido principal

Cómo ejecutar subprocedimientos

Aprende a crear, ejecutar y estructurar subprocedimientos para mantener procedimientos Fin complejos legibles, reutilizables y más fáciles de mantener.

Escrito por Beth-Ann Sher

Los subprocedimientos te permiten dividir procedimientos Fin complejos en flujos más pequeños y enfocados. Ayudan a mantener tu procedimiento principal fácil de seguir, permitiéndote reutilizar lógica y reducir duplicaciones.

Puedes pensar en los subprocedimientos como funciones auxiliares en código: Fin los ejecuta de arriba hacia abajo y luego regresa al procedimiento principal.

Beneficios clave y casos de uso

  • Mejora la legibilidad ocultando la lógica detallada detrás de pasos claros y nombrados.

  • Reutiliza lógica en múltiples puntos dentro del mismo procedimiento.

  • Simplifica el mantenimiento editando la lógica compartida en un solo lugar.

  • Aumenta la fiabilidad aislando pasos complejos o propensos a fallos.


Cómo funcionan los subprocedimientos en Fin

Los subprocedimientos se comportan como una lista anidada de pasos dentro de un procedimiento.

  • Fin ejecuta el subprocedimiento de arriba hacia abajo.

  • Después de completarlo, Fin regresa al siguiente paso en el procedimiento principal.

  • Puedes salir antes usando @End sub-procedure.

  • Los subprocedimientos pueden estar anidados dentro de otros subprocedimientos.

Contexto compartido y aislamiento

  • Contexto compartido: Las salidas del conector, atributos y respuestas del usuario son visibles tanto en el procedimiento principal como en sus subprocedimientos.

  • Aislamiento: Los datos no persisten fuera del procedimiento principal (por ejemplo, al usar /Switch procedure).

Nota: Los subprocedimientos están limitados a un solo procedimiento principal y no pueden reutilizarse en diferentes procedimientos.


Cómo crear y ejecutar un subprocedimiento

Crear un subprocedimiento

  1. Abre o crea un procedimiento Fin desde Fin AI Agent > Train > Procedures.

  2. Navega al menú de la izquierda.

  3. Haz clic en + Nuevo subprocedimiento.

  4. Serás redirigido a un nuevo editor de subprocedimientos.

  5. Ingresa tus pasos y asigna un nombre claro al subprocedimiento.

Puedes eliminar o reordenar un subprocedimiento pasando el cursor sobre él en el mismo menú. Para renombrarlo, haz clic dentro del subprocedimiento y edita el título en la parte superior del editor.

Ejecutar un subprocedimiento

  1. Abre el procedimiento principal desde Fin AI Agent > Train > Procedures.

  2. Escribe @ para abrir el menú de comandos.

  3. Selecciona Ejecutar subprocedimiento.

  4. Elige el subprocedimiento que deseas ejecutar.

Fin ejecutará el subprocedimiento y luego continuará con los pasos restantes en el flujo principal.

Consejo: Usa @End sub-procedure para regresar antes, similar a un retorno de función en código.


Mejores prácticas para usar subprocedimientos

Usa subprocedimientos para lógica significativa

Los subprocedimientos son más efectivos cuando encapsulan lógica clara y reutilizable.

Uso efectivo:

  • Ramas complejas que de otro modo saturarían una condición.

  • Lógica repetida usada en varios lugares dentro de un procedimiento.

  • Flujos de escalada o transferencia que necesitan comportamiento consistente.

  • Pasos propensos a fallos que se benefician del aislamiento y las pruebas.

Uso menos efectivo:

  • Acciones únicas y triviales que no necesitan reutilización.

  • Lógica que encaja perfectamente dentro de una @Instruction o @Condition.

  • Fragmentación excesiva que obliga a cambiar constantemente de contexto.

Mantén las cadenas de subprocedimientos poco profundas

Evita cadenas profundamente anidadas como subprocedimiento → subprocedimiento → subprocedimiento cuando sea posible.

Nota: La anidación profunda no afecta el rendimiento de Fin, pero hace que los procedimientos sean más difíciles de leer, depurar y mantener.

Nombra los subprocedimientos claramente

Usa nombres descriptivos y orientados a la acción que expliquen qué hace el subprocedimiento.

Buenos ejemplos:

  • CollectPaymentInfo

  • VerifyUserIdentity

  • ResolveDeliveryIssue

Evita nombres como:

  • Step4

  • PartB

  • HandleRefundSectionA

Nombres claros facilitan escanear y entender el flujo general.

Ejemplos de casos de uso

Abstraer lógica compleja del flujo principal

Los subprocedimientos pueden ocultar verificaciones o validaciones detalladas para que el procedimiento principal siga siendo legible. Por ejemplo, verificar si el asegurador de un cliente está soportado puede estar en un subprocedimiento dedicado en lugar de saturar la lógica principal.

Reutilizar lógica compartida de transferencia

Si varias partes de un procedimiento requieren el mismo proceso de escalada o transferencia, colocar esa lógica en un subprocedimiento asegura consistencia. Cuando se necesiten actualizaciones, solo hay que cambiarlo una vez.


Preguntas frecuentes

¿Se pueden reutilizar los subprocedimientos en diferentes procedimientos?

No, los subprocedimientos solo son reutilizables dentro del procedimiento principal donde se definen.

¿Pueden los subprocedimientos llamar a otros subprocedimientos?

Sí, puedes ejecutar subprocedimientos dentro de otros subprocedimientos, pero evita la anidación profunda cuando sea posible.

¿Los datos persisten después de que un subprocedimiento termina?

Sí, dentro del mismo procedimiento principal. Los datos no persisten entre diferentes procedimientos.

¿Ha quedado contestada tu pregunta?