Roger Casadejús PérezFull stack web developer y SEO + miembro del blueteam en ciberseguridad web
Cómo hacer tu propio agente de ia en python para mac
Crear tu propio agente de IA en Python desde un Mac ya no es algo reservado a grandes empresas ni a gurús del machine learning. Con un poco de base en programación, una clave de API y las librerías adecuadas, puedes montar en muy poco tiempo un asistente inteligente capaz de entender lenguaje natural, consultar información, ejecutar código y automatizar tareas del día a día en tu equipo. En este artículo vas a ver cómo montar un agente funcional paso a paso, qué piezas técnicas hay detrás, cómo se usan las herramientas y la memoria, y qué opciones tienes si más adelante quieres llevar ese prototipo a un entorno empresarial serio, con seguridad, escalabilidad en la nube y análisis de datos con Power BI.
Qué es realmente un agente de ia (y en qué se diferencia de un simple chatbot)
Antes de tocar código conviene aclarar qué entendemos por agente. Un chatbot clásico es básicamente un modelo de lenguaje que responde a tus mensajes: le haces una pregunta, te devuelve un texto y ahí se queda. No tiene forma de actuar sobre el mundo más allá de esa respuesta. Un agente de IA, en cambio, combina tres piezas: un modelo de lenguaje (LLM), un conjunto de herramientas que puede usar (APIs, funciones, acceso a ficheros, web, etc.) y la capacidad de decidir qué acción tomar en cada momento. Es decir, puede pensar, elegir una herramienta y ejecutar una acción para lograr un objetivo, no solo charlar contigo.
La diferencia se ve claro con un ejemplo sencillo. Si pides a un chatbot: “Dame el precio actual de Bitcoin”, lo habitual es que te diga algo tipo “no tengo datos en tiempo real” o que se invente una cifra. Un agente, ante la misma petición, analiza el objetivo, decide que necesita una herramienta de consulta web o una API de precios, llama a esa herramienta y te devuelve el valor actual con la fuente incluida. Por dentro, muchos agentes modernos funcionan con un loop de planificación: el modelo evalúa el estado, decide cuál es el siguiente paso, llama a una herramienta si hace falta, integra el resultado en la conversación y repite el ciclo hasta que considera que el objetivo está cumplido.
Por qué python y por qué hacerlo en macos
Si vas a crear agentes inteligentes hoy, lo más sensato es usar Python como lenguaje base. Tiene una sintaxis clara, una comunidad enorme, librerías maduras de IA y un soporte fantástico para trabajar con APIs, JSON, asincronía y herramientas externas. Además, casi todos los SDK de los grandes proveedores, como OpenAI, Anthropic, Meta, ofrecen bindings oficiales o muy estables para Python. En el ecosistema de agentes, Python destaca porque facilita tanto la parte de IA como la parte “de pegamento”: manejo de archivos, bases de datos, servicios REST, colas de tareas, integración con servicios cloud.
Puedes empezar con un script sencillo y acabar desplegando un sistema de microservicios sin cambiar de lenguaje. Trabajar desde un Mac no supone ninguna desventaja, al contrario. macOS es un entorno muy cómodo para instalar entornos virtuales, manejar dependencias con pip y probar modelos locales o remotos. Además, si tienes un chip Apple Silicon, los nuevos NPUs y la optimización de librerías permiten ejecutar modelos locales cada vez más pesados con un rendimiento muy decente.
En los últimos años se han popularizado frameworks como LangChain, LangGraph, CrewAI o AutoGen, pensados justo para este tipo de agentes. No son imprescindibles para empezar, pero ayudan mucho cuando tu agente crece, quieres orquestar varios modelos o montar arquitecturas multiagente donde distintos “roles” colaboran entre sí.
Cómo funciona un agente de ia por dentro
Detrás de un tutorial de “10 minutos para tu agente en Python” hay varias piezas que conviene entender. De forma simplificada, un agente suele tener al menos cuatro componentes básicos: el modelo de lenguaje, la capa de orquestación, las herramientas y la memoria. El modelo de lenguaje (GPT-4o, Llama, Mistral, Qwen) es el núcleo que interpreta lo que pides y genera texto o estructuras como JSON. Pero por sí solo no sabe cómo usar tus funciones ni cuándo tiene que llamar a una API concreta; eso lo decide la capa de orquestación.
La capa de orquestación es el código que controla el ciclo de vida del agente. Cómo se construye el prompt, cuándo se pide al modelo que “piense” qué hacer, cómo se interpretan las salidas, cómo se registra el estado y cómo se evita que se quede en bucles inútiles. Frameworks como LangChain o LangGraph proporcionan bloques para esto, pero también puedes escribir tu propia lógica con unas cuantas clases y funciones en Python.
Las herramientas son funciones o servicios externos que el agente puede activar. Por ejemplo: buscar en internet, leer un archivo local, ejecutar código Python, consultar una base de datos, enviar un correo o crear un nuevo documento. Las herramientas se describen al modelo con un nombre, una explicación clara de para qué sirven y, muchas veces, un esquema JSON de los parámetros que aceptan. La memoria permite que el agente recuerde cosas más allá de una sola petición. Aquí entran las memorias de corto plazo (el contexto de la conversación) y las memorias persistentes basadas en embeddings vectoriales, que almacenan información semántica.
Stack típico en 2026 para agentes en python
Si revisas proyectos recientes, verás que muchos comparten un stack parecido: Python + un LLM potente (por ejemplo, GPT-4o) + un framework de orquestación + herramientas personalizadas. La idea es que el modelo se encargue del razonamiento en lenguaje natural y tú aportes las capacidades concretas que necesita a través de tus funciones. En la práctica, el flujo suele comenzar con la instalación de las dependencias clave. Por ejemplo, podrías instalar el SDK de OpenAI, alguna librería de manejo de variables de entorno y, si quieres, un framework como LangChain o LangGraph para organizar cadenas y agentes complejos.
Todo esto se gestiona cómodamente con pip en un entorno virtual de Python. El siguiente paso es obtener y configurar tu clave de API. Lo habitual es guardar la clave en una variable de entorno (por ejemplo, OPENAI_API_KEY) y no dejarla nunca escrita en claro en el código. Desde macOS puedes configurar estas variables en tu shell o usar un archivo .env y cargarlas con una librería tipo python-dotenv.
Una vez tienes el entorno listo, importas las librerías necesarias, defines el modelo que vas a usar y preparas el conjunto de herramientas que tu agente podrá invocar: utilidades de lectura y escritura de archivos, funciones de cálculo, conectores a APIs de terceros. Aquí es donde describe qué hace cada herramienta, para qué casos debe usarse y qué parámetros acepta.
Con todo eso listo, se construye un script controlador en Python que orquesta el bucle del agente: recibe las instrucciones del usuario, llama al modelo con el contexto y la lista de herramientas disponibles. Interpreta si el modelo quiere usar una herramienta o dar una respuesta directa, ejecuta la herramienta si procede y vuelve a pasar el resultado al modelo hasta llegar a una respuesta final útil.
Construir tu primer agente paso a paso en python para mac
Un buen planteamiento para empezar es montar un agente sencillo que pueda buscar información en internet, hacer cálculos básicos y ejecutar algo de código Python. Con eso ya tendrás la estructura mínima: el modelo que decide, un conjunto de herramientas y un bucle de decisión. Primero defines la estructura del proyecto en tu Mac. Por ejemplo, un directorio con un archivo principal (agent.py), otro para herramientas (tools.py) y, si quieres ir un poco más allá, carpetas para datos y configuraciones. Esta organización modular facilita escalar el proyecto.
En tools.py puedes crear funciones como una búsqueda web, una calculadora básica y un ejecutor de código Python en un entorno controlado. Cada función se documenta con una descripción muy clara; cuanto mejor documentes para qué sirve cada herramienta, más fácil será que el modelo las use cuando toca y no se limite a explicarte cómo se usan.
En agent.py defines la clase o función que representa a tu agente. Allí cargarás la clave de API, seleccionarás el modelo de lenguaje, construirás el prompt del sistema donde le explicas su rol y cómo debe usar las herramientas, y escribirás el bucle que procesa cada mensaje. El modelo propone una acción, tu código revisa si es una llamada de herramienta o una respuesta final, y actúa en consecuencia.
Si necesitas integrar modelos locales o gestionar APIs específicas, conocer el uso de LM Studio con API puede ser útil. Cuando ya tienes este ciclo montado, haz una prueba inicial: lanza tu script en el Mac, pídele algo que requiera usar una herramienta. Tal vez logres que busque un dato en internet o que realice un cálculo simple. Puedes seguir añadiendo funcionalidades y mejorando el agente con el tiempo.