Modèle / jeu de données
trpc-group/trpc-agent-go avatar
trpc-group/trpc-agent-go

tRPC-Agent-Go : un framework Go pour construire des systèmes d'agents

Un framework Go pour créer des systèmes d'agents de production avec des flux de travail graphiques, des outils, de la mémoire, A2A, AG-UI, MCP, évaluation et observabilité.

1 787 étoiles307 forksGoApache-2.0

En bref

De quoi s’agit-il ?
La README décrit une pile native Go avec workflows en graphe, outils, mémoire, compétences, évaluation et observabilité pour les applications à agents.
À qui s’adresse-t-il ?
tRPC-Agent-Go est un framework Go sous licence Apache-2.0 dont la README documente un flux d'exécution basé sur un runner, des agents intégrés, des workflows en graphe, des services de mémoire et de connaissances, des compétences et l'auto-évolution, des intégrations de protocoles et des outils d'évaluation. Les métadonnées du dépôt montrent 1 637 étoiles et 287 forks au moment de la rédaction, avec 179 problèmes ouverts.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Ce que la README dit du framework

La README commence par qualifier tRPC-Agent-Go de framework Go pour la construction de systèmes d'agents de production. Elle énumère ce que le framework fournit : agents LLM, workflows en graphe, appels d'outils, état de session et de mémoire, récupération de connaissances, auto-évolution des agents, évaluation et observabilité OpenTelemetry, le tout dans une pile native Go. L'adéquation annoncée concerne les applications à agents qui conviennent aux services Go : concurrentes, observables, faciles à déployer et prêtes à s'intégrer avec A2A, AG-UI et MCP. La README liste aussi des cas d'usage suggérés : bots de support client, assistants d'analyse de données, automatisation DevOps, automatisation de processus métier avec intervention humaine, et recherche et gestion de connaissances basées sur RAG. La README elle-même ne contient ni benchmarks ni preuves de production pour ces cas d'usage.

Organisation des paquets et flux d'exécution

La section architecture de la README décrit un flux d'exécution en sept étapes : le Runner orchestre le pipeline avec la gestion des sessions ; l'Agent traite les requêtes ; le Planner choisit la stratégie et la sélection des outils ; les Tools exécutent des tâches spécifiques ; Memory maintient le contexte ; Knowledge fournit les capacités RAG ; Evolution révise les sessions terminées et transforme les procédures réutilisables en compétences gérées. Un tableau des paquets attribue les responsabilités : agent, runner, model, tool, session, memory, knowledge, planner, artifact, skill, evolution, event, evaluation, server et telemetry. Ce tableau est le résumé de la README elle-même ; la structure réelle du code du dépôt n'est pas décrite au-delà du répertoire examples et de ces noms de paquets.

Agents intégrés et composition

La README indique que la plupart des applications n'ont pas besoin d'implémenter l'interface agent.Agent. Le framework fournit LLMAgent, qui enveloppe un modèle de complétion de chat ; ChainAgent, qui exécute des sous-agents séquentiellement ; ParallelAgent, qui exécute des sous-agents en parallèle et fusionne les sorties ; et CycleAgent, qui boucle entre un planificateur et un exécuteur jusqu'à un signal d'arrêt. La README montre comment les combiner comme des briques, y compris une chaîne composée d'un LLMAgent et d'un LLMAgent traducteur. Pour les workflows en graphe, GraphAgent est décrit comme des workflows en graphe typés avec routage multi-conditions, fonctionnellement équivalent à LangGraph pour Go. Un exemple de code illustre le routage en éventail multi-conditions, où un routeur renvoie plusieurs clés de branche et où le graphe exécute des cibles en parallèle.

Le runner, le streaming et l'annulation

Le Runner est l'exécuteur qui gère les sessions et les services de mémoire. Le démarrage rapide de la README montre une exécution en streaming avec un modèle compatible OpenAI et un outil de fonction calculatrice. Elle documente aussi comment arrêter une exécution : annuler le contexte passé à Runner.Run, puis continuer à vider le canal d'événements jusqu'à sa fermeture. La README avertit de ne pas simplement sortir de la boucle d'événements, car la goroutine de l'agent peut continuer à tourner et se bloquer sur des écritures de canal. Trois options d'annulation sont montrées : Ctrl+C mappé sur l'annulation de contexte, annulation depuis le code applicatif, et annulation par requestID pour les serveurs et les exécutions en arrière-plan. Une fabrique séparée, NewRunnerWithAgentFactory, construit un agent neuf à chaque requête lorsque le prompt, le modèle, les outils ou le bac à sable diffèrent.

Compétences d'agent et auto-évolution

