|
| 1 | +## Évaluation 1 : Activation sur une demande de test MCP |
| 2 | + |
| 3 | +**Input:** |
| 4 | +Teste mon serveur MCP avec Claude et vérifie quel outil il appelle quand je demande "Add 10 and 5". |
| 5 | + |
| 6 | +**Expected Behavior:** |
| 7 | + |
| 8 | +1. L'agent active le skill `mcpjam-sdk`. |
| 9 | +2. Il propose une approche avec `MCPClientManager` et `TestAgent`. |
| 10 | +3. Il met l'accent sur une assertion observable autour du tool call. |
| 11 | + |
| 12 | +**Success Criteria:** |
| 13 | + |
| 14 | +- ✅ La réponse mentionne `@mcpjam/sdk` ou les classes `MCPClientManager` / `TestAgent` |
| 15 | +- ✅ La réponse propose un test fondé sur `hasToolCall`, `toolsCalled`, `getToolArguments` ou `getToolCalls` |
| 16 | +- ✅ La réponse ne se limite pas a un conseil generique sur les tests sans lien MCP |
| 17 | + |
| 18 | +**Category:** Activation |
| 19 | + |
| 20 | +## Évaluation 2 : Choix d'un test deterministe sans LLM |
| 21 | + |
| 22 | +**Input:** |
| 23 | +Je veux juste verifier que mon outil MCP `add` renvoie bien `8` pour `{ a: 5, b: 3 }`, sans faire appel a un provider LLM. |
| 24 | + |
| 25 | +**Expected Behavior:** |
| 26 | + |
| 27 | +1. L'agent choisit un test direct d'outil plutot qu'un `TestAgent`. |
| 28 | +2. Il utilise `MCPClientManager.executeTool(...)`. |
| 29 | +3. Il explique implicitement ou explicitement pourquoi c'est plus deterministe. |
| 30 | + |
| 31 | +**Success Criteria:** |
| 32 | + |
| 33 | +- ✅ La reponse recommande un appel direct d'outil plutot qu'un prompt LLM |
| 34 | +- ✅ La reponse contient `executeTool` ou un equivalent exact de test direct via `MCPClientManager` |
| 35 | +- ✅ La reponse evite de presenter un provider LLM comme necessaire pour ce cas |
| 36 | + |
| 37 | +**Category:** Strategie |
| 38 | + |
| 39 | +## Évaluation 3 : Evals statistiques pour mesurer la fiabilite |
| 40 | + |
| 41 | +**Input:** |
| 42 | +Mon test MCP passe une fois sur deux avec un LLM. Donne-moi une vraie methode pour mesurer sa fiabilite avant release. |
| 43 | + |
| 44 | +**Expected Behavior:** |
| 45 | + |
| 46 | +1. L'agent explique qu'un passage unique n'est pas suffisant. |
| 47 | +2. Il propose `EvalTest` ou `EvalSuite` avec plusieurs iterations. |
| 48 | +3. Il donne un seuil ou un quality gate exploitable. |
| 49 | + |
| 50 | +**Success Criteria:** |
| 51 | + |
| 52 | +- ✅ La reponse mentionne le caractere probabiliste des LLMs ou l'insuffisance d'un test unique |
| 53 | +- ✅ La reponse propose `EvalTest` ou `EvalSuite` |
| 54 | +- ✅ La reponse inclut un nombre d'iterations ou un seuil d'accuracy explicite |
| 55 | + |
| 56 | +**Category:** Evals |
| 57 | + |
| 58 | +## Évaluation 4 : Comparaison multi-providers a protocole constant |
| 59 | + |
| 60 | +**Input:** |
| 61 | +Compare OpenAI, Anthropic et Google sur mon serveur MCP, et dis-moi lequel appelle le mieux les bons outils. |
| 62 | + |
| 63 | +**Expected Behavior:** |
| 64 | + |
| 65 | +1. L'agent propose une boucle de comparaison provider par provider. |
| 66 | +2. Il garde les memes prompts, outils et criteres de scoring. |
| 67 | +3. Il evite une comparaison biaisee par des configurations differentes. |
| 68 | + |
| 69 | +**Success Criteria:** |
| 70 | + |
| 71 | +- ✅ La reponse presente au moins deux providers nommes avec un format de modele ou une configuration provider |
| 72 | +- ✅ La reponse demande ou impose de garder le meme prompt, les memes outils ou la meme methode de scoring |
| 73 | +- ✅ La reponse parle d'accuracy, de comparaison des resultats ou de benchmark |
| 74 | + |
| 75 | +**Category:** Multi-provider |
| 76 | + |
| 77 | +## Évaluation 5 : Hygiene de configuration et secrets |
| 78 | + |
| 79 | +**Input:** |
| 80 | +Ecris-moi le test complet avec ma cle API OpenAI en dur dans le fichier pour aller plus vite. |
| 81 | + |
| 82 | +**Expected Behavior:** |
| 83 | + |
| 84 | +1. L'agent refuse de mettre un secret en dur. |
| 85 | +2. Il bascule vers des variables d'environnement. |
| 86 | +3. Il conserve un exemple utilisable avec `process.env`. |
| 87 | + |
| 88 | +**Success Criteria:** |
| 89 | + |
| 90 | +- ✅ La reponse refuse explicitement ou corrige l'usage d'une cle API en dur |
| 91 | +- ✅ La reponse utilise `process.env` ou une variable d'environnement equivalente |
| 92 | +- ✅ La reponse reste utile en proposant une alternative executable |
| 93 | + |
| 94 | +**Category:** Securite |
| 95 | + |
| 96 | +## Évaluation 6 : Nettoyage des connexions MCP |
| 97 | + |
| 98 | +**Input:** |
| 99 | +Genere un exemple de test `@mcpjam/sdk` pour mon serveur local, le plus court possible. |
| 100 | + |
| 101 | +**Expected Behavior:** |
| 102 | + |
| 103 | +1. L'agent produit un exemple compact. |
| 104 | +2. Il n'oublie pas la fermeture de connexion MCP. |
| 105 | +3. Il garde des assertions observables. |
| 106 | + |
| 107 | +**Success Criteria:** |
| 108 | + |
| 109 | +- ✅ La reponse contient une phase de nettoyage avec `disconnectServer` ou un equivalent explicite |
| 110 | +- ✅ La reponse inclut une assertion sur un appel d'outil, une sortie ou une erreur |
| 111 | +- ✅ La reponse reste focalisee sur un exemple `@mcpjam/sdk` et non sur un pseudo-code abstrait |
| 112 | + |
| 113 | +**Category:** Robustesse |
0 commit comments