Un exercice doit suivre cette structure :
exercise_XX_name/
├── README.md # Description de l'exercice
├── exercise.py # Code de l'exercice
├── graph_builder.py # Constructeur de graphe
├── agent.py # Agent spécialisé (optionnel)
└── visualizer.html # Visualisation (optionnel)
Le README doit contenir :
- Contexte : Description du problème
- Question : Question à résoudre
- Éléments observables : Signaux disponibles
- Invariants : Invariants à respecter
- Scénarios : Scénarios de test
Le fichier d'exercice doit :
- Créer le graphe : Utiliser le graph_builder
- Créer l'agent : Utiliser l'agent spécialisé ou générique
- Tester les scénarios : Tester différents scénarios
- Exporter les résultats : Exporter pour visualisation
"""
EXERCICE XX — [Nom de l'exercice]
Contexte :
- [Description du contexte]
Question : [Question à résoudre]
Éléments observables :
- [Signal 1]
- [Signal 2]
- [Signal 3]
"""
from 01_core_engine.graph import Graph
from 01_core_engine.agent import AutonomousAgent
from 03_domains.devops.agents.xxx_agent import XXXAgent
from 01_core_engine.reasoning.export import export_to_json_file
def exercise_XX():
"""Exercice XX : [Description]"""
print("=" * 70)
print("EXERCICE XX — [NOM]")
print("=" * 70)
# Créer le graphe
graph = build_xxx_graph()
# Créer l'agent
agent = XXXAgent(graph)
# Scénario 1 : État initial
result1 = agent.decide_xxx()
# Scénario 2 : [Description]
# ...
# Exporter pour visualisation
export_data = export_xxx_decision(graph, result1)
export_to_json_file(export_data, "visualization/xxx_data.json")
print("\n[OK] Exercice terminé")
if __name__ == "__main__":
exercise_XX()- Structurer en graphe : Utiliser des nœuds et arêtes
- Laisser émerger : Laisser les décisions émerger de la convergence
- Justifier : Fournir des justifications structurelles
- Tester : Tester plusieurs scénarios
- Règles explicites : Ne pas coder de règles conditionnelles
- Logique métier : Ne pas coder la logique métier directement
- Magic numbers : Ne pas utiliser de nombres magiques sans justification
Voir 03_domains/devops/exercises/exercise_01_deployment/ pour un exemple complet.
- Créer le dossier de l'exercice
- Créer le README.md
- Créer le graph_builder.py
- Créer l'exercise.py
- Tester les scénarios
- Créer la visualisation (optionnel)