Les compétences sont des dossiers contenant une spécification SKILL.md, avec éventuellement des documents et des scripts. La README documente NewFSRepository, qui peut charger des compétences depuis un dossier local, depuis plusieurs racines, ou depuis une URL HTTP(S) pointant vers une archive .zip ou .tar.gz ; l'archive est téléchargée et mise en cache localement, avec SKILLS_CACHE_DIR pour remplacer l'emplacement du cache. Les processus de longue durée doivent appeler repo.Refresh() après l'installation, la suppression ou le renommage d'une compétence. Les outils intégrés incluent skill_load, skill_list_docs, skill_select_docs et skill_run, plus des outils de session (skill_exec, skill_write_stdin, skill_poll_session, skill_kill_session) lorsque l'exécuteur prend en charge les sessions interactives. La README conseille de n'utiliser skill_run que pour les commandes requises par les documents de la compétence sélectionnée, et suggère de désactiver le processeur d'exécution de code des réponses avec llmagent.WithEnableCodeExecutionResponseProcessor(false) lorsqu'un LLMAgent n'utilise WithCodeExecutor que pour prendre en charge skill_run. Le service d'évolution révise les sessions terminées en arrière-plan, extrait des workflows SKILL.md réutilisables et prend en charge le stockage des révisions, les contrôles de qualité, l'approbation humaine et le comportement de démarrage à chaud. L'intégration au runner est une seule option : runner.WithEvolutionService.

Outils, mémoire et intégration de protocoles

Les exemples d'outils de la README couvrent les outils de fonction, les outils MCP via un wrapper autour de trpc-mcp-go, la recherche web avec DuckDuckGo, les outils d'opérations sur fichiers et les entrées de fichiers. Les services de mémoire incluent des implémentations en mémoire et Redis avec CRUD, recherche et intégration d'outils, gérés au niveau du runner. Les exemples de connaissances montrent un flux RAG de base : charger des sources, les intégrer dans un magasin vectoriel et rechercher. Les artefacts stockent des fichiers versionnés produits par les outils, avec des backends en mémoire, S3 et COS. Côté protocoles, la README documente une démo AG-UI qui expose un Runner via le protocole Agent-User Interaction, avec un serveur SSE intégré et des exemples de clients pour CopilotKit et TDesign Chat, ainsi qu'un exemple d'interopérabilité A2A qui communique avec un serveur A2A Python ADK, démontrant le streaming, les appels d'outils et l'exécution de code entre runtimes. Un exemple de serveur passerelle nommé openclaw est décrit comme une implémentation minimaliste de type OpenClaw, avec des identifiants de session stables, une sérialisation par session et des contrôles de sécurité de base : liste blanche plus filtrage par mention.

Évaluation, observabilité et licence

Le paquet evaluation exécute des agents sur des ensembles d'évaluation reproductibles avec des métriques enfichables et stocke les résultats ; la README montre un évaluateur New avec WithNumRuns et un résultat OverallStatus. La télémétrie est fournie via des hooks OpenTelemetry sur les couches modèle, outil et runner, avec un exemple exportant des traces vers un point de terminaison OTLP, et un exemple d'intégration Langfuse. La README affirme également une mise en cache automatique des prompts avec 90% d'économies sur le contenu mis en cache ; elle ne définit pas comment ce pourcentage est mesuré. Le dépôt est sous licence Apache 2.0. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite, sans redevance et irrévocable, ainsi qu'une licence de brevet qui prend fin si le licencié intente une action en contrefaçon de brevet alléguant que l'œuvre ou une contribution porte atteinte à un brevet. L'extrait contient aussi le début des conditions de redistribution. L'extrait fourni ne dit rien sur la garantie, le support ou la posture de sécurité.

Vérifier trpc-agent-go sur son chemin réel

Pour trpc-agent-go, vérifiez le chemin d exécution documenté avec un modèle et les identifiants disponibles, en conservant le fichier de configuration et les traces d outils. Lancez les tests du module Go depuis le répertoire indiqué par le README, puis observez la gestion des sessions, des appels MCP et des sorties structurées. Mesurez les erreurs de réseau, les timeouts et le comportement lorsque le fournisseur ou l outil est absent.

Conclusion éditoriale

tRPC-Agent-Go est un framework Go sous licence Apache-2.0 dont la README documente un flux d'exécution basé sur un runner, des agents intégrés, des workflows en graphe, des services de mémoire et de connaissances, des compétences et l'auto-évolution, des intégrations de protocoles et des outils d'évaluation. Les métadonnées du dépôt montrent 1 637 étoiles et 287 forks au moment de la rédaction, avec 179 problèmes ouverts.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté