De LLM a la acción: cómo crear un agente de AI con Go y GigaChat
Por interés, un desarrollador construyó un agente de AI en Go, aplicando LangChainGo, herramientas, cadenas de prompts e integración con el GigaChat ruso. El ar

Un desarrollador fue inspirado por una charla sobre agentes de IA y decidió intentar construir uno en Go. No fue fácil, pero funcionó — ahora comparte su experiencia y explica cómo hacer que una aplicación Go no solo genere texto, sino que piense y actúe.
Arquitectura: Cómo un Agente Elige Acciones
Un agente de IA se diferencia de un LLM estándar en que no es un generador de texto, sino un sistema de toma de decisiones. Cuando un usuario presenta una tarea, el agente la analiza, selecciona una herramienta apropiada (búsqueda, cálculo, llamada a API), la ejecuta, obtiene el resultado y continúa pensando. Esta es la cadena: recibir tarea → LLM elige paso → ejecutar herramienta → actualizar contexto → repetir hasta que se resuelva la tarea. El desafío está en describir correctamente las herramientas en el prompt para que el LLM entienda cuándo y cuál usar. Descripción incorrecta = agente elige la herramienta equivocada y sigue el camino incorrecto.
LangChainGo: Un Framework para Desarrolladores Go
El desarrollador eligió LangChainGo — una vinculación Go para LangChain, un framework para aplicaciones LLM. Toma lo mejor de la versión Python, pero funciona en Go, lo que es importante para sistemas de producción. LangChainGo proporciona:
- Cadenas de solicitudes (Chains) — plantillas para secuencias de pasos con LLMs
- Herramientas (Tools) — funciones que un agente puede llamar (búsqueda, cálculo)
- Memory — contexto de conversación entre solicitudes del usuario
- MCP (Model Context Protocol) — un estándar para conectar herramientas externas
- Compatibilidad con varios LLMs — desde OpenAI hasta modelos locales
La principal ventaja: puedes escribir código de producción en Go sin cambiar a Python. Esto significa implementación más rápida, menos dependencias, mejor rendimiento.
Integración con GigaChat y MCP
En lugar de la API de OpenAI, el autor decidió usar GigaChat — un LLM ruso de Sber. Esto es más conveniente para trabajar con texto cirílico y datos locales, además de cumplir con los requisitos de conformidad. Conectar GigaChat a través de LangChainGo no fue obvio. La documentación solo tenía ejemplos para OpenAI. Tuvo que escribir un adaptador personalizado para que LangChainGo pudiera comunicarse con GigaChat: formato correcto de solicitud, manejo de tokens, traducciones de errores.
MCP, a primera vista, parecía un protocolo complejo, pero resultó ser una idea simple: una herramienta es una función que recibe una solicitud JSON y devuelve una respuesta JSON.
"A primera vista, parecía que el ecosistema Go para IA era más delgado que Python.
En realidad, es solo más compacto — y eso es un plus."
Desafíos y Lecciones
El primer problema: la cadena de solicitudes se rompe de manera no obvia. Si el agente elige la herramienta equivocada, el contexto se confunde y no vuelve al camino correcto. Tuvo que añadir validación de prompts y lógica de fallback — si la primera herramienta no funciona, intenta otra.
El segundo: depuración. Cuando un LLM piensa incorrectamente, es difícil entender por qué. Tuvo que registrar cada paso en la cadena, cada elección de herramienta, cada resultado. Sin esto, estás cazando errores a ciegas.
El tercero: integración de herramientas personalizadas. MCP se ve bien sobre el papel, pero cuando necesitas integrar una API interna o una herramienta compleja — hay trabajo extra. Tuvo que escribir un wrapper que transforme el resultado en algo que el LLM pueda entender.
Por Qué Esto Es Importante
Para los desarrolladores Go, esto significa que los agentes de IA ya no son solo para desarrolladores Python. LangChainGo hace posible incorporar un sistema inteligente en un servicio Go de producción. Esto significa sistemas rápidos que no solo generan texto, sino que resuelven problemas.