Cómo crear tu propio agente de IA con Python y LangChain
  • Roberto Kim · 17 Jun 2025 ·

Cómo crear tu propio agente de IA con Python y LangChain

Tutorial paso a paso para desarrollar agentes autónomos que resuelven tareas complejas.

LangChain se ha convertido en una de las librerías de referencia para construir aplicaciones sobre modelos de lenguaje que necesitan algo más que una simple pregunta-respuesta: agentes que consultan herramientas, mantienen memoria de la conversación, y encadenan varios pasos de razonamiento. Esto es un primer agente funcional, de verdad, no solo la teoría.

Instalación

pip install langchain langchain-openai python-dotenv

Un agente con una herramienta propia

La pieza central de LangChain es el concepto de tool: una función de Python que el modelo puede decidir invocar cuando lo necesita. Aquí un agente con una herramienta simple de búsqueda:

from langchain.agents import create_react_agent, AgentExecutor
from langchain_openai import ChatOpenAI
from langchain.tools import tool
from langchain import hub

@tool
def buscar_precio(producto: str) -> str:
    """Busca el precio actual de un producto (simulado)."""
    precios = {"portatil": "899 EUR", "monitor": "349 EUR"}
    return precios.get(producto.lower(), "Producto no encontrado")

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
prompt = hub.pull("hwchase17/react")
tools = [buscar_precio]

agent = create_react_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

resultado = executor.invoke({"input": "¿Cuánto cuesta un monitor?"})
print(resultado["output"])

Cuando se ejecuta, el agente razona internamente que necesita usar buscar_precio, llama a la función con el argumento correcto, y usa el resultado para responder. Ese ciclo de "pensar → actuar → observar" es exactamente lo que distingue a un agente de una simple llamada al modelo.

Añadir memoria de conversación

Sin memoria, cada pregunta es independiente y el agente no recuerda lo que se dijo antes. Para conversaciones de varios turnos:

from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)

executor = AgentExecutor(agent=agent, tools=tools, memory=memory, verbose=True)

Conectar con fuentes de datos externas

Una herramienta puede envolver cualquier cosa: una llamada a una API, una consulta a base de datos, o una búsqueda en documentos propios (esto último, con LangChain, suele apoyarse en una base de datos vectorial como Chroma o FAISS para encontrar los fragmentos de texto más relevantes antes de pasárselos al modelo).

Errores comunes al empezar

Dar demasiadas herramientas de golpe confunde al agente sobre cuál usar — es mejor empezar con una o dos bien definidas. No limitar el número de pasos que puede dar el agente puede generar bucles costosos en tokens si el modelo no encuentra la respuesta; conviene fijar un max_iterations razonable. Y no validar lo que hace una herramienta antes de ejecutar acciones reales (borrar archivos, hacer pagos) es la forma más rápida de tener un problema serio — para acciones irreversibles, conviene un paso de confirmación humana antes de ejecutar.

Siguiente paso

Con esta base, el patrón se repite para casos más complejos: añadir más herramientas, conectar una base de datos vectorial para responder sobre documentos propios, o encadenar varios agentes especializados que se comunican entre sí. La curva de aprendizaje real de LangChain está en entender bien este ciclo de razonar-actuar-observar, no en memorizar su API.

IAagentesPythonLangChain
📢 SmartAd Placeholder (in-article)
Volver a la página principal

Comentarios (0)

Deja un comentario

No hay comentarios aún. ¡Sé el primero en comentar!

Instalar ProgrammersGear

Accede a tu contenido favorito directamente desde tu pantalla de inicio