Feedback Loop
How PML learns from every execution
En bref
La boucle de feedback de PML, c'est comme un musicien qui s'améliore à chaque répétition. Chaque fois que vous utilisez PML, il observe ce que vous faites, note ce qui marche, et devient meilleur pour anticiper vos besoins la prochaine fois.
Le cycle vertueux :
┌─────────────────────────────────────────────────────────────┐
│ │
│ SUGGÉRER ──→ EXÉCUTER ──→ TRACER ──→ APPRENDRE │
│ ▲ │ │
│ │ │ │
│ └──── Meilleures suggestions ◀─────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘Plus vous utilisez PML, plus il devient intelligent.
Trois sources d'apprentissage :
| Source | Ce qui est appris | Exemple |
|---|---|---|
| Exécutions DAG | Séquences d'outils réussies | read → parse → write devient un pattern |
| Traces de code | Relations parent-enfant | Capability X utilise les outils A, B, C |
| Templates utilisateur | Workflows prédéfinis | Votre workflow personnalisé (confiance 50% au départ) |
Évolution temporelle :
| Période | Ce qui se passe | Exemple |
|---|---|---|
| Court terme (session) | Patterns récents renforcés | Confiance 0.5 → 0.85 après 3 usages |
| Moyen terme (semaines) | Patterns stabilisés, variations découvertes | Nouveau pattern: read → validate → parse |
| Long terme (mois) | Patterns populaires deviennent core knowledge, inutilisés déclinent | Graph reflète l'usage réel |
Analogie du musicien :
Semaine 1: Apprend une nouvelle chanson (template)
→ Fait des erreurs, hésite sur les enchainements
Semaine 2: Joue 10 fois (inferred → observed)
→ Les doigts savent où aller automatiquement
Mois 3: Découvre des variations, improvise (nouvelles capabilities)
→ Adapte le style selon le contexte
Après 1 an: Les morceaux non joués s'oublient (decay)
→ Les favoris sont maîtrisés parfaitementPourquoi c'est puissant ?
- Zéro configuration : PML apprend de vos usages, pas de fichiers à écrire
- Personnalisé : Vos patterns, pas ceux des autres
- Évolutif : S'adapte quand vos pratiques changent
- Observable : Dashboard montre la croissance du graphe en temps réel
The Learning Cycle
PML continuously improves through a feedback loop:
The more you use PML, the smarter it becomes.
Learning Sources
PML learns from three sources:
1. DAG Execution
When a DAG workflow runs successfully:
DAG Executed:
Task A (read_file) → Task B (parse) → Task C (write_file)
PML Learns:
• read_file → parse (strengthen edge)
• parse → write_file (strengthen edge)
• Workflow pattern stored as capabilityEach execution:
- Increases
observed_counton edges - May promote edges from
inferred→observed - Records execution time for analytics
2. Code Execution Traces
When code runs in the sandbox, every tool call is traced:
Code Execution:
capability:process_data
├── tool:read_file (t=0ms)
├── tool:parse_json (t=50ms)
└── tool:write_file (t=120ms)
PML Learns:
• process_data contains read_file (contains edge)
• process_data contains parse_json (contains edge)
• process_data contains write_file (contains edge)
• read_file → parse_json → write_file (sequence edges)Traces capture:
- Parent-child relationships (capability → tools)
- Temporal sequences (tool A before tool B)
- Nested patterns (capability within capability)
3. User Templates
Users can define known workflows:
# workflow-templates.yaml
workflows:
- name: file-processing
steps:
- filesystem:read_file
- json:parse
- filesystem:write_fileTemplates:
- Bootstrap the graph with known patterns
- Start at 50% confidence (template source)
- Get validated through actual usage
How Knowledge Improves
Short Term (per session)
Session Start:
read → write: confidence 0.5
After 3 executions:
read → write: confidence 0.85, count=3Immediate feedback strengthens recent patterns.
Medium Term (days/weeks)
Week 1: Discover read → parse → write pattern
Week 2: Pattern used 20 times, becomes high-confidence
Week 3: New variation: read → validate → parse → writePatterns stabilize and new variations are discovered.
Long Term (months)
Unused patterns: Confidence decays
Popular patterns: Become core knowledge
New tools: Integrated into existing patternsThe graph evolves to reflect actual usage.
What Gets Stored
After each execution:
| Data | Storage | Purpose |
|---|---|---|
| Tool sequences | tool_dependency |
Graph edges |
| Capability patterns | workflow_pattern |
Reusable code |
| Capability relations | capability_dependency |
High-level patterns |
| Execution results | workflow_execution |
Analytics, debugging |
| Metrics | metrics |
Performance tracking |
The Virtuous Cycle
Better suggestions ───▶ More usage ───▶ More data ───▶ Better learning
▲ │
└──────────────────────────────────────────────────────┘This creates a virtuous cycle:
- Good suggestions → Users trust PML more
- More usage → More execution data
- More data → Better pattern recognition
- Better patterns → Even better suggestions
Adaptive Thresholds - L'auto-calibration
PML ne se contente pas d'apprendre les patterns, il ajuste aussi ses seuils de confiance automatiquement pour optimiser le ratio risque/bénéfice.
Le problème des seuils fixes
Avec un seuil fixe de 0.7 pour les exécutions spéculatives :
- Trop conservateur ? Si 95% des spéculations réussissent → On rate des opportunités
- Trop agressif ? Si seulement 60% réussissent → On gaspille des ressources
L'algorithme EMA (Exponential Moving Average)
PML utilise un algorithme d'apprentissage qui ajuste les seuils selon le taux de succès observé :
Si succès > 90%:
→ Baisser le seuil (être plus audacieux)
Si succès < 80%:
→ Augmenter le seuil (être plus prudent)
Sinon (80-90%):
→ Zone optimale, ne rien changerFormule EMA :
nouveau_seuil = ancien_seuil × 0.95 + optimal × 0.05
Où optimal est calculé selon l'écart au taux de succès cible (85%)Seuils par contexte
Les seuils s'adaptent par type de workflow, pas globalement :
| Contexte | Seuil initial | Après apprentissage | Pourquoi |
|---|---|---|---|
data_analysis |
0.70 | ~0.55 | Workflows simples, faible risque |
production_deploy |
0.70 | ~0.85 | Risque élevé, rester prudent |
file_operations |
0.70 | ~0.50 | Très prévisible, être audacieux |
Bornes de sécurité
Le seuil ne sort jamais de l'intervalle [0.40, 0.90] :
- Minimum 0.40 : Permet des spéculations audacieuses pour workflows éprouvés
- Maximum 0.90 : Reste prudent même avec beaucoup d'échecs
- Départ à 0.70 : Équilibré, ni trop conservateur ni trop risqué
Configuration: Voir config/speculation_config.yaml
(Configuration Reference)
Convergence
Après environ 50-100 exécutions par type de workflow, les seuils convergent vers leur valeur optimale. C'est le système qui apprend ce qui fonctionne dans votre contexte spécifique.
Observing Learning
You can see PML's learning in action:
- Dashboard shows graph growth
- Metrics track pattern discovery
- Confidence scores increase over time
- Suggestion quality improves
- Adaptive thresholds visible dans les métriques (seuil actuel par workflow)
Next
- What is a Capability - Learned patterns
- DAG Structure - Workflow execution