acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6260all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6260wp-user-avatar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6260The post Ingeniería Prompt para la flexibilidad cognitiva – LLM first appeared on Planeta Chatbot.
]]>El desarrollo de agentes de inteligencia artificial que puedan, entre otras cosas, pensar, planificar y decidir con una destreza similar a la humana es un área destacada de investigación y debate en la actualidad. Por el momento, los LLM han tomado la delantera como base fundamental de estos agentes. Al perseguir capacidades cada vez más complejas, independientemente de los LLM que se utilicen, inevitablemente nos encontramos con los mismos tipos de preguntas una y otra vez, entre ellas:
Este artículo explora estas cuestiones a través de un miniexperimento que he llevado a cabo recientemente y que aprovecha el último benchmark MMLU-Pro. Los hallazgos conducen a algunas ideas interesantes sobre la flexibilidad cognitiva y cómo podríamos aplicar este concepto de la ciencia cognitiva a nuestro agente de IA y a nuestros esfuerzos de ingeniería prompt.
El recientemente publicado benchmark MMLU-Pro (Massive Multitask Language Understanding) pone a prueba los límites de capacidad de los modelos de IA presentando un conjunto de tareas más robusto y desafiante en comparación con su predecesor, MMLU [1]. El objetivo era crear una evaluación exhaustiva que cubriera una amplia gama de temas, exigiendo a los modelos que poseyeran una amplia base de conocimientos y demostraran la capacidad de aplicarlos en contextos variados. Para ello, MMLU-Pro pone a prueba los modelos con preguntas tipo test muy complejas, orientadas al razonamiento y repartidas en 14 dominios de conocimiento diferentes.
Todos estamos familiarizados con los exámenes tipo test por nuestra propia trayectoria académica. Las estrategias que utilizamos en este tipo de pruebas suelen consistir en una combinación de razonamiento, resolución de problemas, memoria, eliminación, inferencia y conjetura. Nuestra capacidad para alternar sin problemas entre estas estrategias se basa en la flexibilidad cognitiva, que empleamos para adaptar nuestro enfoque a las exigencias de cada pregunta concreta.
La flexibilidad cognitiva abarca capacidades mentales como cambiar de un concepto a otro y pensar en varios conceptos a la vez. Nos permite adaptar nuestro pensamiento a cada situación. ¿Es este concepto potencialmente útil para nuestro agente de IA y para nuestros esfuerzos de ingeniería? Antes de analizarlo, examinemos un ejemplo de pregunta de MMLU-Pro en la categoría «negocios»:
Pregunta 205: Si los beneficios anuales por acción tienen una media de 8,6 $ y una desviación típica de 3,4 $, ¿cuál es la probabilidad de que un BPA observado sea inferior a 5,5 $?
Respuestas: A: 0,3571, B: 0,0625, C: 0,2345, D: 0,5000, E: 0,4112, F: 0,1814, G: 0,3035, H: 0,0923, I: 0.2756, J: 0.1587
Aunque categóricamente etiquetada como «negocios», esta pregunta requiere conocimientos de estadística. Tenemos que normalizar el valor y calcular cuántas desviaciones estándar se aleja de la media para obtener una estimación de la probabilidad. Esto se hace calculando la puntuación Z de la siguiente manera:

Dónde:
X es el valor en cuestión (5,50 $ en este caso).
μ es la media (dada como 8,6 $).
σ es la desviación típica (dada como 3,4 $).
Si sustituimos esos valores en la fórmula obtenemos -0,09118. A continuación, consultamos la tabla de distribución normal estándar y descubrimos que la probabilidad de que Z sea inferior a -0,9118 es de aproximadamente el 18,14%, que corresponde a la respuesta «F» de nuestras opciones.
Creo que se puede afirmar con seguridad que se trata de un problema no trivial que debe resolver un LLM. La respuesta correcta no se puede memorizar y hay que calcularla. ¿Tendría un LLM los conocimientos y la flexibilidad cognitiva necesarios para resolver este tipo de problema? ¿Qué estrategias de ingeniería prompt podríamos emplear?
Al abordar el problema anterior con un LLM, podríamos plantearnos: ¿tiene nuestro modelo elegido los conocimientos de estadística necesarios? Suponiendo que los tenga, ¿cómo podemos activar de forma fiable los conocimientos sobre distribuciones normales estándar? Y, por último, ¿puede el modelo imitar los pasos del razonamiento matemático para llegar a la respuesta correcta?
La conocida estrategia de ingeniería de prompts de la «cadena de pensamiento» (CoT) parece encajar a la perfección. Esta estrategia se basa en incitar al modelo a generar pasos de razonamiento intermedios antes de llegar a la respuesta final. Existen dos enfoques básicos.
Existen muchas otras estrategias, que generalmente se basan en una combinación de activación de características previa a la generación, es decir, centrada en la activación de conocimientos en la solicitud inicial, y activación de características intrageneración, es decir, centrada en la activación dinámica de conocimientos por parte del LLM a medida que genera su salida token a token.
Para diseñar el miniexperimento, utilicé ChatGPT-4o y tomé muestras aleatorias de 10 preguntas de cada uno de los 14 dominios de conocimiento del conjunto de datos MMLU-Pro. El experimento pretendía evaluar dos aspectos principales:
Las diferentes técnicas de pregunta probadas se basaban en las siguientes plantillas:
El enfoque de Pregunta Directa sirvió como línea de base, permitiendo probablemente el mayor grado de flexibilidad cognitiva del modelo. Es probable que CoT genere la menor flexibilidad cognitiva, ya que el modelo debe proceder paso a paso. La Activación del Dominio del Conocimiento y los Andamios Contextuales se sitúan entre la Pregunta Directa y el CoT.
El razonamiento deliberadamente restrictivo se consiguió tomando la última línea de las plantillas de preguntas anteriores, es decir, «Responde con la letra y la respuesta seleccionadas» y especificando en su lugar «Responde sólo con la letra y la respuesta seleccionadas y nada más».
Si te interesa el código que utilicé para realizar el experimento y los resultados, puedes encontrarlos en este repositorio de GitHub enlazado aquí.
A continuación se presentan los resultados de las distintas técnicas de pronóstico y sus variantes con restricciones de razonamiento:

Todas las preguntas de razonamiento sin restricciones obtuvieron resultados comparables, aunque el enfoque de pregunta directa fue ligeramente mejor que los demás. Esto fue una sorpresa, ya que el artículo de MMLU-Pro [1] señala un rendimiento significativamente inferior en la pregunta directa y un fuerte aumento del rendimiento con CoT de pocos disparos. No me detendré aquí en la discrepancia, ya que el propósito del miniexperimento no era replicar su configuración.
Lo más importante para este miniexperimento es que, cuando se restringió deliberadamente el razonamiento, todas las técnicas mostraron un descenso comparable en la precisión, pasando de una media del 66% al 51%. Este resultado coincide con lo que esperábamos. La observación más pertinente es que ninguna de las técnicas consiguió mejorar la activación del conocimiento previo a la generación más allá de lo que ocurriría con la pregunta directa, en la que la activación de características previas a la generación se produce principalmente al exponer el modelo al texto de las opciones de pregunta y respuesta.
La conclusión general de estos resultados de alto nivel sugiere que una combinación óptima para una pronta eficacia de la ingeniería puede muy bien implicar:
Aunque no se discute a menudo, la eficiencia de los tokens es cada vez más importante a medida que los LLM se abren camino en diversos casos de uso de la industria. El siguiente gráfico muestra la precisión de cada técnica de consulta sin restricciones frente a la media de tokens generados en la respuesta.

Aunque el diferencial de precisión no es el objetivo principal, la eficiencia del enfoque de Pregunta Directa, que genera una media de 180 tokens por respuesta, es notable en comparación con CoT, que produjo aproximadamente 339 tokens por respuesta (es decir, un 88% más). Dado que la precisión es comparable, cabe suponer que CoT es, por término medio, menos eficaz que las demás estrategias en lo que se refiere a la activación del conocimiento intrageneracional, lo que produce resultados excesivamente verborreicos. Pero, ¿a qué se debe este exceso de verbosidad? Para intentar responder a esta pregunta, resultó útil examinar las preguntas de razonamiento sin restricciones y el número de veces que el modelo optó por responder sólo con la respuesta y sin ningún rastro de razonamiento, aunque no se le hubiera indicado explícitamente que lo hiciera. Los resultados fueron los siguientes

Lo que resultó aún más interesante fue la precisión cuando el modelo optó por responder directamente sin ningún rastro de razonamiento, lo que se muestra en la tabla siguiente:

La precisión osciló entre el 64% y el 70% sin que se generara ningún rastro de razonamiento. Incluso con las preguntas de MMLU-Pro, diseñadas a propósito para requerir razonamiento y resolución de problemas, el modelo parece demostrar algo parecido a la selección de diferentes estrategias en función de la pregunta concreta, cuando no está excesivamente condicionado por la pregunta.
Lo que se desprende de estos resultados es que las estrategias sencillas pueden ser tan eficaces como las excesivamente estructuradas. Aunque el objetivo de CoT es simular el razonamiento induciendo activaciones de rasgos específicos orientados al razonamiento, puede que no siempre sea necesario u óptimo, especialmente si la generación excesiva de fichas es un problema. En su lugar, un enfoque potencialmente más adecuado puede ser permitir que el modelo ejerza su flexibilidad cognitiva.
Los resultados de este miniexperimento ofrecen una visión convincente de la importancia de la flexibilidad cognitiva en los LLM y los Agentes de IA. En la cognición humana, la flexibilidad cognitiva se refiere a la capacidad de adaptar el pensamiento y el comportamiento en respuesta a tareas o demandas cambiantes. Implica pasar de un concepto a otro, mantener varios conceptos simultáneamente y cambiar la atención según sea necesario. En el contexto de los LLM, puede entenderse como la capacidad del modelo para ajustar dinámicamente sus activaciones internas en respuesta a estímulos textuales.
Si se sigue prestando atención al desarrollo de tecnologías y técnicas en este ámbito, se podría mejorar significativamente la capacidad de los agentes de IA en una serie de tareas complejas. Por ejemplo, la exploración de esta idea junto con otras ideas como las expuestas por Anthropic en su reciente artículo «Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet», podría dar lugar a técnicas que desbloqueen la capacidad de observar y adaptar dinámicamente el nivel de flexibilidad cognitiva empleado en función de la complejidad y el dominio de la tarea.
A medida que ampliemos los límites de la IA, la flexibilidad cognitiva será probablemente clave para crear modelos que no sólo funcionen con fiabilidad, sino que también comprendan y se adapten a las complejidades del mundo real.
Gracias por leerme y sígueme para conocer los resultados de futuras exploraciones relacionadas con este trabajo. Si quieres hablar de ello, no dudes en ponerte en contacto conmigo en LinkedIn.
Salvo que se indique lo contrario, todas las imágenes de este artículo son del autor.
The post Ingeniería Prompt para la flexibilidad cognitiva – LLM first appeared on Planeta Chatbot.
]]>The post De la ingeniería prompt a la ingeniería de agentes first appeared on Planeta Chatbot.
]]>Poco más de un año después del lanzamiento de ChatGPT, está claro que la percepción pública de la «IA» ha cambiado radicalmente. En parte se debe a una mayor concienciación general, pero sobre todo a la constatación de que los sistemas basados en IA pueden ser (¿ya lo son?) capaces de alcanzar un nivel de competencia y rendimiento humano. En muchos sentidos, ChatGPT ha servido como prueba de concepto para la IA en su conjunto. El trabajo en esta demostración comenzó hace más de medio siglo y ahora ha aportado pruebas convincentes de que estamos más cerca de una realidad en la que podemos «crear máquinas que realicen funciones que requieren inteligencia cuando las realizan personas», tomando prestada la definición de Ray Kurzweil. No es de extrañar, pues, que los debates y el desarrollo en torno a la ingeniería de agentes de IA se hayan disparado en los últimos meses. Son la encarnación de las aspiraciones a las que siempre ha aspirado la IA.
Para ser claros, el concepto de agentes de IA no es nuevo. C-3PO, de La Guerra de las Galaxias, es la IA encarnada por excelencia, capaz de comprender el lenguaje natural, dialogar y actuar de forma autónoma. En el ámbito académico, el libro de texto de Norvig y Russell sobre IA, Artificial Intelligence: A Modern Approach, de Norvig y Russell, afirma que los agentes inteligentes son el principal tema unificador. Las ideas en torno a los agentes de IA, nacidas en la ciencia o en la ficción, parecen todas un poco más realizables con la llegada de modelos como ChatGPT, Claude y Gemini, ampliamente competentes en diversos dominios del conocimiento y dotados de una gran capacidad de comprensión y de diálogo a nivel humano. Si añadimos nuevas capacidades como la «visión» y la llamada a funciones, el escenario está preparado para la proliferación del desarrollo de agentes de IA.
A medida que avanzamos en el camino hacia el desarrollo de agentes de IA, parece necesario empezar a pasar de la ingeniería de prompts a algo más amplio, como la ingeniería de agentes, y establecer los marcos, metodologías y modelos mentales adecuados para diseñarlos de forma eficaz. En este artículo, me propongo explorar algunas de las ideas y preceptos clave de la ingeniería de agentes en el contexto del LLM.
Exploremos a alto nivel las secciones clave del Marco de Ingeniería de Agentes. Comenzamos con los «Requisitos de las capacidades del agente», en los que pretendemos definir claramente lo que debe hacer el agente y su nivel de competencia. En «Ingeniería y diseño de agentes» evaluamos las tecnologías disponibles y empezamos a pensar en la anatomía y orquestación de nuestros agentes.
Esta articulación inicial del marco pretende ser un modelo mental práctico y es cierto que no es exhaustivo en todos los frentes. Pero creo que es útil empezar por algún sitio y luego perfeccionarlo y mejorarlo con el tiempo.
¿Cuál es el propósito de construir un agente de IA? ¿Tiene un trabajo o una función? ¿Acciones en apoyo de objetivos? ¿O objetivos en apoyo de acciones? ¿Es mejor un agente con múltiples capacidades que un enjambre de agentes para un trabajo concreto? Lo bueno del lenguaje humano es que es flexible y nos permite ampliar metafóricamente los conceptos en muchas direcciones. El inconveniente de esto es que puede llevar a la ambigüedad. Al articular el marco, intento evitar a propósito las distinciones semánticas entre términos clave, ya que muchos de ellos pueden utilizarse indistintamente. En lugar de ello, nos esforzamos por sacar a la superficie conceptos que se generalicen en su aplicación a la Ingeniería de Agentes de IA en sentido amplio. Como resultado, el marco en esta etapa es más un modelo mental que pretende guiar el proceso de pensamiento en torno a la Ingeniería de Agentes. Las ideas centrales son relativamente sencillas, como se puede ver en el siguiente gráfico:

El paso inicial en el diseño de un agente de IA es definir claramente lo que el agente debe hacer. ¿Cuáles son los principales trabajos, tareas u objetivos que debe cumplir el agente? Esto puede enmarcarse en un objetivo de alto nivel o desglosarse en tareas específicas. Puede que decida utilizar un enfoque de enjambre multiagente y asignar a cada agente una tarea. El lenguaje y el nivel de detalle pueden variar. Por ejemplo:
Nótese que en ambos casos, etiquetas como trabajos, tareas, objetivos, etc. podrían utilizarse indistintamente en el contexto de lo que se supone que debe hacer el agente.
Una vez definidas las tareas a realizar, el siguiente paso es determinar las acciones específicas que el agente debe llevar a cabo en relación con esa tarea. Se pasa de definir simplemente lo que el agente debe conseguir a especificar cómo lo conseguirá mediante acciones concretas. En esta fase también es importante empezar a considerar el nivel adecuado de autonomía del agente. Por ejemplo:
Para un agente de creación de contenidos, las acciones podrían incluir:
El agente de creación de contenido puede generar y redactar contenido de forma autónoma, con un editor humano brindando la aprobación final. O se puede contratar a un editor agente independiente para realizar una primera revisión antes de que intervenga un editor humano.
Ahora que hemos delineado las acciones que nuestros agentes deben tomar para realizar el trabajo, procedemos a articular las capacidades necesarias para permitir esas acciones. Pueden incluir todo, desde diálogo en lenguaje natural, recuperación de información, generación de contenido, análisis de datos, aprendizaje continuo y más. También se pueden expresar en un nivel más técnico, como llamadas API, llamadas a funciones, etc. Por ejemplo, para nuestro agente de creación de contenido, las capacidades deseadas podrían ser:
En última instancia, es importante centrarse en expresar las capacidades de manera que no limiten las opciones y la eventual selección de con qué tecnologías trabajar. Por ejemplo, aunque todos estamos bastante enamorados de los LLM, los modelos de acción grande (LAM) están evolucionando rápidamente y pueden ser relevantes para habilitar las capacidades deseadas.
Si bien identificar las capacidades necesarias para que un agente realice su trabajo es un paso crucial, es igualmente importante evaluar y definir el nivel de competencia requerido para cada una de estas capacidades. Esto implica establecer puntos de referencia específicos y métricas de rendimiento que deben cumplirse para que el agente y sus capacidades se consideren competentes. Estos puntos de referencia pueden incluir precisión, eficiencia y confiabilidad.
Por ejemplo, para nuestro agente de creación de contenido, los niveles de competencia deseados podrían incluir:
Una vez que se especifican las capacidades necesarias y los niveles de competencia requeridos, el siguiente paso es determinar cómo podemos cumplir con estos requisitos. Esto implica evaluar un arsenal de tecnologías y técnicas disponibles en rápido crecimiento, incluidos LLM, RAG, Guardrails, API especializadas y otros modelos de ML/AI para evaluar si pueden alcanzar los niveles de competencia especificados. En todos los casos, es útil considerar en qué es mejor una determinada tecnología o técnica a alto nivel y las implicaciones de costo/beneficio. Discutiré superficialmente algunos aquí, pero su alcance y escala serán limitados ya que existen innumerables posibilidades.
El conocimiento amplio se refiere a la comprensión general y la información sobre una amplia gama de temas y dominios. Este tipo de conocimiento es esencial para crear agentes de IA que puedan entablar un diálogo eficaz, comprender el contexto y proporcionar respuestas relevantes en diversos temas.
El conocimiento específico implica una comprensión más profunda de dominios o temas particulares. Este tipo de conocimiento es necesario para tareas que requieren experiencia detallada y familiaridad con contenido especializado. ¿Qué tecnologías/técnicas podríamos considerar para alcanzar nuestros objetivos de competencia?
La información precisa se refiere a puntos de datos específicos y muy precisos que son críticos para tareas que requieren respuestas exactas.
Ahora que tenemos una idea clara de cuál es el trabajo del Agente, las capacidades y niveles de competencia requeridos y las tecnologías disponibles para habilitarlos, cambiamos nuestro enfoque a la anatomía y orquestación del agente, ya sea en una configuración en solitario o en algún tipo de enjambre. o ecosistema. ¿Deberían registrarse las capacidades para un agente o cada capacidad debería asignarse a un agente único que opere dentro de un enjambre? ¿Cómo desarrollamos capacidades y agentes que puedan reutilizarse con el mínimo esfuerzo? Este tema por sí solo involucra varios artículos, por lo que no profundizaremos más en él aquí. En algunos aspectos, aquí es donde “la goma se encuentra con el camino” y nos encontramos entrelazando múltiples tecnologías y técnicas para dar vida a nuestros Agentes.
El viaje de la ingeniería de prompts a la ingeniería de agentes apenas comienza y hay mucho que aprender y perfeccionar a lo largo del camino. Este primer intento de crear un marco de ingeniería de agentes propone un enfoque práctico para diseñar agentes de IA al delinear un modelo mental de alto nivel que puede servir como un punto de partida útil en esa evolución. Los modelos y técnicas disponibles para crear Agentes seguirán proliferando, creando una clara necesidad de marcos que se generalicen lejos de cualquier tecnología o clase de tecnologías específica. Al definir claramente lo que un agente debe hacer, delinear las acciones necesarias para realizar estas tareas y especificar las capacidades y niveles de competencia necesarios, establecemos una base sólida y flexible para nuestros esfuerzos de diseño e ingeniería. Además, proporciona una estructura para que nuestros agentes y sus capacidades mejoren y evolucionen con el tiempo.
Gracias por leer y espero que el marco de ingeniería de agentes le resulte útil en tus esfuerzos orientados a los agentes. Estad atentos a futuras mejoras del marco y elaboraciones sobre los diversos temas mencionados. Si deseas hablar más sobre el marco u otros temas sobre los que he escrito, no dudes en conectar conmigo en LinkedIn.
A menos que se indique lo contrario, todas las imágenes de este artículo son del autor.
The post De la ingeniería prompt a la ingeniería de agentes first appeared on Planeta Chatbot.
]]>