viernes, 25 de julio de 2025

Hablemos de agentes (VII): algoritmos de planificación

Y llega el momento de tratar lo que, quizá, sea el elemento más diferencial de los nuevos agentes: la planificación que, como veremos, tiene mucho que ver con el razonamiento y, de alguna manera, la 'inteligencia'. 


Planificación y algoritmos de planificación


Intuitivamente todos tenemos una idea de lo que es la planificación: ante un problema o una labor, definimos las acciones a realizar y establecemos de alguna manera la secuencia lógica de esa realización.

En la vida corriente, o también en el ámbito de la dirección de proyectos, la planificación implica también otros aspectos como la asignación de recursos, estimación de presupuestos y el establecimiento de plazos temporales.

En el caso de los agentes inteligentes, prescindimos, al menos habitualmente, de lo que tiene que ver con presupuestación y con el marco temporal.

La planificación, en el mundo de la inteligencia artificial y la robótica, tiene mucho más que ver con la decisión de las tareas a realizar y su secuenciación. En cierto sentido, se trata más de definir una estrategia de actuación para resolver un problema o conseguir un objetivo que de una verdadera planificación y, por tanto, tiene tiene una estrecha relación con la resolución de problemas, el razonamiento y la 'inteligencia'.

Los algoritmos de planificación son esenciales desde hace muchos años en la inteligencia artificial, quizá la inteligencia artificial más clásica y, por ejemplo, ocupa numerosos capítulos del famosísimo libro de texto: 'Artificial Intelligence: a modern approach' de Stuart Russell y Peter Norvig.

En lo que sigue, vamos a revisar una panorámica de los algoritmos o estrategias de planificación orientados hacia los nuevos agentes de la 'Agentic AI' en cuyo núcleo se encuentra un gran modelo de lenguaje (LLM, 'Large Language Model').

Y seguimos principalmente, como en toda esta serie de posts sobre agentes, el contenido del libro 'Building Agentic AI systems' de Anjanava Biswas y Wrick Talukdar. En dicho libro, los autores nos presentan siete algoritmos / estrategias, estructurados conforme a una clasificación un poco paradójica de 'practicidad'. A falta de una mejor clasificación, también los revisaremos aquí de esa forma, por orden creciente de practicidad.


Algunos algoritmos no muy prácticos


En esta no muy lucida categoría de algoritmos poco prácticos, los autores nos presentan bastante brevemente, cuatro algoritmos, en general muy famosos.


  • STRIPS ('Stanford Research Institute Problem Solver'): Un algoritmos que se remonta ya a 1971 y que está respaldado por un lenguaje formal del mismo nombre. En STRIPS se trabaja con estados y acciones definidas mediante predicados lógicos. Hay un estado inicial y varios posibles estados objetivo. Además están definidas la serie de acciones con las precondiciones para que se puedan llevar a cabo y las poscondiciones tras su aplicación. En él, una plan es una secuencia de operadores que deben conducir a un estado final. Este algoritmo resulta poco adecuado para trabajar con los LLMs de los modernos agentes, ya que las interacciones en lenguaje natural no se reducen fácilmente a las condiciones cierto/falso que precisa STRIPS.

  • A*: Un algoritmo muy habitual en robótica para definición de caminos en el caso de robots móviles. Se apoya en grafos, existiendo un nodo inicial y un nodo objetivo. Asociado a los diferentes arcos existe un peso (o coste) y el algoritmo se ocupa de encontrar el recorrido en el grafo que representa el menor coste (donde, con frecuencia, el coste es la distancia y, por tanto, lo que hace es calcular el camino más corto). Estos algoritmos necesitan esa estimación clara del coste de una acción y una heurística para estimar el resto del coste en un punto dado (el uso de heurísticas es para hacer más eficiente computacionalmente el algoritmo). Esa estimación de costes, muy numérica, resulta problemática en el caso de interacciones basadas en lenguaje natural.

  • GraphPlan: Otro algoritmo basado en grafos donde se representan en capas las acciones y sus efectos en el tiempo. En el caso de uso de modelos basados en lenguaje, no es fácil encajar las interacciones en capas ni establecer relaciones causa-efecto claras.

  • MCTS ('Monte Carlo Tree Search'): Un método donde el árbol de planificación se va creando y expandiendo mediante muestreo aleatorio en el espacio de búsqueda y tomando las ramas más prometedoras. No resulta práctico para su uso en agentes basados en LLMs por dos motivos: porque cada simulación requeriría invocaciones al LLM, haciéndolo muy costoso computacionalmente, y porque en el caso de interacciones en modelos de lenguaje el espacio de estados es tan enorme que no resulta eficiente su exploración aleatoria.

Para el lector avezado en inteligencia artificial, algunos o todos los nombres de algoritmos anteriores le resultarán familiares, porque se trata de algoritmos clásicos, con notable éxito en ciertos campos de aplicación o ciertos momentos de la historia de la inteligencia artificial. Sin embargo, para trabajar con los modernos agentes de la 'Agentic AI', cuyo 'núcleo' es un gran modelo de lenguaje, quedan descartados.

Algunos algoritmos moderadamente prácticos


En esta categoría intermedia de algoritmos moderadamente prácticos, los autores nos hablan de un único algoritmo: Fast Forward planning o FF planning.

Se trata de un algoritmo que hereda algunas ideas de otros como STRIPS o GraphPlan. Utiliza una búsqueda heurística en una versión simplificada del problema.

Los autores estiman que su orientación a objetivos pudiera  ser usada en el caso de agentes basados en LLM, aunque requeriría adaptaciones para un manejo efectivo del lenguaje natural.  De todas formas, también presenta dificultades ya que las heurísticas que utiliza son de tipo numérico que, como ya hemos comentado en otros algoritmos, no se adaptan bien al tratamiento mediante lenguaje natural.

Resumiendo bastante, los autores entienden que FF planning se puede utilizar en agentes basados en LLM pero sometiéndolo a una serie de modificaciones.


Los algoritmos más prácticos


Y llega el momento de ver las opciones mejores o más prácticas. En este caso se nos habla de dos opciones: una planificación basada en LLMs y HTN. Veámoslas brevemente


Planificación basada en LLMs

Esta forma de planificación prescinde de estados y acciones formales, costes, grafos y otros elementos habituales en los algoritmos de planificación tradicionales que hemos revisado más arriba. En su lugar, trabajan en lenguaje natural y los estados y acciones se describen en lenguaje natural.

Cuando planificamos con grandes modelos de lenguaje, estamos asumiendo que estos modelos son capaces de entender objetivos complejos, generar los pasos adecuados para conseguirlos y adaptar esos pasos según cambia el entorno o la situación.  

Aunque hace un tiempo esta posibilidad hubiera podido parecer poco creíble, lo cierto es que si se atiende a lo ya conseguido en modelos razonadores, parece un opción muy válida, al menos para ciertas situaciones o tipos de problemas. 

De todas formas hay que tener en cuenta que también tiene sus limitaciones de las que nos advierten los autores: los LLMs no acaban de adaptarse bien a planes en que hay elementos o restricciones numéricas o temporales y tienden a ser demasiado optimistas y poco prácticos si no se establecen las debidas restricciones.

A cambio se desenvuelven bien, o al menos mejor que los tradicionales, en situaciones con incertidumbre, información incompleta o estados nuevos.



HTN ('Hierarchical Task Network')

Es una estrategia de planificación que trabaja mediante la descomposición jerárquica de tareas en subtareas aunque, eso si, a diferencia de algoritmos clásicos como STRIPS que trabaja con unas acciones primitivas muy claramente definidas, HTN trabaja con tareas más abstractas y luego va descomponiendo en otras más concretas.

Se trata de un enfoque flexible, que tiende a reflejar el modo de planificar humano y que escala y se adapta bien a problemas complejos 


La asignación de recursos: las herramientas, de nuevo


Al inicio de este post, al comparar el concepto de planificación del ámbito de la dirección de proyectos con el significado de planificación en inteligencia artificial, decíamos que no se tenía en cuenta ni tiempos ni costes y sólo parcialmente recursos. Estrictamente hablando, no es imposible incluir de alguna forma tiempos y costes en una planificación de inteligencia artificial, pero no es lo más habitual ni definitorio.

¿Y los recursos? Bueno, no suelen usarlos tanto en el sentido, por ejemplo, de las personas, equipos o empresas necesarias para realizar una tarea. Pero sí hay otros recursos que hay que tener en cuenta: las herramientas.

En efecto, hemos visto los mecanismos de planificación que son, en cierto sentido, mecanismos de pensamiento y razonamiento. Pero para que esto resulte útil en la mayoría de los casos, y para que el agente sea realmente un agente, debe poder actuar, cosa que, como explicábamos en el post anterior, lo hacen a través de las denominadas herramientas ('tools') que, de esta forma, se constituyen en los recursos necesarios para realizar una tarea.

Así que los agentes, también deben de ser capaces de conocer y razonar sobre las herramientas que tienen a su disposición, sabiendo de alguna forma lo que pueden y no pueden hacer. Y la propia planificación debe utilizar ese conocimiento sobre las capacidades disponibles para definir las acciones a llevar a cambo.


La planificación en la práctica de desarrollo


¿Y cómo se lleva todo esto a cabo en tiempo de desarrollo? ¿Cómo se construyen este tipo de soluciones?

Bien, en la obra citada, los autores ejemplifican casi todos los aspectos usando el framework CrewAI.

Además, y para aumentar un poco el abanico de posibilidades, también dan como opciones el uso del conocido LangGraph (parte de LangChain) o AutoGen.

O sea, que no sólo disponemos de grandes modelos de lenguaje, también existen ya frameworks que permiten construir el resto de elementos de un agente, incluyendo la planificación.


Conclusiones


Hemos visto cómo una parte nuclear de un agente es la planificación, algo ya tradicional en el campo de la inteligencia artificial pero que es necesario revisar, aportar nuevos algoritmos y estrategias, para realizar una planificación expresada en lenguaje natural y que se crea con el apoyo de un gran modelo de lenguaje. 


Artículos de este blog relacionados


martes, 22 de julio de 2025

Hablemos de agentes (VI): herramientas

Aunque cuando hablamos de agentes en el entorno de la 'Agentic AI', tendemos destacar la inteligencia artificial y concentrarnos en sus capacidades de razonamiento y autonomía, lo que realmente convierte en agentes a ese tipo de software no es realmente su inteligencia, sino su capacidad de actuar.

Recordemos que agente proviene, etimológicamente, de 'agere' (hacer) y que desde una larga tradición que explicamos en el primer artículo de esta serie, hablamos de entes (sean de inteligencia artificial o sean seres vivos) con capacidad de percibir su entorno (sentirlo) y de actuar sobre él.

Sin actuación no hay agencia, por mucha inteligencia que tenga la entidad.

En el caso de los agentes de la 'Agentic AI', su capacidad de actuar sobre el contexto proviene del uso de las denominadas, simplemente, herramientas ('tools').

Vamos a comentar algunas ideas sobre estas herramientas apoyándonos, como hasta ahora en esta serie de posts, en el contenido del libro 'Building Agentic AI systems' de Anjanava Biswas y Wrick Talukdar.


¿Qué es una herramienta?


Sin ponernos demasiado académicos (la verdad es que tampoco hay mucho espacio para el 'academicismo'), una herramienta no es más que un mecanismo que permite a un agente ponerse en contacto con el exterior, pudiendo, de esa forma, obtener información externa, solicitar acciones a entes externos y, en fin, extender sus capacidades, fundamentalmente de actuación, hacia otros elementos digitales e, incluso, hacia elementos físicos.

Mediante herramientas, un agente puede leer de una base de datos externas, invocar un API en la nube, acceder a un fichero local o, incluso, recoger información de un sensor o activar alguna forma de actuador físico. 


Tipos de herramientas


Aunque, en el fondo, una herramienta puede ser casi cualquier cosa que podamos crear digitalmente y poner al alcance del agente, en la obra citada se nos ofrece una clasificación de herramientas que puede resultar ilustrativa.


  • APIs: mecanismo fundamental y que casi recubre al resto. Mediante APIs podemos acceder a otros sistemas o a servicios locales o en la nube...un universo de posibilidades.

  • Herramientas de bases de datos: permiten el acceso a bases de datos para el almacenamiento y recuperación de datos. Con esto, además, se consigue persistencia de la información y poder acceder a información del pasado.

  • Funciones de utilidad: software personalizado que se ejecuta localmente en el mismo entorno que el agente y que pueden absorber tareas como el procesamiento y análisis de datos, cambios de formato o cálculos matemáticos.

  • Herramientas de integración: Herramientas para interconexión de sistemas y que permiten tareas como sincronización de calendarios, procesamiento de documentos o gestión de ficheros.

  • Herramientas de interfaz con hardware: herramientas que permiten la interacción con dispositivos físicos y que pueden ser usados en soluciones procesamiento de información de sensores, Internet de las Cosas o robótica, por ejemplo.

En realidad, diría que existe un cierto solape entre las tipologías propuestas y diría también que casi todas ellas se pueden considerar una forma más o menos especializada de API. Echo también en falta la inclusión de las soluciones de interacción con sistemas mediante sus pantallas, usando técnicas como 'screen scraping' tan comunes en RPA ('Robotic Process Automation') pero que han sido adoptadas también por agentes como en el famoso vídeo-demostración de 'Operator' de Open AI.

Sea como fuere, la clasificación vista nos ofrece una panorámica del tipo de cosas que las herramientas pueden poner al alcance de un agente.


El controlador


Desde que oí hablar por primera vez de este tipo de agentes, agentes cuyo cerebro es un gran modelo de lenguaje o un modelo fundacional, siempre me pregunté cómo se producía, ya en detalle, la invocación de, por ejemplo, una API por parte de un modelo de lenguaje.

Aunque calculo que pueden existir otras soluciones técnicas y que, incluso, en el futuro puedan aparecer otros planteamientos, en el libro mencionado al principio del post nos explican una solución que es muy sencilla y fácil de entender.

Lo que nos dicen es que, realmente, el modelo de lenguaje no invoca a las herramientas. Existe otra pieza, el controlador del agente, que realmente centraliza la lógica.

Es el controlador el que interacciona con las personas recogiendo sus peticiones (los 'prompts') y trasladándole a los usuarios la respuesta final del modelo de lenguaje. 

Es el controlador quien interactua con el modelo de lenguaje, trasladándole a su vez los 'prompts' del usuario y recibiendo, o bien las respuestas del modelo de lenguaje, o bien la petición de invocación a una herramienta.

Y es el controlador, finalmente, quien invoca realmente a las herramientas y quien devuelve al modelo de lenguaje la respuesta de esas herramientas.

En cierto sentido, el verdadero agente sería el controlador, aunque la inteligencia, y 'la magia', la ponga el modelo de lenguaje.


Aspectos a tener en cuenta


De cara a la implementación de unos agentes robustos, se nos sugiere tener en cuenta los siguientes aspectos:


  • Composición y encadenado: Es decir, los agentes habitualmente no invocan a una herramienta aislada sino que conforman flujos de trabajo ('workflows'), encadenando diversas llamadas a herramientas.

  • Selección y decisión: quizá, y como bien destaca la referencia en que nos apoyamos, uno de los elementos más críticos en los agentes. En el caso de sistemas más tradicionales y basados en reglas o flujos predefinidos, como es el caso de la ya mencionada RPA, esta selección se realiza, habitualmente, en tiempo de diseño y es el desarrollador quien la marca de acuerdo con las reglas de negocio y la lógica del robot/agente. Pero, en el caso de los agentes de la Agentic AI, dotados de una mayor inteligencia pero también que 'deciden sobre la marcha', la selección de la herramienta adecuada no es trivial y para realizarla los agentes deben evaluar el contexto y los requisitos en cada momento. En algunos casos, además, el agente se puede encontrar con la situación de que exista más de una herramienta adecuada y debe ser capaz de seleccionar la mejor.

  • Manejo de errores: Como en cualquier forma de software, incluso cualquier forma de automatización, es necesario prever las situaciones de error y las necesidades y mecanismos de recuperación, algo que puede llegar a ser más complejo que la propia actuación en los casos 'happy path'.

  • Gestión del estado de la herramienta: En algunos casos, las herramientas necesitan acciones de inicialización o de 'limpieza'. Por ello, los agentes deben manejar adecuadamente los estados de las herramientas y realizar correctamente, por ejemplo, la asignación y liberación de recursos.

  • Actualizaciones y versionado de herramientas: Como toda forma de software, las herramientas evolucionan con el tiempo y aparecen nuevas versiones. Por ello, los agentes deben ser capaces de gestionar esas actualizaciones, incluyendo asuntos como la compatibilidad o el dejar de usar funcionalidades obsoletas, así como adaptarse a las nuevas interfaces de las herramientas.

  • Seguridad y control de acceso: los agentes también han de tener en cuenta los aspectos de seguridad, como gestión de credenciales, especialmente cuando acceden mediante herramientas a datos sensibles o recursos críticos.

Agentes, RPA y herramientas


Como ya comentaba en su momento en el post 'La hibridación de los robots software: agentes frente a RPA y robots conversacionales', los agentes tiene diversos aspectos en común con los robots RPA ('Robotic Process Automation') y, probablemente, donde más coinciden e, incluso, en algunos aspectos se solapan, es precisamente en su uso de herramientas para la interacción con entornos digitales, aplicaciones y documentos, fundamentalmente, mediante APIs, conectores e, incluso, automatización de interfaz de usuario mediante 'screen scraping' como indicaba más arriba.


Conclusiones


Mediante el uso de herramientas, los agentes se puede poner en contacto con el mundo exterior y realizar todo tipo de acciones de lectura (datos o información de sensores), escritura y actuación.

Son las herramientas las que realmente convierten en agentes a este tipo de aplicaciones inteligentes.

Y la unión de la inteligencia del modelo de lenguaje, con las capacidades de actuación de las herramientas, abre unas inmensas posibilidades.


Artículos de este blog relacionados


miércoles, 16 de julio de 2025

La fábula del robot y la hormiga

Érase una vez un pequeño robot, alegre y entusiasta, que le gustaba trabajar con otros robots y colaborar para la consecución de grandes objetivos.

Había oído campanas sobre una disciplina, 'swarm robotics' (robótica de enjambre) que buscaba justo eso, la colaboración entre robots para alcanzar logros fantásticos.

Pero el pequeño robot no sabía cómo hacerlo, y vagaba despistado y un poco al azar, deseoso de colaborar con otros robots pero sin saber qué hacer.


Hormigas y búsqueda de alimento


Y deambulando andaba cuando se topó con un hormiguero. Dirigió su cámara hacia la entrada del hormiguero y, no sin forzar para ello su algoritmo de detección de objetos, se admiró al ver enormes cantidades de pequeños seres que interactuaban entre sí, cuidaban larvas y a la hormiga reina, defendían el hormiguero y, sobre todo, establecían largas filas en búsqueda, exitosa por cierto, de alimento.

Este último aspecto fue lo que más llamó la atención de nuestro pequeño robot. ¿Cómo eran capaces las hormigas de deambular por grandes espacios de terreno, comunicarse entre sí los hallazgos y, de forma eficiente, establecer esas largas filas de pequeñas obreras en busca de los preciados nutrientes? Parecía magia.

Así que, ni corto ni perezoso, el robot 'se plantó' delante de una hormiga y se lo preguntó. Dime admirada hormiga, ¿Cuál es vuestra magia? ¿Cómo os organizáis para encontrar el mejor camino hasta vuestro alimento?

Y lo que le contó la hormiga le fascinó, por lo eficaz y por lo sencillo.

Querido y metálico robotito, le dijo la hormiga, el secreto no está en la masa, como las pizzas, sino en las feromonas.

¿Y qué es eso de una feromona? volvió a la carga el robot

Pues las feromonas son sustancias químicas específicas que 'soltamos por ahí' y que otras hormigas detectan y así permanecen a modo de rastro durante un tiempo aunque hay que reconocer que poco a poco se evapora. Pero eso tampoco nos viene mal.

Vale pero ¿y cómo lo hacéis? ¿Cuál es vuestro algoritmo?

No tengo ni idea de lo que es un algoritmo, replicó la hormiga, pero sí te puedo contar cómo trabajamos.

Cuando no tenemos ni idea de dónde hay alimento, cuando 'partimos de cero' por decirlo de alguna manera, simplemente nos movemos al azar, a ver qué encontramos. Pero si tenemos suerte, si una de nosotras encuentra alimento, no se queda ahí admirándolo o 'poniéndose morada' sino que retorna al hormiguero, y por el caminos vamos soltando nuestro rastro de feromonas. Además, si el camino es cortito, dejamos un rastro más grueso de feromonas, para indicar a las compañeras que esa localización es 'guai' porque por muy obreras y 'hormiguitas' que seamos, si nos cuesta poco llegar al alimento, pues mejor ¿No te parece?

Y claro, como no somos tontas, si cuando vamos a salir en búsqueda de alimentos ya hay rastros de feromonas, pues nada de búsqueda al azar, sino que seguimos los rastros que ya existen, que para algo otras nos han hecho el trabajo. Eso si. no nos olvidamos de hacer nuestra aportación y depositar nuestras propias feromonas en ese camino..

¿Te das cuenta de lo simple que es esto, pequeño ingenio metálico?

Si al grueso del rastro que dejamos, mayor cuanto más corto el camino, unimos la evaporación, los caminos cortos tenderán a tener más feromonas que los largos, tanto porque depositamos más feromonas como porque da menos tiempo a que se evaporen antes de que lleguen nuevas compañeras. Sin embargo, los rastros de feromonas en los caminos más largos, tenderán a desaparecer. Y claro, las nuevas hormigas refuerzan, con sus propias fermonas, esas feromonas de los caminos más cortos.

Y de esa forma tan tonta, al final, es como optimizamos la búsqueda de alimento, porque, casi sin querer, sólo depositando 'como Dios manda' nuestras feromonas y siguiendo adecuadamente el rastro de feromonas de otras que nos precedieron, acabamos encontrando el camino óptimo hasta nuestro alimento.

¿Cómo lo ves?


El algoritmo ACO ('Ant Colony Optimization')


Muy admirado quedó el robot de la habilidad de las hormigas y de cómo, con mecanismos muy sencillos, habían resuelto y optimizado un problema complejo. 

Se despidió amablemente y se dijo: yo tengo que hacer lo mismo con otros robots.

Pero ¿Cómo lo hago, si yo no tengo feromonas?

Vale, feromonas no, pero sí que tengo estructuras de datos, algoritmos y capacidad de comunicación. Y otros robotitos como yo también los tienen.

Así que, pensando, pensando, llegó a conclusión de que podía representar mediante grafos las posibles opciones y los caminos entre ellas y que los diferentes robots compartiesen esa información. ¿Y las feromonas? ¿Qué serían? ¿Cómo marcarían los caminos? Pues nada, unos simples valores numéricos asociados a cada arco del grafo, e inicializados a cero al principio.

Al inicio, los robots elegirían recorrer el grafo de forma aleatoria o probabilista y cada robot, al recorrer el grafo, aumentaría un poco ese nivel de las feromonas numéricas de los arcos recorridos.

Pero claro, con eso sólo no valía, porque tendríamos más y más feromonas hasta el infinito. Así que el robot pensó en simular la evaporación mediante una función parametrizada mediante una tasa de evaporación, y que se ocupase de poco a poco disminuir el nivel de feromonas de los arcos (el numerito en cada arco) si no se producían nuevas aportaciones de feromonas.

Y así lo hizo. Y convenció a otros robots para que colaborasen con él usando el mismo algoritmos. Y fueron felices resolviendo colaborativamente problemas y consiguiendo grandes objetivos.


Moraleja


Cuando tienes que resolver un problema computacional complejo, no dejes de observar por si acaso la naturaleza por si algún ser vivo, o la propia naturaleza, lo ha resuelto ya, porque si es así, probablemente te inspire una solución válida y eficiente, y, lo que es más, con frecuencia basada en mecanismos sorprendentemente simples.


Nota


Aunque hemos atribuido a nuestro robot la invención del algoritmo ACO ('Ant Colony Optmization'), lo cierto es que esté fue diseñado por Marco Dorigo ya en los años noventa y que yo he tenido noticia de él y me he inspirado en el libro 'Robotic algortihms' de Gareth Morgan Thomas.


lunes, 14 de julio de 2025

Hablemos de agentes (V): reflexión e introspección

Algunas de las características que exhiben los agentes, los agentes artificiales basados en AI me refiero, emulan, aunque sea a grandes rasgos, las características cognitivas humanas e, incluso, suelen adoptar el nombre de éstas.

Tal es el caso de la reflexión ('reflection') e introspección ('introspection') de que nos ocupamos en este post, el quinto ya que dedico a los agentes de la Agentic AI y para cuyo desarrollo me apoyo en gran medida en el contenido del libro 'Building Agentic AI systems' de Anjanava Biswas y Wrick Talukdar.

Veamos ambos conceptos.


Reflexión ('reflection')


Respecto a la reflexión ('reflection'), los autores nos dicen


Reflection in LLM agents refers ​to their ability to examine their own thought processes, evaluate their actions, and adjust their approach.


Aunque los autores hablan de reflexión en el ámbito de agentes basados en LLMs ('Large Language Models'), que en el fondo son los que más nos interesan, en realidad creo que la definición vale para cualquier tipo de agente: la reflexión es la capacidad de un agente para examinar su propio proceso de pensamiento, evaluar sus propias acciones y ajustar su comportamiento futuro en consecuencia.

En ese proceso de reflexión el agente puede, de alguna manera, repetir ('replay') deliberaciones pasadas y los resultados obtenidos, con lo que puede tomar decisiones más informadas en el futuro.

Con base en ese análisis, se produce una adaptación ('adaptation') del agente, lo que significa que el agente cambia su estrategia con base en esa información.


Introspección ('introspection')


Muy relacionado con la reflexión, yo diría que casi se confunde con ella, tenemos el concepto de introspección ('introspection'). Los mismos autores definen introspección (referida a agentes inteligentes) como 


Introspection refers ​to the process by which an intelligent ​agent examines and analyzes its own cognitive processes, decisions, and behaviors.


Cunado un agente aplica introspección evalúa su propio razonamiento lo que le permite detectar errores, sesgos o ineficiencias. 

Aparte de, en general, la mejora en su desempeño, la introspección ayuda a un agente a gestionar la incertidumbre y la ambigüedad.


Implementación de capacidades reflexivas


A la hora de implementar esas capacidades de reflexión o introspección, es decir, de monitorizar, evaluar y mejorar su propio desempeño, los autores nos muestran cuatro grandes estrategias o técnicas para hacerlo, a saber:


  • Razonamiento tradicional: Aplica estrategias tradicionales basadas en reglas, algoritmos o patrones. Más que en el proceso de razonamiento, se centran en los objetivos y resultados

  • Metarazonamiento ('metareasoning'): En este caso sí que el foco se pone realmente en el razonamiento.

  • Autoexplicación ('self-explanation'): La auto explicación es el proceso por el que los agentes verbalizan su proceso de razonamiento. Esto, por un lado, y de cara al usuario humano, facilita la trasparencia ya que genera explicaciones sobre cómo ha llegado a una conclusión. Sin embargo, esta explicación también puede ser usada por el propio agente para reflexionar sobre su modo de funcionamiento (no olvidemos que los agentes de la Agentic AI se suelen basar en grandes modelos de lenguaje, que trabajan muy bien con información verbal).

  • Automodelado ('self-model'): El automodelo no deja de ser un modelo interno que el agente mantiene acerca de su conocimiento, objetivos y creencias. Este modelo sirve de base para el razonamiento. Como consecuencia de la reflexión o la introspección dicho modelo puede ser actualizado, modificando así el comportamiento futuro del agente


Aunque así descritas estas cuatro grandes técnicas puedan parecer abstractas y quizá algo teóricas, decir que en el libro que utilizo como base sus autores, no sólo detallan más estas capacidades sino que, además, muestran código python que las implementa para un caso de uso concreto y utilizando el framework CrewAI.


Conclusiones


Una de las características de los agentes, de varios tipos de agentes pero en este caso específicamente de los agentes de la AgenticAI, es su capacidad para la reflexión y la introspección que les permite monitorizar, evaluar y mejorar su desempeño basándose en el examen y mejora de sus propios mecanismos de razonamiento.

Una capacidad cognitiva avanzada que les confiere capacidad de adaptación y de manejo de la incertidumbre y que no se queda en un planteamiento meramente teórico, puesto que ya hay implementaciones reales para los mismos.


miércoles, 2 de julio de 2025

Hablemos de agentes (IV): sistemas multi-agente

En este post, el cuarto de la serie dedicada a hablar de agentes, vamos a dar el salto de considerar un agente individual, como hemos hecho hasta ahora (y como, con frecuencia, haremos en futuros artículos), a mirar hacia una multitud de agentes interaccionando entre sí.

Y, como en los posts anteriores de esta serie, la argumentación fundamental la obtendremos del libro  'Building Agentic AI systems' de Anjanava Biswas y Wrick Talukdar.


Un paradigma que viene de antiguo


Antes no puedo evitar una consideración. Esta idea de los sistemas distribuidos, integrados por unos módulos (que ahora llamamos agentes) que colaboran entre sí para resolver un problema o conseguir un objetivo, no es algo nuevo ni mucho menos.

Es un paradigma recurrente, que aparece una y otra vez a lo largo de la historia de la computación.

Por poner un ejemplo, cuando surgió con fuerza el paradigma de la programación orientada a objetos, allá hacia finales los años noventa (¡Uf! el siglo pasado), a veces se hablaba de los objetos precisamente como módulos que colaboraban entre sí para resolver un problema. No se me olvida una conferencia que pronunció en la ya desaparecida Telefónica Investigación y Desarrollo, allá por el año 94 o así, el mismísimo Grady Booch, a la sazón reconocido como experto en metodología de orientación a objetos, y cómo utilizó, como metáfora visual, la de las hormigas, precisamente por ese trabajo en colaboración entre los objetos.

Un poco en esa línea, surgió poco después la ya muy olvidada arquitectura CORBA ('Common Object Request Broker Architecture') que daba la base para un sistema de objetos distribuidos que podían colaborar entre sí.

Lo cierto es que aunque, en efecto, los objetos como tales han sido un éxito, no lo han sido tanto como sistemas colaborativos, sino mediante paradigmas de invocación y respuesta (una especie de cliente/servidor) con una lógica dirigida y que se aleja de la visión colaborativa de igual a igual. 

Y como estos, hay seguro muchos más ejemplos.

A pesar de esa recurrencia, creo que el éxito práctico de estos sistemas distribuidos de módulos colaborativos, entendiendo como éxito que se trate de un paradigma dominante y muchas implantaciones, yo lo juzgo, al menos hasta ahora, como bastante limitado.

¿Y por  qué sucede esto?

Pues, a bote pronto, diría que porque esos sistemas distribuidos son de un ámbito de aplicación más de nicho y porque creo que son inherentemente más complejos, así que, aunque como idea es muy atractiva (y tiene y tendrá ámbitos de aplicación interesantísimos) la mayor parte de las veces seguimos recurriendo a sistemas no distribuidos / colaborativos bastante más sencillos en la práctica.


Definición


En cualquier caso, el paradigma de los módulos que colaboran de igual a igual, vuelve con cierta fuerza en la Agentic AI en forma de sistemas multi-agente.

Los autores citados arriba, definen un sistema multiagente (MAS, 'Multi-Agent System') como:


un sistema compuesto por múltiples agentes autónomos que pueden interactuar, colaborar y cooperar para alcanzar objetivos compartidos.


Como se observa de la definición, lo importante no es sólo la modularidad sino, mucho más importante, la autonomía de esos agentes y la cooperación en la consecución de objetivos


Características


Los autores identifican las siguientes como las características fundamentales de los sistemas multi-agente:


  • Autonomía: Cada agente es independiente y se autogobierna con base en su percepción del entorno y sus objetivos. No existe un control centralizado.

  • Interacción: Los agentes se comunican entre sí mediante protocolos establecidos que les permiten intercambiar información, negociar tareas y coordinarse.

  • Adaptabilidad: Estos sistemas exhiben la capacidad de adaptarse y cambiar su comportamiento como respuesta a cambios en el entorno o en los objetivos de los agentes individuales.

  • Control distribuido: Como decíamos, el control no es central, sino distribuido entre los agentes. Esta forma de actuar proporciona resiliencia al conjunto frente a un eventual mal funcionamiento de un agente concreto.

  • Escalabilidad: Se trata de un planteamiento inherentemente escalable mediante la adición o eliminación de agentes en el sistema.

  • Heterogeneidad: Los agentes individuales dentro de un sistema multi-agente pueden ser diferentes entre sí, con diferentes capacidades y diferentes objetivos. Esto permite añadir nuevas posibilidades al conjunto.

  • Conocimiento y datos distribuidos: No sólo el control, también el conocimiento y los datos se encuentran distribuidos entre los agentes, proporcionando robustez al conjunto al evitar puntos únicos de fallo.


Mecanismos de interacción


Existen, tres esquemas o mecanismos básicos de interacción entre los agentes de un sistema multi-agente, a saber:


  • Cooperación: Los agentes trabajan conjuntamente para conseguir un objetivo común, un objetivo que, además, normalmente no pueden alcanzar por separado. Un ejemplo sería la cooperación de personas, drones y vehículos robóticos en la localización y rescate de víctimas de una catástrofe natural como un terremoto.

  • Coordinación: En este caso, existen interdependencias debido a solapes e incluso conflictos entre las responsabilidades y acciones de los diferentes agentes y es necesaria esa mayor coordinación. Algunos mecanismos de coordinación pueden ser la planificación de tareas, la asignación de recursos, etc. Podría ser el caso de robots colaborando en un proceso de producción.

  • Negociación: En este mecanismo los agentes alcanzan acuerdos entre ellos para la compartición de recursos, reparto de tareas, etc. Implica que los agentes hagan ofertas, contraofertas y alcancen compromisos. Utilizan técnicas como votaciones, subastas, etc. Tienden a aplicarse en situaciones de recursos limitados u objetivos que compiten entre sí.


Se observa que, como esquemas de trabajo e interacción, son muy genéricos y aplican a todo tipo de agentes, no sólo los agentes de la Agentic AI, aunque sea en ese contexto en que se mencionan en la obra citada y en que los traemos a colación en este post..

Además, y aunque no lo veremos aquí, esos mecanismos se pueden (y deben) concretar en protocolos específicos y detallados de interacción, algo de lo que seguramente hablemos en otro momento en esta serie.


Una conexión a explorar: swarm robotics


Hay una conexión, o un caso particular, si se quiere que, antes o después, espero explorar en este blog. 

Se trataría de la relación de esto que estamos viendo como sistemas multi-agente con la denominada robótica de enjambre ('swarm robotics').

Desde un punto de vista conceptual, sin ninguna duda esos enjambres de robots son sistemas multi-agente. Lo que quiero explorar es ya en el detalle de protocolos y algoritmos y comprobar cuántas coincidencias hay o si vemos realizaciones especializadas.


Conclusiones


Como vemos, el paradigma de los sistemas multi-agente viene de antiguo y existen planteamientos interesantes sobre su realización, aunque, quizá, todavía de no mucha implantación.

Quizá, el interés más inmediato sea comprobar hasta qué punto los nuevos agentes de la Agentic AI basados en LLMs o modelos fundacionales nos pueden permitir construir sistemas multi-agente prácticos y efectivos y de una manera relativamente sencilla.


Artículos de este blog relacionados


lunes, 30 de junio de 2025

Hablemos de agentes (III): arquitecturas reactivas, deliberativas e híbridas

Abordamos en este tercer artículo de la serie dedicada a los agentes, el tema de las arquitecturas de alto nivel de estos agentes.

Aunque, quizá, pueda parecer un tema algo abstracto y de alto nivel, personalmente me parece muy interesante, muy relevante y práctico, con aplicación real desde ya, y desde hace años, no ya en solo en la emergente Agentic AI, sino también en robótica.

Como en la mayor parte de los artículos de esta serie, me baso en buena medida en el libro  'Building Agentic AI systems' de Anjanava Biswas y Wrick Talukdar.

Como anuncia el título del post, vamos a revisar las tres grandes familias de arquitecturas:

  • Arquitecturas reactivas
  • Arquitecturas deliberativas
  • Arquitecturas híbridas

Arquitecturas reactivas


Las arquitecturas reactivas se basan en un modelo estímulo-respuesta en que, ante un estímulo, el agente proporciona, de manera inmediata, una respuesta. No disponen de una base de conocimiento y se basan en reglas sencillas que hacen corresponder a cada estímulo la respuesta adecuada.

Sus características y sus ventajas, serían:


  • Velocidad y capacidad de respuesta: Al acoplar directamente acciones a percepciones, sin una deliberación intermedia, consiguen muy buenos tiempos de respuesta.

  • Robustez y tolerancia a fallos: Por su simplicidad, son resistentes al ruido o la información incompleta y poco dadas a fallos catastróficos, ya que unos componentes tienden a compensar a otros.

  • Manejo de la incertidumbre: Se pueden adaptar directamente a estímulos cambiantes sin necesidad de disponer de un modelo del entorno o una base de conocimiento.

  • Procesamiento paralelo y distribuido: Permiten, y con frecuencia así se hace, su implementación usando módulos reactivos paralelos. Esto habilita el tratamiento de tareas más complejas y proporciona escalabilidad y modularización.

  • Emergencia de comportamientos complejos: A pesar de su simplicidad, los sistemas reactivos pueden presentar comportamientos emergentes complejos e inteligentes.

Este tipo de arquitecturas se utilizan en sistemas que deben funcionar en tiempo real donde la robustez y el tiempo de respuesta son fundamentales, como en sistemas de control, videojuegos o robótica, de la que luego hablaremos brevemente.

Por desgracia, también plantean algunas desventajas. Así, carecen de la capacidad de planificación a largo plazo. También presentan dificultades para tratar con tareas que necesitan de pensamiento abstracto y, además, su capacidad de aprendizaje a partir de la experiencia es muy limitada, lo que también coarta su capacidad para la adaptación en el tiempo.

 

Arquitecturas deliberativas


En las arquitecturas deliberativas se utilizan unas reglas explícitas de razonamiento basadas en unos conocimientos, una base de conocimiento, también explícita y habitualmente expresada mediante un lenguaje formal. Es la arquitectura propia de los sistemas simbólicos

Suelen seguir un ciclo percibir-planificar-actuar ('sense-plan-act') según el cual, primero se obtiene (percibe) información del entorno, luego se planifica la actuación con base a lo percibido y los conocimientos de la base de conocimientos y, finalmente, se ejecuta la acción. Los pasos serían:


  • Percepción ('sensing'): El agente adquiere información de su entorno mediante sensores o mecanismos de entrada.

  • Actualización del conocimiento: Con la información percibida, se actualiza la base de conocimiento, asegurando una adecuada y actualizada representación interna del entorno del agente.

  • Planificación y razonamiento: A partir de la base de conocimiento y aplicando los algoritmos adecuados (algoritmos de búsqueda, inferencia lógica, etc), el agente aplica técnicas de razonamiento para obtener un plan de acción

  • Ejecución del plan: El agente aplica las acciones definidas sobre el entorno, habitualmente modificándolo de alguna manera.

La principal ventaja de este tipo de arquitecturas es su capacidad para afrontar problemas complejos. También son capaces de enfrentarse a problemas con incertidumbre o ambigüedad usando técnicas como el razonamiento probabilista o la lógica difusa ('fuzzy logic').

Sin embargo, también adolecen de algunas debilidades. Quizá el mayor problema sea conseguir esa base de conocimiento en dominios en constante evolución o sobre temáticas difíciles de formalizar. Adicionalmente, son arquitecturas costosas computacionalmente.

 

Arquitecturas híbridas


Como ocurre en tantas cosas, para superar las limitaciones de modelos más o menos puros, se acude a modelos intermedios o híbridos. Y las arquitectura de agentes no son una excepción y también se plantean arquitectura híbridas que incluyen una capa  reactiva para las respuestas rápidas en tiempo real y una capa deliberativa para la planificación y el razonamiento de alto nivel.

En estas arquitecturas la interacción entre las dos capas es fundamental, proporcionando la capa reactiva información en tiempo real a la deliberativa, y aportando por su parte la capa deliberativa planes de alto nivel, restricciones, etc que matizan el comportamiento reactivo.

Para conseguir comportamientos complejos, estas arquitecturas aplican técnicas como:


  • Descomposición de tareas: Los trabajos se descomponen en tareas realizadas por las capas. Así, las tareas de bajo nivel o críticas en el tiempo son realizadas por la capa reactiva mientras que las tareas de planificación y coordinación son gestionadas por la capa deliberativa.

  • Selección multiplan: La capa deliberativa puede general planes múltiples y es la capa reactiva la que, en función de la situación del entorno, elige el más adecuado.

  • Planificación con módulos externos: La capa deliberativa puede incorporar módulos externos para tareas complejas, como algoritmos de planificación, optimización de rutas o de asignación de recursos.

  • Reflexión y refinamiento: la capa deliberativa también puede 'reflexionar' sobre los resultados obtenidos en los planes ya ejecutados, aprender de la experiencia y refinar su razonamiento.

  • Planificación con memoria aumentada ('memory-augmented planning'): la capa deliberativa puede mantener una memoria de los planes pasados, las decisiones, los resultados, etc y apoyarse en ellos para futuros razonamientos o planificaciones.

En principio, estas arquitecturas híbridas ofrecen lo mejor de los dos mundos, pero no son tan sencillas de definir y desarrollar y actualmente es un campo en activa investigación.

El caso de la robótica


Ya hemos mencionado repetidas veces en este blog, incluso en esta serie de posts dedicados a los agentes, que una de las mejores formas de iniciar la definición de lo que es un robot, es partiendo de la idea de agente inteligente.

Y, en efecto, y como ya comentamos hace dos años en el post 'Sobre la arquitectura operativa de robots inteligentes', estas mismas arquitecturas se llevan aplicando en robótica desde hace un tiempo.

Especialmente, y en acciones docentes, suelo resaltar la importancia de la capa reactiva y los denominados comportamientos ('behaviors') que pueden conducir, a partir de una programación / configuración relativamente sencilla del robot, a comportamientos emergentes muy adaptados y en apariencia inteligentes.


El paralelismo neurológico-cognitivo


Y en ese mismo post nos hacíamos eco de algo que creo que es interesante y que quiero volver a traer a colación aquí, y es la inspiración y cierto paralelismo de estas arquitecturas con el funcionamiento de los seres vivos en general y el ser humano, el agente por excelencia, en particular.

Así, la capa reactiva se corresponde bastante bien con los comportamientos automáticos, especialmente los comportamientos reflejos del ser humano, mientras que la capa deliberativa 'mapea' bien con los procesos de razonamiento y decisión conscientes.

En cierto modo, podemos pensar que los seres humanos exhibimos una avanzada arquitectura híbrida.


Conclusiones


Vemos dos esquemas básicos de arquitectura, la reactiva y la deliberativa y una vía intermedia o, casi mejor, conjunta. 

Las arquitecturas reactivas, muy implementadas y exitosas, construyen comportamientos más o menos complejos a partir de simples pares estímulos respuesta. 

Por su parte, las deliberativas, más complejas y todavía con mucho desarrollo posible por delante, proporcionan planificación y razonamiento.

Como síntesis de ambas, tenemos las arquitecturas híbridas, bastante en investigación, y que proporcionan un valioso y no casual paralelismo con la actuación humana, y que, caso de conseguirse implementaciones avanzadas, podrían suponer un enorme salto cualitativo en sistemas cognitivos de todo tipo.


Artículos de este blog relacionados

viernes, 27 de junio de 2025

Desmontando mitos sobre el emprendimiento con Carlos Molina del Río

'Las cinco mentiras de Silicon Valley' es un libro sobre emprendimiento, un libro que, aunque se apoya en conocimientos sólidos, es fundamentalmente experiencial, nacido de lo aprendido en las dos startups en que el autor ha participado, una fracasada y otra exitosa. Y con ese bagaje, revisa cinco mitos, cinco mentiras existentes sobre el emprendimiento y las startups y los cuestiona y reformula bajo la luz de esa experiencia y los aprendizajes obtenidos.

En su desarrollo, el autor acude, como digo, sobre todo a su propia experiencia, pero también aporta algún concepto teórico y sobre todos casos de empresas conocidas como Google, Apple, OpenAI, Duolingo, Dropbox, etc

El libro, que es de una extensión mediana tirando a corta, se estructura en siete capítulos:
  • 1. Los reyes de la piscina de Logroño: Hace primero una especie de corta introducción al libro intentando ya desmontar lo que denomina el 'sesgo del superviviente' que hace pensar que con sólo tenacidad y esfuerzo se puede conseguir el éxito y, en seguida salta ya a la experiencia personal relatando cómo en su juventud él y sus amigos inventaron un juego que practicaban en la piscina y que atraía las miradas de muchos chicos y chicas a su alrededor... y que, con el tiempo, inspiraría su primera aventura de emprendimiento en el campo de los videojuegos: 89bits. Y nos explica, con bastante detalle y cercanía, cómo trabajaron él y sus amigos, las ilusiones que pusieron... y todos los errores que cometieron por el camino. Una experiencia que, de alguna manera, hace entender al autor en qué consiste y, sobre todo, cómo funciona (o no funciona) realmente el emprendimiento y que se concreta en las cinco mentiras que ocupan el cuerpo central del libro.

  • 2. Primera mentira: la idea es todopoderosa: Desmonta la concepción de que basta con tener una buena idea para triunfar, alumbrando además algunos elementos a tener en cuenta como que no hay que pensar que seremos los únicos en tener esa idea, que las ideas tienen que ser válidas en el momento actual (no en el futuro) o que un emprendedor no debe enamorarse de su idea sino del problema y exhibir la suficiente flexibilidad para ir adaptando la solución.

  • 3. Segunda mentira: El éxito llegará de la noche a la mañana: ataca la concepción de que el éxito llega de forma rápida y masiva, argumentando que, si llega, puede tardar en aparecer y puede ser de crecimiento lento, por lo que es necesario estar preparado para sobrevivir (sobre todo financieramente) mientras eso se produce (si es que se produce) generando los ingresos suficientes, teniendo en cuenta, además, que la mayor parte de las startups no sobreviven más allá de dos o tres años.

  • 4. Tercera mentira: el cielo es el límite: Cuestiona y replantea la naturaleza del éxito en un emprendimiento, rebajando expectativas y asumiendo que no necesariamente el éxito debe ser unos ingresos o un crecimiento espectaculares, que quizá la supervivencia siendo capaz de mantener económicamente al emprendedor o a un pequeño equipo puede ser suficiente. Por el camino revisa algunas ideas existentes respecto a la pasión, el talento, el esfuerzo o el 'timing'.

  • 5. Cuarta mentira: Haz un buen producto y el cliente acudirá: Se centra en la importancia de ir a buscar a los clientes y no suponer que llegarán. Así habla de cosas como la viralización y revisa estrategias como las de Dropbox o Duolingo.

  • 6. Quinta mentira: No necesitas ser rentable si tienes una buena financiación: Aborda, claro, el tema de la financiación. Explica, por ejemplo, cómo funciona el 'venture capital' para inmediatamente hacer ver que muchas startups con financiación fracasan igualmente y destaca la importancia de alcanzar la rentabilidad cuanto antes. Además, pone de manifiesto que no siempre se necesitan las rondas de financiación y que su tu negocio necesita de pocos recursos el prendedor puede sacarla adelante con sus propios recursos y esfuerzo (el denominado 'bootstraping').

  • 7. Lo importante era la piscina: Una suerte de conclusión, una conclusión además en tono muy personal donde, tras haber explicado en los capítulos anteriores, sobre todo el primero, todos los errores cometidos en su primera iniciativa emprendedora, 89bits, ahora habla de su nuevo emprendimiento, éste sí exitoso: Multiversial. Nos habla del compromiso y revisita de nuevo la idea del éxito y, en general, cómo ha enfocado (o está enfocando) los diversos aspectos explicados a propósito de cada una de las cinco mentiras o mitos. Y remata con una recomendación final: disfrutar con la resolución de los problemas.
'Las cinco mentiras de Silicon Valley' es un libro sincero, informado pero vivencial, muy práctico y muy 'pegado a tierra', que arroja luz sobre la verdadera naturaleza del emprendimiento. Un libro en el que muchos emprendedores pueden reconocerse y ver reflejadas sus propias vivencias y de dónde pueden obtener mucha orientación quienes se puedan estar planteando emprender.

Carlos Molina del Río

(Fuente: Elaboración propia de la información en su perfil en LinkedIn)

Carlos Molina del Río
Emprendedor y especialista en 'product management' con en torno a 20 años de experiencia creando productos y negocios tanto en Telefonica como fundando startups en industrias como videojuegos, eHealth, MarTech, AdTech y redes sociales.

Líder de producto y evangelizador de 'stakeholders' internos, clientes externos, comunidad de 'product management' y socios estratégicos para inspirar y promover la ideación, experimentación, desarrollo técnico, lanzamiento de productos innovadores y características basadas en el aprendizaje automático sobre los datos de los clientes y con una clara diferenciación basada por su experiencia técnica en aprendizaje automático e inteligencia artificial.

Especializado en dirigir la concepción, el desarrollo técnico y el lanzamiento de productos de nueva generación basados en el conocimiento de los datos.

Líder de equipo colaborativo y atractivo, reconocido por crear, motivar y dirigir equipos ágiles de alto rendimiento y colaborador eficaz entre 'stakeholders' de todo el mundo para recopilar e interpretar consideraciones, problemas o limitaciones de los productos y descubrir soluciones innovadoras para los productos.

Su visión es incorporar un enfoque 360º que abarque la tecnología, las operaciones, el marketing, las relaciones con los clientes y la visión global para impulsar la innovación de productos.

Actualmente, Carlos hace convivir su rol como director de producto en Utiq con su papel de fundador y editor en jefe de la newsletter Multiversial.

Anteriormente, y en dos etapas diferentes, estuvo dieciséis años en tres unidades diferentes de Telefónica, entre los que se intercalan los tres años que dedicó a la empresa por el co-fundada 89bits Entertainmet Studio.

En 2025 publica el libro 'Las cinco mentiras de Silicon Valley' donde relata su experiencia y vision personal sobre el emprendimiento.

Carlos es Ingeniero de Telecomunicaciones y tiene un MBA por IESE y un Máster de 'Product Management' por la Universidad de Berkeley.

Puedes saber más del autor, consultando su perfil en LinkedIn o visitando su newsletter en substack donde se identifica como @multiversialnewsletter.

Ficha técnica:


EDITORIAL: Deusto
AÑO: 2025 
ISBN: 978-8423438402
PAGINAS: 231 

miércoles, 25 de junio de 2025

Hablemos de agentes (II): auto-gobierno, agencia y autonomía

En el primero de los posts dedicados a hablar de agentes y de Agentic AI, esbozamos al final tres características que deben exhibir, tres características que identificaban Anjanava Biswas y Wrick Talukdar, en su libro 'Building Agentic AI systems' y que eran: auto-gobierno, agencia y autonomía.

En este segundo post de la serie, de momento vamos sólo a ampliar la información sobre esas tres características esenciales, con base en la obra citada, para posteriormente poder, si llega el caso, trabajar con ellas y, sobre todo, para comprenderlas mejor..


Auto-gobierno ('self-governance')


Como vimos en el post anterior, auto-gobierno ('self-governance') se refiere a la capacidad de una entidad de controlarse a sí misma de manera autónoma, sin dirección o control externo.

En el caso de los agentes de la Agentic AI eso se traduce en que el supuesto agente es capaz de establecer sus propios objetivos, tomar sus propias decisiones y regular su comportamiento con base en sus propios modelos, reglas y algoritmos. 

Los autores citados, mencionan cinco aspectos clave de ese auto-gobierno, a saber:


  • Auto-organización ('self-organization'): Capacidad del agente para estructurar y organizar sus recursos y comportamiento internos sin intervención del exterior.

  • Auto-regulación ('self-regulation'): Capacidad para monitorizar y ajustar las propias acciones con base en 'feedback' obtenido del entorno o del propio estado interno, con vistas a asegurar que el agente funciona de acuerdo con los parámetros o restricciones deseadas.

  • Auto-adaptacón ('self-adaptation'): Capacidad para modificar el propio comportamiento, estrategias o procesos de decisión como respuesta a cambios en el entorno o la propia situación interna del agente y siempre con vistas a conseguir sus objetivos de manera más efectiva

  • Auto-optimización ('self-determination'): Capacidad para mejorar de manera continua el propio desempeño del agente, su eficiencia o procesos de decisión a partir de aprendizaje, experiencia o procesos evolutivos.

  • Auto-determinación ('self-determination'): Capacidad del agente para establecer sus propios objetivos, prioridades o procesos de decisión sin ser completamente controlado por fuerzas externas.


Agencia ('agency')


Por su parte, la agencia ('agency'), como ya vimos, se refiere a la capacidad de actuar de forma independiente y, sobre todo, de elegir entre diferentes opciones

En este apartado, los autores identifican a su vez, tres elementos clave:


  • Autoridad de decisión ('decisional authority'): Capacidad del agente para identificar y evaluar diferentes opciones o cursos de acción y seleccionar el más apropiado de acuerdo con los procesos de decisión internos.

  • Intencionalidad ('intentionality'): existencia de intenciones u objetivos que guían las acciones y comportamientos del agente.

  • Responsabilidad ('responsibility'): responsabilidad por las decisiones adoptadas, las acciones realizadas sobre el entorno y las consecuencias de las mismas.


Autonomía ('autonomy')


Finalmente, la autonomía ('autonomy'), que ya anunciábamos que estaba muy relacionada con la agencia, con foco, eso sí, en identificar el nivel de independencia que el agente, posee y que, según la obra cotada, se puede descomponer en tres aspectos:


  • Autonomía operativa ('operational autonomy'): Capacidad para la ejecución de tareas o conjuntos de tareas sin intervención humana directa sino con base en sus procesos internos y algoritmos de decisión.

  • Autonomía funcional ('functional autonomy'): Capacidad de tomar decisiones y llevar a cabo acciones para conseguir los objetivos establecidos adaptando, si es necesario, el comportamiento a cambios en el entorno o la recepción de estímulos.

  • Autonomía jerárquica ('hierarchical autonomy'): Ámbito de decisión y mayor o menor supervisión por entes de nivel superior


Conclusiones


Estas tres rasgos clave, auto-gobierno, agencia y autonomía, caracterizan lo que es un agente. Y llamo la atención, como hice en el primer post de la serie que, si nos olvidamos por un momento de que, implícitamente, estamos pensando en inteligencia artificial, realmente podríamos hablar de estas características en un ser vivo, especialmente un humano, y con pequeños ajustes, seguirían siendo perfectamente válidos.


Artículos de este blog relacionados

miércoles, 18 de junio de 2025

Hablemos de agentes (I): concepto, contexto y tres características esenciales

No cabe duda de que los agentes, y la agentic AI es uno de los 'buzzwords' de los pasados meses y muy probablemente de los venideros. 

Se trata de un tema que me interesa sobremanera, aparte de su interés intrínseco y como tendencia tecnológica, por su potencial, por las conexiones con los mecanismos cognitivos y por su eventual traslado a la robótica.

Como parte de la labor de estudio e investigación sobre el particular iniciada ya hace un tiempo, hace unos pocos días terminé la lectura del libro 'Building Agentic Ai systems' de  Anjanava Biswas y Wrick Talukdar, libro que debo decir que ha superado mis expectativas (reconozco que inicialmente no eran muy altas) y que me inspira a iniciar una serie de posts con algunos de los aspectos que en esa fuente se tratan.

En este primer post de la serie (que no tengo claro en este momento cuántos artículos incluirá),no voy a profundizar mucho, todavía, en las ideas de ese libro sino que voy a hacer primero un breve recordatorio del significado de lo que es un agente y cómo se sitúa en el contexto de la psicología, la filosofía, la inteligencia artificial y la robótica, para luego apuntar, de nuevo brevemente qué es eso de la Agentic AI y qué trae de nuevo en esta idea de agentes. Hecha esta introducción, enunciaré, sólo enunciaré, las tres características que los autores de la obra mencionada consideran esenciales en un agente.


A modo de pequeña introducción histórica: ¿Qué es un agente?


Creo haberlo ya hecho en algún post anterior, pero retomo brevemente la idea de lo que es un agente. Y lo hago recordando, de nuevo, que el concepto de agente es antiguo, bastante antiguo, y que se ha aplicado en entornos muy diferentes como el psicológico y filosófico (en cierto sentido incluso legal) y que, no sólo eso, sino que también su uso en inteligencia artificial y en robótica viene de bastantes años atrás

