- Update objective to reflect N agents (3-50) instead of fixed 7 roles - Update AI layer to reference mistral-large-2411 model - Add section-based editing and convergence details - Remove outdated 'network monitoring' feature - Add session discovery features - Update features list to include: dynamic agents, random names, raised hand animation, real-time visualization - Update usage guide to reflect new session discovery UI - Update example to use dynamic agents with random names - Clarify automatic process and consensus convergence - Add info about accessing previous sessions
216 lines
7.7 KiB
Markdown
216 lines
7.7 KiB
Markdown
# Project Agora
|
|
|
|
## Description
|
|
|
|
Project Agora est une plateforme web permettant à plusieurs intelligences artificielles de **collaborer** pour concevoir une architecture logicielle complète à partir d'une **description de projet** et optionnellement d'une **documentation contexte**.
|
|
|
|
L'objectif est de produire :
|
|
|
|
- Une **architecture logicielle complète**, incluant :
|
|
- Une **hiérarchie de fichiers** structurée pour le projet
|
|
- Une **spécification détaillée** du contenu attendu pour chaque fichier (sans implémentation de code, uniquement une description fonctionnelle et technique)
|
|
- Un **raisonnement justifié** pour chaque choix technique.
|
|
- Des **diagrammes explicatifs** (Mermaid).
|
|
- Une **synthèse finale cohérente** prête à être utilisée comme base de développement.
|
|
|
|
Aucune génération de code direct n'est effectuée : seules des **explications, réflexions et structures** sont produites.
|
|
|
|
---
|
|
|
|
## Objectif
|
|
|
|
Reproduire une **table ronde d'IA spécialistes**, avec un nombre d'agents flexible et configurable :
|
|
|
|
- **Agents dynamiques** (3-50) avec des noms aléatoires pour la diversité
|
|
- Chaque agent à une perspective unique sur l'architecture logicielle
|
|
- Les agents se spécialisent naturellement dans différents domaines
|
|
|
|
L'aspect le plus crucial de ces IA réside dans leur capacité à **collaborer itérativement** pour améliorer collectivement la spécification architecturale. Le processus s'arrête naturellement quand **tous les agents convergent** (plus aucune amélioration n'est proposée sur N tours consécutifs).
|
|
|
|
---
|
|
|
|
## Exemple d'utilisation
|
|
|
|
L'utilisateur entre ceci dans l'interface :
|
|
|
|
> « Je souhaite faire une application de calculatrice scientifique responsive web. »
|
|
|
|
Le système demande alors à plusieurs IA leur point de vue sur :
|
|
|
|
- Le langage ou framework le plus adapté
|
|
- L'organisation du projet (folders, modules)
|
|
- Les fichiers essentiels
|
|
- Les interactions front/back éventuelles
|
|
- Le design minimal (UI/UX conceptuel)
|
|
|
|
Elles discutent pour converger vers un consensus, puis produisent une **fiche conceptuelle du projet** au format structuré (JSON + affichage visuel + diagrammes Mermaid).
|
|
|
|
---
|
|
|
|
## Architecture technique
|
|
|
|
### Stack principal
|
|
|
|
- **Frontend**: Vue.js 3 + Vite
|
|
- **Backend**: Node.js + Express
|
|
- **AI Layer**: Multi-agent système avec Mistral API (mistral-large-2411)
|
|
- **Storage**: SQLite pour persistance complète
|
|
- **Real-time**: WebSocket pour streaming temps réel des modifications
|
|
- **Design**: Glassmorphism avec animations fluides
|
|
|
|
### Architecture globale
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[Frontend: Vue.js 3] -->|User Prompt| B[Backend: Node.js]
|
|
B -->|Orchestration| C[AI Layer: Mistral Agents]
|
|
C -->|Debate Data| D[Storage: SQLite/JSON]
|
|
C -->|Diagram Specs| E[Mermaid Engine]
|
|
E -->|SVG/Render| A
|
|
D -->|History| A
|
|
```
|
|
|
|
---
|
|
|
|
## Fonctionnalités
|
|
|
|
### Conception Collaborative par IA
|
|
|
|
- **N agents dynamiques** (3-50) : Nombre configurable pour chaque session
|
|
- **Noms aléatoires** : Chaque agent a un nom unique pour meilleure clarté
|
|
- **Création itérative** : SYSTEM crée la structure de base
|
|
- **Tours de table automatiques** : Chaque agent revoit et peut modifier une section
|
|
- **Document évolutif** : Amélioration progressive à chaque passage
|
|
- **Opérations supportées** : Modification, création, ou suppression de sections
|
|
- **Convergence naturelle** : Arrêt automatique quand N agents de suite ne proposent aucun changement
|
|
- **Traçabilité complète** : Historique de toutes les modifications avec agent, raison, et round
|
|
- **Format Markdown** : Output toujours en Markdown (.md)
|
|
- **Context files** : Support d'upload de fichiers MD/TXT en entrée (optionnel)
|
|
- **Session discovery** : Accès facile aux sessions précédentes avec filtres et stats
|
|
- **Real-time visualization** : Observation des changements en direct via WebSocket
|
|
|
|
### Système multi-agents IA
|
|
- **Intégration Mistral AI** (mistral-large-2411) pour génération intelligente et contextualisée
|
|
- **System prompts intelligents** : Prompt générique paramétré par agent
|
|
- **Contexte intelligent** : Les agents voient le document actuel et sa version antérieure
|
|
- **Section-based editing** : Les agents modifient une section à la fois pour cohérence
|
|
|
|
### Interface et visualisation
|
|
- **Saisie de prompt** décrivant le projet souhaité
|
|
- **Upload optionnel** de fichiers contexte (MD/TXT)
|
|
- **Sélection dynamique** du nombre d'agents (3-50)
|
|
- **Visualisation en temps réel** des modifications via WebSocket
|
|
- **Timeline interactive** montrant chaque round et les agents ayant participé
|
|
- **Raised hand animation** montrant l'agent actuel qui réfléchit/modifie
|
|
- **Affichage interactif** du document Markdown avec syntaxe colorée
|
|
- **Session discovery** avec stats (complétées, en cours, total)
|
|
- **Filtres par statut** pour accéder facilement aux sessions
|
|
- **Historique des sessions** accessible depuis la page d'accueil
|
|
|
|
### Architecture et stockage
|
|
- **API REST** pour gestion des sessions collaboratives
|
|
- **WebSocket** pour streaming temps réel des modifications d'agents
|
|
- **Base SQLite** pour persistance des sessions, versions et historique complet
|
|
- **Versioning intelligent** : Chaque modification crée une version avec métadonnées (agent, raison, round)
|
|
|
|
---
|
|
|
|
## Démarrage rapide
|
|
|
|
### Prérequis
|
|
|
|
- Node.js 18+
|
|
- Clé API Mistral AI ([obtenir ici](https://console.mistral.ai/))
|
|
|
|
### Installation
|
|
|
|
**1. Backend**
|
|
```bash
|
|
cd backend
|
|
npm install
|
|
cp .env.example .env
|
|
# Éditer .env et ajouter votre MISTRAL_API_KEY
|
|
npm start
|
|
```
|
|
|
|
**2. Frontend**
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
**3. Accéder à l'application**
|
|
- Frontend: http://localhost:5173
|
|
- Backend API: http://localhost:3000
|
|
- WebSocket: ws://localhost:3000
|
|
|
|
---
|
|
|
|
## Flux Utilisateur
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant User
|
|
participant Backend
|
|
participant Agents
|
|
User->>Backend: Project description + optional context file
|
|
Backend->>Agents: Lead Architect creates initial document
|
|
Agents-->>Backend: Document v1
|
|
Backend->>Agents: Round 1: Review and improve
|
|
Agents-->>Backend: Updates proposed
|
|
Backend->>Agents: Round 2-N: Review updated document
|
|
Agents-->>Backend: More updates OR no changes
|
|
Backend-->>User: Final Markdown document + history
|
|
```
|
|
|
|
---
|
|
|
|
## Utilisation
|
|
|
|
### Étapes
|
|
|
|
1. **Accédez à la page d'accueil** : Consultez les sessions précédentes
|
|
- Visualisez les stats (complétées, en cours, total)
|
|
- Filtrez par statut si nécessaire
|
|
- Cliquez sur une session pour la reprendre
|
|
2. **Ou créez une nouvelle session** :
|
|
- Décrivez le projet en détail
|
|
- Ajouter un contexte (optionnel) : Upload un fichier MD ou TXT
|
|
- Sélectionnez le nombre d'agents (3-50)
|
|
- Lancez "Start Design Session"
|
|
3. **Observez la collaboration** :
|
|
- Visualisez le document en temps réel
|
|
- Consultez la timeline avec les rounds et les agents ayant participé
|
|
- Voir l'animation "main levée" pour l'agent actuel
|
|
4. **Processus automatique** :
|
|
- Chaque agent revoit le document
|
|
- Peut modifier, créer, ou supprimer une section
|
|
- Les rounds se font automatiquement
|
|
- Le processus s'arrête quand consensus est atteint
|
|
5. **Résultat** :
|
|
- Document Markdown téléchargeable
|
|
- Historique complet des modifications
|
|
- Session reste accessible pour consultation
|
|
|
|
### Exemple
|
|
|
|
Entrée:
|
|
```
|
|
Plateforme gestion projets temps réel, équipes distribuées,
|
|
gestion tâches, communication, partage fichiers, 10K+ users
|
|
```
|
|
|
|
Processus (avec 7 agents aux noms aléatoires):
|
|
- Round 1: SYSTEM crée la structure de base
|
|
- Round 2: Chaque agent revoit et propose des améliorations
|
|
- Round 3+: Itération jusqu'à convergence
|
|
|
|
Résultat: Spécification architecturale Markdown complète avec traçabilité des changements
|
|
|
|
---
|
|
|
|
## Licence
|
|
|
|
MIT License — Open-source
|