Rubén Balbastre

Si puedo poner un “if else” en código, ¿para qué necesito un agente?

Marzo de 2025

A pesar todo el entusiasmo que despiertan los agentes de inteligencia artificial, sigue habiendo gente que duda de la necesidad de estas tecnologías a lo que suele utilizar como argumento la pregunta que da título a este escrito: “Si puedo poner un “if else” en código, ¿para qué necesito un agente?”

El otro día tuve que responder en el trabajo esta misma cuestión y estuve reflexionando seriamente sobre ello pues en ciertos casos puede ser una duda más que razonable. Más concretamente, en la aplicación de agentes en procesos de toma de decisiones donde los humanos juegan un papel fundamental.

Existen múltiples ámbitos que cumplen esta característica. Por ejemplo, tomemos como referencia el proceso de toma de decisiones en una cadena de suministro. Hoy en día podría ser así:

La respuesta a por qué no quitamos a las personas y dejamos el árbol de decisión que tome el 100% de las decisiones, quizás sería que es una locura porque el árbol de decisión tiene unas reglas fijas que no contemplan toda la complejidad del problema. Por tanto, las soluciones de dicho árbol de decisión no serían las correctas ya que no saben interpretar todo el contexto.

A esto podríamos rebatir que teóricamente podríamos hacer un árbol de decisión que cubra casi todas las excepciones y complejidades que el contexto contempla. Para ello, probablemente necesitaríamos transformaciones de información no estructurada a estructurada para facilitar la creación del árbol de decisión. Sin embargo, aunque difícil la tarea esto sería posible e incluso razonable de hacer. No obstante, la extracción de la información no es el cuello de botella. ¿Quién va a configurar el árbol de decisión de acuerdo con las realidades de toda esa información? En un primer ejercicio, esto sería un esfuerzo muy grande. En un segundo ejercicio de mantenimiento y sostenibilidad de la solución, esto sería impracticable por varios motivos:

Frente a este problema surgen las personas como solución, con sus defectos y virtudes. ¿Qué pasa? Las personas como solución son poco eficientes, caras y su escalabilidad es muy reducida. Las personas tienen estos problemas entre otros:

Frente a estos problemas que presentan las personas y los árboles de decisión, surge la necesidad de tener un elemento capaz de satisfacer estos requisitos (puestos en orden de prioridad):

  1. Ser más rápido y escalable que una persona.
  2. Implementación y sostenibilidad más sencilla que las soluciones actuales: un árbol de decisión.

Cumpliendo estos 2 puntos, aparecen los agentes. Si volvemos al mapa de tareas de la actualidad, podemos incorporar este tercer elemento y proporcionar una nueva visión:

La coexistencia entre métodos tradicionales, como los árboles de decisión, y agentes es posible. Por ejemplo, los agentes podrían analizar las particularidades del problema, ejecutar un árbol de decisión y luego revisar las soluciones. En caso de no ser coherentes con el contexto, proponer nuevas. No obstante, otra posibilidad (quizás recomendada) sería la siguiente:

Los agentes deben ser capaces de integrar en su conocimiento (pesos del LLM, contexto, información de RAG) el árbol de decisión y sus excepciones, haciendo no obligatoria la presencia de un código de “if else” y simplificando el proceso tanto de creación como de mantenimiento.

Los agentes pueden tener un árbol de decisión básico (sin las ramas de las excepciones) en su contexto y un acceso a información (RAG) de excepciones para inspirarse en caso anteriores si es que esto no lo tiene ya el modelo del agente introducido mediante fine-tuning en sus propios pesos. Esto elimina la necesidad de configurar un árbol de decisión y mantenerlo. En última instancia, todo el conocimiento del árbol de decisión y las excepciones podrían ir dentro de los pesos de los modelos.

Aunque presentan ciertos challenges, que habría que explorar, estas son las ventajas y el porqué de su uso. Entre ellos, uno de los primeros es saber determinar cuántas alucinaciones puede tener un agente/modelo. Es decir, frente a tomar una decisión general o aplicar excepciones, ¿es capaz de saber cuándo aplicar qué? ¿Respeta unas directrices generales o hace lo que quiere siempre? En ello estamos, pero esto es discusión aparte para determinar si estamos en el punto de madurez suficiente de estas tecnologías. El punto principal es si queremos seguir utilizando herramientas como árboles de decisión sabiendo de sus grandes limitaciones o queremos apostar por esta alternativa que promete olvidarnos del mantenimiento y buscar la autonomía con el proceso de aprendizaje continuo.

A modo de resumen sobre de la toma de decisiones: