Habr AI→ original

Du LLM à l’action : comment créer un agent AI avec Go et GigaChat

Par curiosité, un développeur a construit un agent AI en Go en utilisant LangChainGo, des outils, des chaînes de prompts et une intégration avec le GigaChat rus

Du LLM à l’action : comment créer un agent AI avec Go et GigaChat
Source : Habr AI. Collage: Hamidun News.
◐ Écouter l'article

Un développeur a été inspiré par une conférence sur les agents d'IA et a décidé d'essayer d'en construire un en Go. Ce n'était pas facile, mais cela a fonctionné — il partage maintenant son expérience et explique comment faire en sorte qu'une application Go non seulement génère du texte, mais pense et agisse.

Architecture : Comment un Agent Choisit les Actions

Un agent d'IA diffère d'un LLM standard en ce qu'il n'est pas un générateur de texte, mais un système de prise de décision. Lorsqu'un utilisateur présente une tâche, l'agent l'analyse, sélectionne un outil approprié (recherche, calcul, appel d'API), l'exécute, obtient le résultat et continue à réfléchir. C'est la chaîne : recevoir tâche → LLM choisit étape → exécuter outil → mettre à jour contexte → répéter jusqu'à ce que la tâche soit résolue. Le défi est de décrire correctement les outils dans le prompt afin que le LLM comprenne quand et lequel utiliser. Description incorrecte = agent choisit le mauvais outil et suit le mauvais chemin.

LangChainGo : Un Framework pour les Développeurs Go

Le développeur a choisi LangChainGo — une liaison Go pour LangChain, un framework pour les applications LLM. Il reprend le meilleur de la version Python, mais s'exécute sur Go, ce qui est important pour les systèmes de production. LangChainGo fournit :

  • Chaînes de requêtes (Chains) — templates pour les séquences d'étapes avec les LLMs
  • Outils (Tools) — fonctions qu'un agent peut appeler (recherche, calcul)
  • Memory — contexte de conversation entre les requêtes de l'utilisateur
  • MCP (Model Context Protocol) — une norme pour connecter des outils externes
  • Support pour divers LLMs — d'OpenAI aux modèles locaux

L'avantage principal : vous pouvez écrire du code de production en Go sans passer à Python. Cela signifie un déploiement plus rapide, moins de dépendances, une meilleure performance.

Intégration avec GigaChat et MCP

Au lieu de l'API OpenAI, l'auteur a décidé d'utiliser GigaChat — un LLM russe de Sber. C'est plus pratique pour travailler avec du texte cyrillique et des données locales, en plus de répondre aux exigences de conformité. Connecter GigaChat via LangChainGo n'était pas évident. La documentation avait uniquement des exemples pour OpenAI. Il a dû écrire un adaptateur personnalisé afin que LangChainGo puisse communiquer avec GigaChat : format de requête correct, gestion des tokens, traductions d'erreurs.

MCP, à première vue, semblait être un protocole complexe, mais s'est avéré être une idée simple : un outil est une fonction qui reçoit une requête JSON et retourne une réponse JSON.

"Au premier abord, il semblait que l'écosystème Go pour l'IA était plus mince que Python.

En réalité, il est juste plus compact — et c'est un plus."

Défis et Leçons

Le premier problème : la chaîne de requêtes se casse de manière non évidente. Si l'agent choisit le mauvais outil, le contexte devient confus et il ne reviendra pas au bon chemin. Il a dû ajouter une validation des prompts et une logique de fallback — si le premier outil ne fonctionne pas, essayez un autre.

Le deuxième : le débogage. Lorsqu'un LLM pense incorrectement, il est difficile de comprendre pourquoi. Il a dû enregistrer chaque étape de la chaîne, chaque choix d'outil, chaque résultat. Sans cela, vous attrapez les erreurs à l'aveugle.

Le troisième : l'intégration d'outils personnalisés. MCP semble bon sur le papier, mais lorsque vous devez intégrer une API interne ou un outil complexe — il y a du travail supplémentaire. Il a dû écrire un wrapper qui transforme le résultat en quelque chose que le LLM peut comprendre.

Pourquoi C'est Important

Pour les développeurs Go, cela signifie que les agents d'IA ne sont plus réservés aux développeurs Python. LangChainGo permet d'intégrer un système intelligent dans un service Go de production. Cela signifie des systèmes rapides qui non seulement génèrent du texte, mais résolvent des problèmes.

ZK
Hamidun News
Actualités IA sans bruit. Sélection éditoriale quotidienne de plus de 400 sources. Produit de Zhemal Khamidun, Head of AI chez Alpina Digital.
Qu'en pensez-vous ?
Chargement des commentaires…