Vue d’ensemble
gAgent (generative Agent) est une plateforme multi-agent C++17 basée sur le standard FIPA ACL (Foundation for Intelligent Physical Agents — Agent Communication Language).
Objectif
Le projet vise la planification neuro-symbolique : combiner la rigueur des planificateurs symboliques (HTN, PDDL) avec la flexibilité des modèles de langage (LLM), via des agents qui communiquent en FIPA ACL.
┌──────────────────────────────────────────────────┐
│ gAgent Platform │
│ │
│ ┌─────────┐ ACL/FIPA ┌─────────────────┐ │
│ │ Alice │ ─────────► │ Bob │ │
│ │ (Agent) │ ◄───────── │ (PlannerAgent) │ │
│ └─────────┘ REQUEST/ └────────┬────────┘ │
│ INFORM │ │
│ HTN/PDDL │
│ Planner │
└──────────────────────────────────────────────────┘
Architecture technique
Chaque agent tourne dans son propre processus (fork()). La communication
inter-agent se fait via ZeroMQ PUSH/PULL : chaque agent possède un socket
PULL lié à ipc:///tmp/acl_<nom> (ou tcp://… pour le multi-machine).
Modules
Module |
Rôle |
|---|---|
|
Cycle de vie des agents ( |
|
Parser FIPA ACL Flex/Bison, sérialisation |
|
Environnement partagé entre agents ( |
|
Gestionnaire de communication réseau ( |
|
Utilitaires ( |
Standards respectés
FIPA ACL : performatives, identificateurs d’agents, ontologies
FIPA AMS : gestion du cycle de vie des agents (partiel)
FIPA DF : annuaire de services (partiel)