# Goa and Goa-AI

Goa est un framework Go qui donne aux agents de développement moins de code à écrire et un seul contrat pour raisonner. Générez des serveurs HTTP, gRPC et JSON-RPC, clients typés, validations et spécifications API. Créez des agents IA, serveurs MCP et registres d’outils avec Goa-AI.

GitHub: [Goa](https://github.com/goadesign/goa) · [Goa-AI](https://github.com/goadesign/goa-ai)

Source: https://goa.design/fr/

## Moins de travail pour votre agent.

### Générez le code. Épargnez ces tokens.

Chaque transport, client et schéma généré est du code que le LLM n’a pas à composer. Consacrez ce travail à la logique métier, aux tests utiles et à de meilleurs outils.

### Un contrat pour comprendre le système.

Types, contraintes, descriptions et méthodes sont réunis dans le design. La structure générée donne à l’agent une carte du code et un endroit précis où intervenir.

### Le compilateur repère les écarts.

Modifiez le contrat et régénérez ses représentations ensemble. Go signale les appels et implémentations incompatibles : un retour concret pour la prochaine modification de votre agent.

## Goa

Définissez votre service une fois. Générez ses API, clients, validations et spécifications ensemble. Implémentez la logique métier derrière une interface Go typée.

HTTP, gRPC, JSON-RPC. Serveurs, clients typés et clients CLI à partir du même design.

Types Go, validation, encodage, correspondance des erreurs, OpenAPI et Protocol Buffers.

[Créer un service](https://goa.design/fr/docs/1-goa/quickstart/)

## Goa-AI

Concevez les outils et les résultats. Générez les contrats. Le runtime coordonne les appels aux modèles, les outils, les interventions humaines et les workflows durables.

Schémas, codecs, liaisons aux services et helpers de complétion générés. Agents utilisés comme outils, exécutions enfants liées, suites d’évaluation typées et hooks de scénarios.

Événements typés, confirmations, annulation et politiques. Exécution locale pour commencer ; Temporal pour la durabilité.

[Créer un agent IA](https://goa.design/fr/docs/2-goa-ai/quickstart/)

## Créez des serveurs MCP à partir de vos services.

Exposez vos méthodes comme outils MCP. Publiez des ressources et des modèles de prompts. Goa-AI génère le protocole et les adaptateurs : MCP devient une interface de votre application. Les agents peuvent aussi utiliser des outils MCP externes.

[Créer un serveur MCP](https://goa.design/fr/docs/2-goa-ai/mcp-integration/)

## Hébergez votre registre d’outils.

Exécutez le serveur de registre inclus comme catalogue partagé et passerelle d’invocation. Publiez des toolsets, découvrez leurs schémas et routez les appels vers les fournisseurs disponibles. Agents et fournisseurs se déploient et évoluent indépendamment. Avec Redis et Pulse.

[Héberger un registre d’outils](https://goa.design/fr/docs/2-goa-ai/registry/)

## Apprenez la méthode Goa à votre agent.

Installez la skill Goa service designer dans votre projet. Elle guide votre agent du design à la vérification, en précisant quels fichiers modifier et lesquels régénérer.

```bash
npx skills add goadesign/goa --skill goa-service-designer
```

À exécuter dans votre projet. Nécessite Node.js et npm.

[Installation et méthode](https://goa.design/fr/docs/ai-development/#install-the-skill)

## Pourquoi utiliser Goa si un agent peut écrire le code ?

Un agent écrit du code par inférence ; Goa dérive le code des contrats du design. Serveurs, clients, codecs et schémas générés sont autant de code que le modèle n’a pas à écrire séparément. Le design concentre le contexte, la structure reste cohérente et le compilateur repère les implémentations incompatibles après une modification. L’agent écrit toujours la logique métier et les tests.

## Quelle est la différence entre Goa et Goa-AI ?

Goa conçoit et génère les API de services Go : HTTP, gRPC, JSON-RPC, clients, validation et spécifications. Goa-AI étend le même DSL et générateur avec des outils typés, agents IA, complétions structurées, évaluations et serveurs MCP. Il fournit aussi un runtime d’agents et un serveur de registre à héberger. Vous pouvez commencer par l’un ou l’autre ; Goa-AI n’exige pas de service Goa déployé séparément.

## Puis-je utiliser Goa-AI uniquement pour créer un serveur MCP ?

Oui. Ajoutez des déclarations MCP à un service Goa pour générer un serveur exposant outils, ressources et modèles de prompts. Implémentez les méthodes derrière les adaptateurs générés. Aucun agent Goa-AI n’est nécessaire pour servir MCP.

## Comment la génération réduit-elle le travail du LLM ?

Goa génère le code de transport et des contrats sans demander au LLM de composer ces fichiers. Une catégorie de travail en tokens de sortie disparaît. L’économie totale dépend de la tâche, du modèle, du contexte et des itérations : comparez des changements complets, tests et revue inclus, pour mesurer l’effet dans votre projet.

