Ir al contenido

IDEAS PRÁCTICAS · ASIMOV INGENIERÍA

6. Mi primer agente de IA paso a paso

Aprende a construir tu primer agente de inteligencia artificial, comprende cómo funciona su arquitectura básica y descubre cómo combinar un modelo de IA con instrucciones, herramientas y lógica para crear un sistema capaz de realizar tareas.

Table of contents

No titles in the blog post

En los artículos anteriores de esta serie hemos recorrido los principales conceptos que necesitamos para comprender los agentes de inteligencia artificial. Primero vimos qué es un agente y qué diferencia existe entre un agente y un chatbot tradicional. Después analizamos cómo pueden razonar y planificar sus acciones, los diferentes niveles de autonomía y las herramientas que pueden utilizar para interactuar con otros sistemas.

También vimos uno de los elementos más importantes para construir agentes capaces de mantener un contexto: la memoria. Ahora ha llegado el momento de pasar de la teoría a la práctica.

Construir un agente de IA puede parecer complicado al principio porque existen muchos modelos, frameworks, APIs y herramientas disponibles. Sin embargo, un agente básico puede construirse entendiendo algunos conceptos fundamentales y conectándolos correctamente.

En este artículo construiremos conceptualmente nuestro primer agente y explicaremos cada una de sus partes. El objetivo no es crear un sistema extremadamente complejo, sino comprender qué elementos necesitamos para pasar de una simple conversación con un modelo de lenguaje a un sistema capaz de analizar una solicitud, decidir qué hacer y utilizar herramientas para completar una tarea.

1. ¿Qué necesitamos para crear un agente?

Antes de comenzar, debemos entender los componentes básicos.

Un agente de inteligencia artificial necesita principalmente un modelo capaz de interpretar y generar información. Este modelo puede ser un modelo de lenguaje como los que utilizan muchas aplicaciones actuales de inteligencia artificial.

Además del modelo, necesitamos establecer instrucciones que definan el comportamiento del agente.

También podemos proporcionar herramientas para que el agente pueda realizar acciones externas.

Finalmente, necesitamos algún mecanismo que controle el flujo de trabajo y permita que el agente reciba información, tome decisiones, utilice herramientas y continúe trabajando.

De forma simplificada, podemos imaginar un agente como la combinación de cuatro elementos:

Modelo de IA + instrucciones + herramientas + lógica de ejecución.

Estos componentes pueden implementarse de diferentes maneras dependiendo del proyecto.

2. Nuestro primer agente

Para nuestro ejemplo imaginaremos un agente sencillo que funciona como asistente de información.

El usuario podrá realizar una pregunta y el agente analizará qué necesita para responder.

Si la pregunta puede responderse directamente, utilizará el modelo de lenguaje.

Si necesita realizar una operación matemática, utilizará una herramienta de cálculo.

Si necesita consultar información externa, podrá utilizar una herramienta de búsqueda.

De esta manera, nuestro agente tendrá una capacidad que un chatbot básico no necesariamente posee: podrá decidir cuándo necesita utilizar recursos adicionales.

Por ejemplo, podemos preguntarle:

"¿Cuánto es 125 por 32?"

El agente puede detectar que necesita realizar una operación matemática.

También podemos preguntarle:

"Explícame qué es un microcontrolador."

En este caso puede responder directamente utilizando sus conocimientos.

Finalmente, podríamos solicitar:

"Busca información actualizada sobre los nuevos microcontroladores disponibles."

En este caso necesitaría una herramienta capaz de consultar información externa.

3. Definir el objetivo del agente

Antes de programar cualquier cosa, debemos definir claramente qué queremos que haga nuestro agente.

Este paso parece sencillo, pero es uno de los más importantes.

Un agente demasiado general puede resultar difícil de controlar porque tendrá demasiadas posibilidades de actuación.

Por ejemplo, decir "quiero un agente que haga cualquier cosa" no es una definición suficientemente clara.

En cambio, podríamos definir:

"Quiero un agente capaz de ayudar a estudiantes de ingeniería a resolver dudas de programación y realizar cálculos técnicos."

Esta definición nos permite establecer qué herramientas necesita y qué tipo de respuestas esperamos.

También podemos crear agentes especializados.

Por ejemplo, podríamos tener un agente encargado exclusivamente de analizar código Python, otro especializado en consultar bases de datos y otro encargado de generar reportes.

Mientras más claro sea el objetivo, más sencillo será diseñar el sistema.

4. Crear las instrucciones del agente

Después de definir el objetivo, debemos establecer las instrucciones.

Las instrucciones funcionan como una guía para el modelo.

Podemos indicarle quién es, cuál es su función, qué tipo de respuestas debe generar y qué restricciones debe respetar.

Por ejemplo, podríamos establecer:

"Actúa como un asistente de programación. Ayuda al usuario a comprender conceptos de Python. Explica los conceptos de manera sencilla y proporciona ejemplos prácticos. Si no conoces la respuesta, indícalo en lugar de inventar información."

Estas instrucciones pueden ser mucho más detalladas dependiendo del proyecto.

También podemos indicar cuándo debe utilizar herramientas.

Por ejemplo:

"Utiliza la herramienta de cálculo cuando necesites realizar operaciones matemáticas."

Esto ayuda al agente a comprender cómo debe comportarse.

Las instrucciones son especialmente importantes porque un agente no solamente necesita saber qué puede hacer. También necesita saber cómo debería hacerlo.

person using laptop computers

5. Conectar el modelo de inteligencia artificial

El siguiente componente es el modelo de IA.

El modelo es el encargado de interpretar el lenguaje natural y generar respuestas.

Actualmente existen diferentes modelos de lenguaje que pueden utilizarse para desarrollar aplicaciones de este tipo.

Dependiendo del proveedor y del proyecto, podemos utilizar una API para enviar instrucciones al modelo y recibir sus respuestas.

La aplicación normalmente realiza una solicitud que contiene información como las instrucciones del sistema, el mensaje del usuario y, cuando corresponde, información adicional obtenida mediante herramientas.

El modelo procesa esta información y genera una respuesta.

En un chatbot tradicional, este podría ser prácticamente el final del proceso.

En un agente, sin embargo, la respuesta del modelo también puede indicar que necesita utilizar una herramienta.

Ahí comienza una de las partes más interesantes.

6. Crear nuestra primera herramienta

Para entender cómo funcionan los agentes, podemos crear una herramienta muy sencilla.

Supongamos que queremos proporcionar al agente una función para sumar dos números.

La herramienta podría recibir dos valores:

Número A

Número B

Y devolver el resultado de la suma.

Desde el punto de vista del agente, esta herramienta representa una capacidad que puede utilizar cuando la necesite.

Si el usuario pregunta:

"¿Cuánto es 35 + 48?"

El modelo puede identificar que necesita utilizar la herramienta de suma.

La aplicación ejecuta la función.

La función devuelve:

83

El resultado vuelve al agente.

Finalmente, el modelo genera una respuesta como:

"El resultado es 83."

Este ejemplo es extremadamente sencillo, pero representa el mismo principio utilizado por sistemas mucho más avanzados.

7. El agente decide cuándo utilizar la herramienta

Una característica fundamental es que el agente no tiene que utilizar todas sus herramientas en cada solicitud.

Imaginemos que tiene tres herramientas:

Calculadora.

Búsqueda web.

Consulta de base de datos.

Si el usuario pregunta:

"¿Qué es un sensor de temperatura?"

No necesariamente necesita utilizar ninguna de las herramientas.

Puede responder directamente.

Si pregunta:

"Calcula 4587 × 923."

Puede utilizar la calculadora.

Si pregunta:

"¿Cuál es la temperatura actual en Ciudad de México?"

Puede utilizar una herramienta de información meteorológica.

La capacidad de seleccionar la herramienta adecuada permite que el agente sea mucho más flexible.

Esto también significa que las herramientas deben tener descripciones claras.

Si el agente no comprende para qué sirve una herramienta, puede no seleccionarla correctamente.

8. El ciclo de funcionamiento de un agente

Ahora podemos juntar las piezas.

Un agente normalmente trabaja siguiendo un ciclo.

Primero recibe una solicitud.

Después analiza qué quiere conseguir el usuario.

Posteriormente determina si puede responder directamente o si necesita realizar alguna acción.

Si necesita una herramienta, selecciona la correspondiente.

Después proporciona los parámetros necesarios.

La herramienta se ejecuta y devuelve un resultado.

El agente recibe ese resultado y vuelve a analizar la situación.

Finalmente genera una respuesta o continúa utilizando otras herramientas.

Podemos imaginar el proceso de esta manera:

Solicitud → análisis → decisión → herramienta → resultado → análisis → respuesta.

En tareas más complejas, este ciclo puede repetirse varias veces.

Por ejemplo, un agente podría consultar una base de datos, analizar los resultados, realizar un cálculo y después generar un reporte.

9. Un ejemplo práctico

Supongamos que queremos crear un agente para una pequeña empresa.

El usuario escribe:

"Revisa las ventas de hoy y dime cuál fue el producto más vendido."

El agente necesita realizar varias acciones.

Primero debe entender que se está hablando de las ventas correspondientes al día actual.

Después necesita consultar los datos.

Para ello utiliza una herramienta conectada con la base de datos.

La herramienta devuelve una lista de productos y cantidades vendidas.

El agente analiza la información y determina cuál tiene el valor más alto.

Finalmente responde:

"El producto más vendido hoy fue el producto X, con 42 unidades."

En este ejemplo podemos observar claramente la diferencia entre generar texto y realizar una tarea.

El agente está utilizando información externa para producir una respuesta basada en datos reales.

10. Agregar memoria al agente

Nuestro agente también puede utilizar memoria.

Supongamos que el usuario le explica:

"Estoy trabajando en un proyecto llamado ValvIoT."

El agente puede almacenar esta información si el sistema cuenta con un mecanismo de memoria.

Posteriormente el usuario puede preguntar:

"¿Qué tecnología estoy utilizando para controlar la válvula?"

Si esa información había sido almacenada anteriormente, el agente puede recuperarla.

La memoria puede ser sencilla, como una lista de datos, o más avanzada, utilizando bases de datos y sistemas de recuperación semántica.

En un proyecto real, la memoria permite mantener información entre diferentes interacciones y reducir la necesidad de repetir datos.

11. ¿Necesitamos un framework para crear nuestro primer agente?

No necesariamente.

Es posible construir un agente utilizando directamente un lenguaje de programación y las APIs necesarias.

Por ejemplo, Python es una opción muy utilizada porque dispone de numerosas bibliotecas para trabajar con inteligencia artificial, APIs, bases de datos y automatización.

Sin embargo, cuando los proyectos se vuelven más complejos, los frameworks pueden facilitar considerablemente el desarrollo.

Herramientas y frameworks como LangChain, CrewAI y otras alternativas proporcionan componentes que ayudan a administrar herramientas, memoria, agentes y flujos de trabajo.

En artículos posteriores analizaremos estas tecnologías con mayor profundidad.

Para nuestro primer agente, lo importante es comprender la arquitectura y no depender exclusivamente de un framework.

Si entendemos qué ocurre internamente, será mucho más fácil utilizar estas herramientas posteriormente.

12. Controlar las acciones del agente

Una vez que nuestro agente puede utilizar herramientas, debemos pensar en la seguridad.

No todas las acciones deberían ejecutarse automáticamente.

Imaginemos un agente conectado a un sistema empresarial.

Puede consultar información de productos sin ningún problema, pero eliminar un producto de la base de datos es una acción mucho más delicada.

Una estrategia consiste en clasificar las acciones según su nivel de riesgo.

Las operaciones de consulta pueden ejecutarse automáticamente.

Las operaciones que modifican información pueden requerir validación.

Las acciones críticas pueden necesitar autorización explícita de una persona.

Este tipo de control es fundamental cuando los agentes pasan de realizar tareas experimentales a trabajar con sistemas reales.

13. Errores que debemos evitar

Cuando construimos nuestro primer agente es normal cometer errores.

Uno de los más comunes es intentar darle demasiadas herramientas desde el principio.

Si solamente estamos aprendiendo, es mejor comenzar con una o dos herramientas y comprobar que funcionan correctamente.

Otro error es crear instrucciones demasiado ambiguas.

El agente debe tener claro cuál es su objetivo y cuáles son sus límites.

También debemos evitar asumir que el agente siempre tomará la decisión correcta.

Un modelo de IA puede equivocarse al interpretar una solicitud o seleccionar una herramienta.

Por eso es importante validar las entradas, controlar las acciones y comprobar los resultados.

Finalmente, no debemos olvidar que una aplicación de IA necesita manejar errores técnicos.

Una API puede dejar de responder.

Una base de datos puede estar desconectada.

Una herramienta puede recibir datos incorrectos.

El agente debe ser capaz de manejar estas situaciones de manera controlada.

14. De un agente sencillo a uno avanzado

Nuestro primer agente puede comenzar siendo muy simple.

Podemos tener un modelo de IA, algunas instrucciones y una herramienta.

A partir de ahí podemos agregar nuevas capacidades.

Podemos incorporar memoria.

Después podemos agregar búsqueda en internet.

También podemos conectarlo con APIs.

Podemos permitirle consultar bases de datos.

Incluso podemos darle la capacidad de ejecutar código.

Cada una de estas capacidades aumenta las posibilidades del agente.

Sin embargo, aumentar las capacidades también aumenta la complejidad.

Por eso es recomendable construir los agentes progresivamente.

Primero debemos conseguir que una tarea sencilla funcione correctamente.

Después podemos añadir una nueva capacidad y comprobar nuevamente el sistema.

Este enfoque permite detectar errores con mayor facilidad.

15. Ejemplo de arquitectura completa

Imaginemos finalmente un agente diseñado para ayudar a una empresa a analizar sus operaciones.

El usuario realiza una solicitud.

El modelo interpreta el objetivo.

El agente consulta su memoria para recuperar información relevante.

Después decide qué herramientas necesita.

Puede consultar una base de datos para obtener información.

Puede utilizar una herramienta matemática para realizar cálculos.

Puede consultar una API externa para obtener información actualizada.

Después analiza los resultados.

Si todavía necesita información, puede continuar utilizando herramientas.

Cuando considera que tiene suficiente información, genera una respuesta.

Finalmente, si la tarea requiere una acción, puede solicitar autorización o ejecutar la acción correspondiente dependiendo de los permisos que tenga.

Este tipo de arquitectura permite crear agentes capaces de realizar procesos bastante complejos.

​

16. ¿Qué aprendimos construyendo nuestro primer agente?

Aunque nuestro primer agente sea sencillo, ya podemos identificar todos los componentes fundamentales.

Tenemos un modelo de inteligencia artificial que interpreta las solicitudes.

Tenemos instrucciones que establecen su comportamiento.

Tenemos herramientas que le permiten realizar acciones externas.

Tenemos un mecanismo que controla el flujo de ejecución.

Y podemos agregar memoria para conservar información relevante.

Estos elementos forman la base de sistemas mucho más complejos.

La diferencia entre un prototipo sencillo y un agente profesional no consiste únicamente en utilizar un modelo más avanzado.

También intervienen la arquitectura, la calidad de las herramientas, la gestión de errores, la memoria, la seguridad, los permisos y la capacidad de evaluar los resultados.

17. Conclusiones

Crear un primer agente de IA no requiere comenzar con un sistema extremadamente complejo. Lo más importante es comprender cómo se conectan sus diferentes componentes.

Un agente recibe una solicitud, analiza el objetivo, decide qué necesita hacer, puede utilizar herramientas, recibe los resultados y continúa trabajando hasta producir una respuesta o completar una tarea.

A partir de este concepto básico podemos construir sistemas cada vez más avanzados mediante la incorporación de memoria, APIs, bases de datos, búsqueda web, ejecución de código y otras herramientas.

También debemos recordar que un agente con más capacidades necesita mejores mecanismos de seguridad y control. No se trata solamente de darle más herramientas, sino de asegurarnos de que las utilice correctamente.

Ahora que hemos construido conceptualmente nuestro primer agente, el siguiente paso es conocer las herramientas que facilitan su desarrollo. En el próximo artículo hablaremos de LangChain, CrewAI y otras alternativas para crear agentes de IA, comparando sus características y explicando cuándo puede ser conveniente utilizar cada una.

 ​​Anterior  ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Siguiente