El término agente proviene del Latín 'agere' que es algo así como hacer. En cierto sentido es, simplemente, una entidad capaz de actuar.

Pero, claro, aunque esa es la etimología, encierra un poco más. La idea viene a ser que esa entidad, es capaz de reconocer el mundo que le rodea y actuar sobre él y, además, de alguna manera, en esa actuación hay alguna forma de lógica, de voluntad, de persecución de objetivos.


El ser humano como agente


Para que quede claro: el concepto de agente es previo a la tecnología y, de hecho, el 'agente' más típico, casi paradigmático, es el propio ser humano.

El ser humano percibe el mundo que le rodea mediante sus sentidos y lo comprende mediante su cerebro. El ser humano puede actuar físicamente sobre el entorno usando su propio cuerpo (sus manos, sus piernas, etc), apoyándose en el uso de herramientas o, incluso, puede actuar indirectamente influyendo en otros mediante, por ejemplo, la palabra. 

Y esa actuación del ser humano está regida por la voluntad, por la decisión.

El ser humano, es el paradigma de agente. 


Los agentes, la ética y la ley


Y esa idea del ser humano es muy importante desde hace siglos en el campo de la ética. Y, así, se habla de un agente moral cuando ese agente es capaz de entender las implicaciones de sus actos, valorarlos desde el punto de vista ético y decidir en consecuencia.

Importante en esta idea del agente moral es ese entendimiento de la consecuencia de los actos y también la autonomía y la independencia para decidir cómo actuar. Esa independencia y autonomía en la decisión nos lleva a la idea del ejercicio de una voluntad y la asunción de una responsabilidad.

Si echamos un vistazo muy somero a la aplicación de las leyes, vemos que esta idea de la agencia moral y, sobre todo de la independencia y autonomía en la decisión (vamos a decir la responsabilidad), es fundamental a la hora de decidir culpabilidades y posibles condenas. Es por eso, que se considera un atenuante la enajenación mental transitoria, porque se supone que el eventual delincuente, en el momento de realizar su acto delictivo no era consciente de lo que estaba haciendo,  no entendía las consecuencias de sus actos, no estaba decidiendo realmente por su propia voluntad y, por tanto, no era responsable de sus actos o no plenamente responsable.


Los agentes y los robots


Pero ¿esto tiene algo que ver con la inteligencia artificial y los robots?

Pues si. Mucho.

De hecho, autores como Russell y Norvig, en su afamado libro 'Artificial Intelligence: A modern approach' estructuran su definición de inteligencia artificial en torno a la idea de los agentes.

Igualmente, y aunque la definición del término robot es confusa y discutida, probablemente una de las mejores formas de entender lo que es un robot, es trabajando desde el concepto de agente. En el post 'Una nueva especie robótica: los agentes' recordaba la explicación que yo mismo daba en mi libro 'Robots en la sombra' de lo que es un robot y que parte de la idea de agente:


Los robots como agentes

Los robots son una forma de agente. Se trata de entidades que capturan información sobre el mundo que les rodea usando sus sensores. De alguna forma entiende, al menos lo suficiente, ese entorno por un análisis de la información obtenida de los sensores y procesada, a veces, mediante inteligencia artificial. Además, son capaces de actuar sobre ese entorno: disponen de sus 'efectores', de sus elementos terminales para la actuación física directa, y algunos robots, por ejemplo los robots sociales, son capaces de utilizar el lenguaje y la voz para la influencia indirecta en ese entorno. Y la conexión entre lo que el robot percibe sobre su entorno y cómo actúa sobre él no es arbitraria sino que se ciñe a alguna forma de reglas o 'razonamiento' que hace que actúen para alcanzar sus objetivos o cumplir con su misión.

Sería 'meternos en un charco' el intentar hablar de voluntad en el caso de un robot. Pero lo que no cabe duda es que hay coherencia, hay dirección y hay alguna forma, aunque sea básica, de inteligencia en su comportamiento.

Como defendía en mi libro 'Robots en la sombra', esta idea no sólo se puede aplicar a los robots normales, los robot físicos, sino también a los robots software como robots RPA o agentes conversacionales.


La Agentic AI


Y esto nos deja ya a las puertas de la Agentic AI y de los 'nuevos agentes' de que hablamos ahora.

Como hemos visto la idea de 'agente' no es nueva y, en cierto sentido, se la apropia inadecuadamente la nueva 'Agentic AI' como si fuera algo por ella inventado.

Los agentes de que nos habla la Agentic AI son, en efecto, agentes, una clase de agentes. Hablamos de unos programas o módulos software que se construyen alrededor de un gran modelo de lenguaje (prefiero casi decir de un modelo fundacional, porque va más allá del lenguaje), pero un modelo avanzado de los denominados razonadores que son capaces de crear sus propios planes de acción y modificarlos dinámicamente. Además, son capaces de interactuar con el exterior usando lo que se denominan 'herramientas', entre las que se puede incluir la invocación de cualquier API o el uso de cualquier conector.

Se trata unos agentes software (yo diría que unos robots software) con una características avanzadas y que yo entiendo como una especie de fusión conceptual entre RPA y un chatbot generativo.

Los robots RPA ya son capaces de interactuar directamente el el exterior mediante APIs y conectores, o accediendo directamente a pantallas o documentos. Como explicaba en 'La hibridación de los robots software: agentes frente a RPA y robots conversacionales', los agentes de la agentic AI se parecen en muchos sentidos a los robots RPA pero cambian un ingrediente fundamental: si en los robots RPA su lógica de actuación, digamos su cerebro, está 'grabada a fuego' en tiempo de desarrollo y se basa en reglas traducidas a flujos, en el caso de los agentes de la Agentic AI, la actuación se decide en tiempo de ejecución, la decide el propio agente y se implementa con modelos fundacionales razonadores, no mediante reglas ni flujos.

Y frente a un chatbot generativo, como ChatGPT, que ya use modelos razonadores, lo que traen de nuevo los agentes es, fundamentalmente, la capacidad de interacción con el exterior mediante herramientas.

Los nuevos agentes de la Agentic AI, pues, a nivel conceptual no traen tanto de nuevo y son una especie de fusión entre un chatbot generativo y un robot RPA.

Sin embargo, eso que dicho así parece una evolución pequeña, no lo es. No es pequeña en absoluto. La potencia de estos modelos razonadores (que, por tanto, razonan de forma compleja y dinámica y por sí mismos) unida a la capacidad de interacción con el exterior, nos lleva a unos módulos software autónomos, capaces de 'decidir por sí mismos' qué pasos dar para conseguir el objetivo que tienen encomendado y seleccionar dinámicamente las herramientas que necesitan para hacerlo.

Casi una revolución.


Tres características de un agente


Tras esta introducción a lo que es un agente en general, y en la Agentic AI en particular, de momento sólo enunciar, y lo desarrollaremos en futuros posts, las tres características esenciales que los autores citados al principio, identifican como esenciales para un agente (de la Agentic AI). Son las siguientes:


  • Auto-gobierno ('self-governance'): La capacidad de la entidad para controlarse a sí misma sin dirección o control externo.

  • Agencia ('agency'): Capacidad de actuar independiente y, sobre todo, de elegir.

  • Autonomía ('autonomy') muy relacionada con la agencia, pero más centrada en identificar el nivel de independencia que la entidad, el agente, posee.


Desarrollaremos un poco más cada uno de estos tres puntos en futuros posts, pero no dejo de llamar la atención de que, aunque se van a referir a agentes de la Agentic AI, tanto el propio término utilizado, como el concepto en sí mismo, enlaza perfectamente con la idea de agente en general e, incluso, con el agente paradigmático que es el ser humano.


Conclusiones


El concepto de agente es muy antiguo y se ha aplicado desde hace siglos en filosofía, ética o psicología y desde hace años en inteligencia artificial y robótica. Los nuevos agentes, los agentes de que nos habla la Agentic AI, son módulos software regidos por modelos fundacionales razonadores, con capacidad por tanto para elaborar y modificar sus propios planes de acción, y además con acceso a un amplio y creciente catálogo de herramientas que les permiten entender y, sobre todo, actuar sobre su entorno.

Eso nos conduce a unos muy potentes programas autónomos, 'inteligentes' y con capacidad de decisión y actuación (que es lo que, en el fondo, significa ser agente).