What is a Capability?
Reusable code patterns learned from execution
En bref
Imaginez que vous apprenez a cuisiner. La premiere fois que vous reussissez un plat, vous notez la recette dans un carnet. La prochaine fois que vous voulez le meme plat, vous consultez simplement votre carnet au lieu de recommencer de zero.
Une capability fonctionne exactement ainsi : c'est une "recette de code" que PML enregistre automatiquement chaque fois qu'une tache reussit. Quand vous demandez quelque chose de similaire plus tard, PML peut reutiliser cette recette au lieu de tout reconstruire.
Exemple concret : Vous demandez a PML de "lire un fichier JSON et en extraire le champ email". PML execute le code, ca fonctionne, et hop - cette solution est sauvegardee comme une capability. La semaine suivante, quand vous demandez "extraire le nom d'un fichier JSON", PML reconnait le pattern et propose d'adapter la recette existante.
Definition
A capability is a piece of code that PML has learned from successful execution. It represents a complete solution to a problem, ready to be reused.
| Property | Example |
|---|---|
| Intent | "Read JSON file and extract field" |
| Tools Used | [read_file, parse_json] |
| Code Pattern | Stored for reuse |
| Success Rate | 95% |
Think of capabilities as recipes - tried and tested solutions that worked before and will work again.
Capability vs Tool
Understanding the difference is key:
| Aspect | Tool | Capability |
|---|---|---|
| Source | MCP servers | Learned from execution |
| Scope | Single operation | Complete workflow |
| Parameters | Fixed schema | Inferred from usage |
| Complexity | Atomic | Composite |
Example
A capability orchestrates multiple tools to accomplish a goal.
Exemple de la vie quotidienne
Pensez a la difference entre :
- Un outil : Un marteau (fait une seule chose)
- Une capability : "Accrocher un tableau au mur" (prendre le marteau, trouver un clou, mesurer la hauteur, taper le clou, accrocher le tableau)
La capability encapsule toute la sequence d'actions, pas juste l'outil individuel.
Benefices pour vous
| Benefice | Ce que ca signifie |
|---|---|
| Gain de temps | Les taches repetitives deviennent instantanees |
| Amelioration continue | Plus vous utilisez PML, plus il devient intelligent |
| Zero configuration | Pas besoin de definir manuellement vos workflows |
| Contextuel | Les suggestions s'adaptent a votre facon de travailler |
Lifecycle
Capabilities go through distinct phases:
1. Capture
When code executes successfully, PML captures:
- The original intent (what the user wanted)
- The code that was executed
- The tools that were called
- The execution trace
2. Store
The captured pattern is stored in the database:
- Embeddings generated for semantic search
- Dependencies extracted for graph relationships
- Parameters inferred from the code
3. Mature
As the capability is reused:
- Success rate is tracked
- Confidence increases
- Related capabilities are linked
4. Reuse
Mature capabilities are suggested when:
- Intent matches semantically
- Context is similar
- Related tools are in use
Storage
Capabilities are stored in the workflow_pattern table:
| Field | Purpose |
|---|---|
intent |
What the capability accomplishes |
code |
The executable TypeScript/JavaScript |
tools_used |
Array of MCP tools called |
parameters |
Inferred parameters schema |
embedding |
Vector for semantic search |
success_count |
Times executed successfully |
last_used |
Recency for ranking |
Capability Relationships (Hyperedges)
Pourquoi "hyperedge" ?
Dans un graphe classique, une relation connecte 2 elements (A → B). Mais une capability connecte N outils simultanement. C'est ce qu'on appelle un hyperedge en theorie des graphes.
Outils partages entre capabilities
Un outil peut appartenir a plusieurs capabilities :
Cette structure permet de decouvrir des connexions inattendues entre capabilities qui partagent des outils communs.
Visualisation dans le dashboard
Le dashboard offre deux modes de visualisation :
| Mode | Affichage | Utilisation |
|---|---|---|
| Tools | Graphe classique des outils | Vue d'ensemble des connexions |
| SuperHyperGraph | Capabilities et meta-capabilities | Voir les patterns appris (structure récursive) |
En mode SuperHyperGraph, cliquer sur une capability affiche :
- Le code source reutilisable
- Les outils utilises
- Le taux de succes et l'historique d'usage
Capability Chains
Les capabilities peuvent s'enchainer pour former des workflows plus complexes :
Ces chaines emergent naturellement de l'usage. PML detecte quand une capability en appelle regulierement une autre et renforce cette connexion.
Next
- Eager Learning - How capabilities are captured
- Schema Inference - Automatic parameter detection