Goa-AI : des agents à partir d’une conception

Markdown
Concevez des outils typés et des contrats d’agents en Go. Générez l’intégration et utilisez un modèle d’exécution explicite.

Présentation

Goa-AI étend le langage et le générateur Goa aux applications IA. Définissez agents, entrées et résultats d’outils, réponses structurées, politiques et scénarios d’évaluation. Générez types, schémas, codecs et liaisons ; écrivez les planificateurs et le comportement applicatif.

Créer votre premier agent ou suivre le processus avec un agent de code. Aucun service Goa séparé n’est requis au préalable.

Développer avec un agent de code

Schémas et codecs Go viennent de la même conception. Un outil réutilise les types et l’implémentation d’un service via BindTo. La génération produit aussi AGENTS_QUICKSTART.md, un guide adapté à votre conception. Fournissez-le à l’agent avec les fichiers de design, puis implémentez planificateurs et exécuteurs hors de gen/. Régénérez, compilez et lancez les évaluations à chaque évolution.

Cela évite de faire rédiger au modèle des schémas et intégrations répétitifs. Aucun pourcentage d’économie n’est garanti : mesurez des tâches complètes, contexte, tentatives et revue compris.

Intégrer des agents au produit

Contrats d’outils

Définissez entrées et résultats avec types Goa, descriptions, exemples et validation. Le générateur produit schémas JSON et codecs typés. Les arguments du modèle sont validés avant exécution. Voir ensembles d’outils.

Sorties structurées

Completion(...) déclare une réponse typée. Les fonctions générées, y compris en streaming, valident le résultat complet. Voir DSL et runtime.

Évaluations

Déclarez suites et scénarios, générez les points d’extension typés et implémentez les vérifications de résultats. Le jugement sémantique nécessite une calibration. Voir évaluations générées.

Composition

Exposez un agent comme outil d’un autre. Les exécutions enfants ont identité, lien parent et historique. Voir composition.

Streaming

Le runtime émet des événements typés pour les réponses, outils, interventions humaines et états. L’application choisit quoi exposer et comment le transporter. Voir streaming.

Exécution durable

Utilisez le moteur en mémoire en local. Configurez Temporal pour la persistance, la reprise et les nouvelles tentatives d’activités. Les effets externes exigent idempotence et politiques de retry adaptées dans l’application. Voir production.

Serveurs MCP et registres d’outils à héberger

Créez des serveurs MCP. Exposez les méthodes comme outils, publiez des ressources et proposez des modèles de prompts avec le protocole et les adaptateurs générés. Les agents peuvent aussi utiliser des outils MCP externes. Voir l’intégration MCP.

Hébergez un registre d’outils. Exécutez le serveur inclus comme catalogue partagé et passerelle d’invocation, avec Redis et Pulse. Les fournisseurs publient toolsets et schémas ; les consommateurs découvrent les outils et invoquent les fournisseurs disponibles. Des helpers générés relient les applications au registre. Voir l’exploitation du registre.

Modèles et état

Des adaptateurs existent pour OpenAI, Anthropic, AWS Bedrock et Google Vertex AI. Leurs capacités varient : consultez le runtime. L’application fournit le stockage et contrôle sessions, autorisation et mémoire. Voir mémoire et sessions.

Architecture

La conception porte les contrats statiques ; le code généré en fait des packages typés. Le runtime coordonne l’exécution et le moteur fournit les workflows locaux ou durables. Les planificateurs portent les choix sémantiques ; les services applicatifs portent le comportement métier.

Guides

Commencez par le démarrage rapide local, puis ajoutez outils, modèles, état et déploiement. Consultez DSL et runtime pour les contrats exacts.

Explorer la documentation

Démarrage rapide

Générez et exécutez un agent IA local, puis ajoutez planificateur, outils typés et intégration du modèle.

Ensembles d'outils

Découvrez les types d’ensembles d’outils, leurs modèles d’exécution, la validation, la récupération structurée et les catalogues dans Goa-AI.

Recherche d’outils et catalogues dynamiques

Générer les choix de chargement et consommer un catalogue évolutif sans stockage distinct des outils chargés.

Composition de l'agent

Learn how to compose agents using agent-as-tool patterns, run trees, and streaming topology.

Évaluations générées

Définissez des scénarios dans le design Goa, générez des hooks typés et produisez des rapports fiables.

Intégration MCP

Créez des serveurs MCP avec outils, ressources et prompts, et utilisez des outils MCP externes.

Mémoire et sessions

Manage state with transcripts, memory stores, sessions, and runs in Goa-AI.

Production

Set up Temporal for durable workflows, stream events to UIs, apply adaptive rate limiting, and use system reminders.

Tests et dépannage

Learn how to test agents, planners, and tools, and troubleshoot common issues.

Référence DSL

Complete reference for Goa-AI’s DSL functions - agents, toolsets, policies, and MCP integration.

Temps d'exécution

Understand how the Goa-AI runtime orchestrates agents, enforces policies, and manages state.

Registre des outils internes

Deploy a clustered gateway for cross-process toolset discovery and invocation.

Tool Payload Defaults

How Goa-AI applies Goa-style defaults to tool payloads (decode-body + transform) and what codegen contracts must hold.