Si 2024 fue el año de los chatbots de IA, 2025 es el año de los agentes de IA. A primera vista, pueden parecer similares, pero nada más lejos de la realidad. Aunque se puede interactuar con un agente de IA de la misma manera que con un chatbot de IA, quizás a través de una interfaz web, las diferencias entre ellos son notables.
Los agentes de IA pueden actuar de forma autónoma para satisfacer su petición. Así es, lo he dicho: de forma autónoma. Una IA que actúa en tu nombre y decide qué hacer y cuáles deben ser sus próximos pasos sin tu intervención.
¿Quiere encontrar un buen restaurante para una cita nocturna y reservar mesa? Deja que tu agente de IA lo haga por ti, desde la búsqueda hasta la reserva.
¿Necesita realizar un seguimiento de las interacciones con nuevos clientes en su CRM y enviar correos electrónicos personalizados? Deje que su agente de IA lo haga por usted, desde el seguimiento hasta la redacción del correo electrónico y su envío.
Esencialmente, los agentes pueden hacer casi cualquier cosa por usted en línea. Incluso puede tener varios agentes trabajando en tándem. Todo lo que necesitan es un tarea que les propongas y ellos se encargarán de completar esa tarea.
Es posible que piense que construir o utilizar IA agéntica le costará una fortuna, y no se equivocaría al pensar eso. Las empresas, algunas de las más importantes del sector, ofrecen estos servicios por cuotas mensuales muy elevadas. Sin embargo, con un poco de conocimiento de Python y JavaScript, puede construir una interfaz de usuario web de agente de IA de pila completa de forma gratuita. Lo mejor de todo es que puedes incorporar fácilmente Couchbase para el almacenamiento de datos de alto rendimiento, recuperación y capacidades de búsqueda de texto completo. Couchbase Capella, la base de datos totalmente gestionada como servicio, incluso ofrece un nivel gratuito para siempre, que puedes utilizar en tu aplicación.
Veamos la arquitectura de la aplicación y cómo está construida. Una mejor comprensión de su funcionamiento le permitirá adaptarla a su caso de uso personal.
La aplicación se compone de un frontend React y un backend Python. Nos centraremos en el backend ya que es donde ocurre el trabajo del agente y las interacciones con Couchbase. Puedes explorar el frontend libremente en GitHub, que ofrece un diseño mobile-first.
Cómo funciona
La base de esta aplicación es una mezcla armoniosa de un frontend React y un backend Python. Mientras que el frontend garantiza una experiencia de usuario fluida y receptiva, el backend es donde opera el agente de IA, gestionando las solicitudes de los usuarios e interactuando con Couchbase para la gestión de datos.
El agente de IA con uso de navegador
En el núcleo del agente de IA está la integración de la biblioteca Python de código abierto de Browser Use. Esta biblioteca permite al agente realizar diversas tareas simulando las acciones del navegador. Tanto si se trata de navegar por el sitio web de un restaurante para reservar una mesa como de acceder al CRM para realizar un seguimiento de los compromisos de los clientes, Browser Use proporciona las herramientas necesarias para que el agente interactúe con los recursos web de forma eficaz.
Inicializar un agente Browser Use AI sólo requiere unas pocas líneas de código en tu backend Python:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
async def run_browser_agent(tarea: str): """ Ejecuta el agente del navegador y devuelve sus resultados en un formato serializable JSON. """ agente = Agente(tarea=tarea, llm=llm, usar_visión=Verdadero, max_fallos=3, reintento_retraso=5) historia = await agente.ejecute(pasos_máx=50) resultados_serializados = [] si historia y historia.historia: para paso en historia.historia: si paso.resultado: si isinstance(paso.resultado, lista): para res en paso.resultado: resultados_serializados.añadir(vars(res)) si no: resultados_serializados.añadir(vars) devolver resultados_serializados |
El Agente es instanciado con varios parámetros, incluyendo:
-
- La tarea específica que desea que realice
- El gran modelo lingüístico que utilizará para analizar los resultados de su investigación independiente (el proyecto es compatible actualmente con Anthropic, OpenAI, DeepSeek, Qwen, Azure, Gemini y otros).
- Un valor booleano para visiónque permite al agente analizar también las imágenes de su investigación.
- El número de fallos que tolerará antes de salir de la tarea sin éxito.
- Cuánto tiempo esperar en segundos entre reintentos
- Cuántos pasos autoriza a ejecutar al agente para intentar completar la tarea.
El resto del código para instanciar el agente sólo se ocupa de devolver los resultados.
Eso es todo lo que se necesita para crear un agente y ponerlo en el mundo. Unas pocas líneas de Python, en realidad.
Cuando el agente de IA recibe una tarea, como reservar un restaurante o enviar correos electrónicos personalizados, utiliza la biblioteca Browser Use para realizar las acciones necesarias en línea. Esto implica navegar por sitios web, rellenar formularios e incluso analizar información, todo ello ejecutado mediante programación para satisfacer las peticiones de los usuarios de forma eficiente.
La persistencia y la búsqueda de datos son características fundamentales de las aplicaciones modernas. No sólo puede persistir los datos para fines de usuario, como el historial de chat, sino que también podría proporcionar más contexto a su agente con los datos persistidos con una metodología llamada Generación de Recuperación Aumentada (RAG). Recomiendo leer este artículo si le interesa profundizar en este tema.
Por ahora, vamos a introducir la persistencia de datos y la funcionalidad de búsqueda en la interfaz de usuario de tu agente con Couchbase.
Interacción con Couchbase para la búsqueda de texto completo
Couchbase desempeña un papel fundamental en la gestión y recuperación eficiente de datos de chat. Aprovechando las capacidades de Couchbase Full Text Search (FTS), el backend puede buscar rápidamente a través de extensos historiales de chat para encontrar conversaciones relevantes basadas en las consultas de los usuarios. Este es un ejemplo simplificado de cómo el backend interactúa con Couchbase para FTS usando el Couchbase Python SDK:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
de escribiendo importar Lista de couchbase.busque en importar QueryStringQuery, Opciones de búsqueda importar registro def buscar_chats(usuario_id: str, buscar_texto: str) -> Lista[dic]: """ Busca chats para un usuario dado basándose en search_text usando Couchbase FTS. Args: user_id (str): El ID del usuario. texto_buscado (str): El texto a buscar dentro de los nombres de chat. Devoluciones: Lista[dict]: Una lista de documentos de chat que coinciden con los criterios de búsqueda. """ pruebe: # Ejecutar la consulta de búsqueda en el índice FTS especificado resultado_búsqueda = grupo.consulta_buscada( "nombre-cubo.nombre-ámbito.nombre-índice-búsqueda", QueryStringQuery(buscar_texto), Opciones de búsqueda(campos=["chat_id", "user_id", "nombre", "mensajes.contenido", "mensajes.timestamp", "mensajes.remitente"]) ) resultados = [] para fila en resultado_búsqueda.filas(): chat = fila.campos.copia() # Extraer detalles del mensaje contenido_mensajes = chat.consiga("mensajes.contenido", []) mensajes_timestamp = chat.consiga("mensajes.timestamp", []) remitente_de_mensajes = chat.consiga("mensajes.remitente", []) # Garantizar la alineación de todas las listas de mensajes si len(contenido_mensajes) == len(mensajes_timestamp) == len(remitente_de_mensajes): chat["mensajes"] = [ { "contenido": contenido, "timestamp": marca de tiempo, "remitente": remitente } para contenido, marca de tiempo, remitente en zip(contenido_mensajes, mensajes_timestamp, remitente_de_mensajes) ] si no: registro.advertencia("Desajuste en los campos del mensaje. Incluyendo sólo el contenido".) chat["mensajes"] = [{"contenido": contenido} para contenido en contenido_mensajes] # Limpiar campos redundantes chat.pop("mensajes.contenido", Ninguno) chat.pop("mensajes.timestamp", Ninguno) chat.pop("mensajes.remitente", Ninguno) resultados.añadir(chat) # Filtrar chats pertenecientes al usuario especificado user_chats = [chat para chat en resultados si chat.consiga("user_id") == usuario_id] registro.información(f"La búsqueda devolvió {len(user_chats)} chats para el usuario '{user_id}'".) devolver usuario_chats excepto Excepción como e: registro.error(f"Error durante la búsqueda: {e}") devolver [] |
En este fragmento, el buscar_chats es fundamental para recuperar conversaciones de chat relevantes basadas en la entrada del usuario. Cuando un usuario introduce una consulta de búsqueda, la función construye una solicitud de búsqueda dirigida al índice FTS dentro de Couchbase. Especifica los campos a recuperar, asegurándose de que toda la información necesaria, como chat_id, usuario_id, nombrey mensaje se incluyen en los resultados de la búsqueda.
La interacción entre el agente de IA y Couchbase garantiza que todas las interacciones del usuario se almacenen de forma segura y puedan recuperarse rápidamente cuando sea necesario. Couchbase ofrece la escalabilidad y el rendimiento necesarios para gestionar una base de usuarios en crecimiento sin comprometer la velocidad ni la fiabilidad, ya se trate de recuperar historiales de chat o de actualizar las preferencias de los usuarios.
Cuando un usuario inicia una búsqueda desde el frontend, la aplicación React envía la consulta al backend. El agente de IA procesa esta solicitud, interactúa con Couchbase para obtener los chats relevantes y devuelve los resultados al frontend. Este viaje de ida y vuelta garantiza que los usuarios reciban información precisa y oportuna, mejorando su experiencia general con la aplicación.
Al combinar las capacidades de la biblioteca Browser Use con las funciones de gestión de datos de Couchbase, la aplicación ofrece una experiencia de agente de IA completa. Los usuarios pueden gestionar sus tareas en línea, entablar conversaciones significativas con su agente y confiar en el sistema para gestionar operaciones complejas entre bastidores.
Esta arquitectura no sólo proporciona una funcionalidad inmediata, sino que también sienta unas bases sólidas para futuras mejoras. A medida que la aplicación evoluciona, la integración entre el frontend, el agente de IA y Couchbase garantiza su adaptabilidad, escalabilidad y capacidad de respuesta a las necesidades de los usuarios.
Conclusión
La próxima vez que veas servicios de agentes de IA en la naturaleza y sientas el FOMO porque tu tarjeta de crédito no puede soportar la factura mensual, recuerda que con sólo un poco de Python y un poco de JavaScript, puedes tener tu propio agente a tu disposición.
¿Quieres empezar? Visite el proyecto en GitHubclónalo en tu ordenador y sigue las instrucciones del LÉAME para probarlo.
¿Qué tareas de ahorro de tiempo hará que su agente haga por usted? Únete a nuestra activa y creciente comunidad de Discord para compartir lo que has creado.
-
- Empieza a utilizar las funciones de IA en Couchbase Capella hoy, gratis