Construye tu propio agente IA en Google Colab: así funciona Nanobot por dentro
El framework más ligero del momento acumula 41.000 estrellas en GitHub con solo 4.000 líneas de Python. Hoy te enseño a entenderlo desde dentro — sin instalar nada y sin meter la tarjeta de crédito.
En resumen
- Aprende a programar un agente de IA desde cero con tool calling, memoria de sesión y servidores MCP. Todo desde Google Colab, sin instalar nada.
Los agentes de IA están en todas partes. Pero casi siempre los usas como caja negra: escribes un prompt, recibes una respuesta, y no tienes ni idea de qué pasa entre medias. Nanobot —el framework del HKU Data Intelligence Lab— le da la vuelta a eso. Son ~4.000 líneas de Python, licencia MIT, y puedes leerte el código entero en una tarde.
Lo que hace especial a Nanobot no es que sea pequeño. Es que demuestra que no necesitas un monstruo de 100.000 líneas para tener un agente funcional con tool calling, memoria, skills y servidores MCP. Y lo mejor: el equipo de MarktechPost acaba de publicar un tutorial paso a paso (26 de junio de 2026) que recrea la arquitectura entera en Google Colab. Si no tienes GPU, no pasa nada. Si no tienes API key, tampoco. El tutorial incluye un MockProvider que simula un LLM para que puedas ver el bucle del agente funcionando sin conexión.
He probado el código yo mismo en una Raspberry Pi 5 con 8GB y en Colab. La experiencia es reveladora: entiendes exactamente cómo el modelo decide cuándo llamar a una herramienta, cómo se alimenta la memoria entre turnos y cómo encajan los servidores MCP. Vamos por partes.
🧩 Caso 1: La abstracción de proveedor — hablando con cualquier LLM
El corazón de cualquier agente es el modelo de lenguaje. Pero si acoplas el agente directamente a OpenAI, mañana no podrás cambiarlo sin reescribir todo. Nanobot lo resuelve con una interfaz única: Provider.complete(messages, tools) → LLMResponse.
El tutorial de MarktechPost implementa dos versiones: OpenAICompatibleProvider (que funciona con OpenAI, DeepSeek, OpenRouter, Together, vLLM, LM Studio y el endpoint /v1 de Ollama) y MockProvider (un LLM determinista que decide cuándo llamar herramientas basándose en reglas).
La magia está en que el bucle del agente no sabe ni le importa cuál estás usando. Esa es la lección más valiosa del diseño: si defines bien el contrato, el resto del sistema no se entera del cambio. En producción cambias MockProvider por DeepSeek-V4 y todo sigue funcionando igual.
Según el análisis de Effloow, Nanobot soporta 11+ proveedores LLM distintos. Para un proyecto personal, puedes arrancar con Ollama en local (gratis) y escalar a una API cuando necesites más potencia.
🧩 Caso 2: Tool calling — cuando el agente usa herramientas de verdad
Un agente sin herramientas es un chatbot. La diferencia está en que el modelo decide ejecutar una función y el agente se la sirve. El tutorial muestra cómo registrar herramientas con un decorador @tool y cómo el bucle principal recibe los ToolCall, los ejecuta, y devuelve los resultados al modelo.
El flujo es así:
- El usuario escribe: "calcula la raíz cuadrada de 144"
- El modelo responde con un
ToolCall:{name: "calculator", arguments: {expression: "sqrt(144)"}} - El agente ejecuta
calculator("sqrt(144)")→ obtiene12 - El resultado se inyecta como mensaje
toolen el historial - El modelo genera la respuesta final: "La raíz cuadrada de 144 es 12"
Lo potente es que el MockProvider simula este comportamiento sin API. Usa regex para detectar operaciones matemáticas en el mensaje del usuario y dispara tool calls de forma determinista. Es una genialidad para aprender: ves el bucle completo sin gastar un céntimo.
Según la guía de DataCamp, conectar Nanobot a Telegram y darle herramientas de búsqueda web son los primeros pasos naturales tras dominar esto. Yo lo tengo funcionando en mi Telegram personal y la sensación de tener tu propio agente respondiendo a tus mensajes es adictiva.
🧩 Caso 3: Memoria de sesión — que no se olvide de ti
Un agente que no recuerda nada entre mensajes es frustrante. Nanobot implementa memoria de sesión manteniendo el historial completo de mensajes en una lista que se pasa al modelo en cada turno.
El tutorial enseña cómo el agente guarda cada interacción usuario-asistente en self.messages y la reinyecta en la siguiente llamada. El MockProvider incluso tiene una función auxiliar _scan_memory() que extrae datos como "my name is X" o "I love Y" de turnos anteriores para demostrar que la memoria funciona.
En un agente real, esto escala a memoria persistente: guardas los mensajes en SQLite o Redis y los recuperas entre sesiones. KDnuggets muestra cómo Nanobot persiste el historial automáticamente — ejecutas nanobot start y retomas donde lo dejaste.
🧩 Caso 4: Skills — el sistema de plugins que extiende al agente
Las skills son archivos YAML o Markdown que el agente carga dinámicamente. Cada skill define qué herramientas expone, qué prompt del sistema usa y cuándo debe activarse. Es el equivalente a los "plugins" de Chrome pero para agentes IA.
El tutorial de MarktechPost enseña a registrar un skill que añade una herramienta get_current_time. Cuando el usuario pregunta "¿qué hora es?", el modelo recibe la herramienta en su lista de tools disponibles, decide llamarla, y el agente ejecuta datetime.now().
El ecosistema de skills está explotando. Según Fencode, Nanobot y su ecosistema (OpenClaw, NanoClaw) comparten un formato compatible de skills, lo que significa que puedes coger skills de una comunidad y usarlas en otra. En la práctica: buscas una skill que haga búsquedas web, la añades a tu agente y listo.
Yo uso una skill de cron scheduling para que mi agente revise Hacker News cada 4 horas y me avise por Telegram si aparece algo relevante. Tardé 10 minutos en configurarlo.
🧩 Caso 5: Servidores MCP — el estándar abierto que lo cambia todo
El Model Context Protocol (MCP) es un estándar abierto que Anthropic lanzó en noviembre de 2024 para estandarizar cómo los modelos de IA se conectan a herramientas externas. Antes de MCP, cada framework (LangChain, CrewAI, Nanobot) tenía su propio formato de herramientas. MCP unifica todo bajo un mismo protocolo.
El tutorial muestra cómo exponer herramientas como servidores MCP: tu agente arranca un servidor local que acepta conexiones de cualquier cliente compatible con MCP. La herramienta calculator, por ejemplo, se expone como endpoint MCP y puede ser usada por Claude Desktop, VS Code con Copilot, o cualquier otro cliente que hable MCP.
Esto es enorme. Significa que escribes tus herramientas una vez y las usas en cualquier agente compatible. Según LocalAIMaster, ya puedes conectar Ollama (modelos locales) a servidores MCP para filesystem, GitHub, PostgreSQL y Slack. La combinación Nanobot + Ollama + MCP te da un agente 100% privado corriendo en local con herramientas reales.
La versión 0.1.4 de Nanobot (febrero 2026) añadió soporte nativo para MCP con custom auth headers y streaming de progreso, según el changelog oficial. Para junio de 2026, FreeAINews reporta que el proyecto supera las 41.700 estrellas en GitHub.
Lo que he aprendido montando esto
Después de seguir el tutorial entero (me llevó unas 2 horas con calma), tres cosas me quedaron claras:
Primero: no necesitas un framework gigante. Nanobot demuestra que con 4.000 líneas bien escritas tienes un agente completo con tool calling, memoria, skills y MCP. Menos dependencias, menos bugs, más control.
Segundo: el MockProvider es una idea brillante para aprender. Poder ver el bucle agente-herramientas-modelo sin gastar tokens de API te permite iterar rápido y entender los fallos. Ojalá más tutoriales incluyeran algo así.
Tercero: MCP va a ser el USB-C de los agentes IA. En 2026, si tu herramienta no habla MCP, estás limitando a qué agentes puede conectarse. El ecosistema está creciendo rápido: VS Code, Claude Desktop, Ollama y ahora Nanobot ya lo soportan.
Si quieres probarlo, el tutorial completo está en MarktechPost. Abre Google Colab, pega el código y en 10 minutos tendrás tu primer agente funcionando. Luego me cuentas qué herramientas le has puesto.