PD-EXP-01 — Prompt Pattern Experiment¶
Expérience de benchmarking des 4 ordres de prompt (CQ, QC, CQCQ, QCQ) sur les gates PMO.
Livrable principal : ../PD-EXP-01-prompt-patterns.md
Structure de l'archive¶
PD-EXP-01/
README.md ← ce fichier
scripts/ ← scripts Python et Shell pour re-exécution
run_experiment.py ← Phase 1 : appels Claude -p (120 calls)
run_experiment_llm.py ← Phase 1 variant (Ollama)
build_missing_cq_prompts.py ← construction des prompts CQ manquants
build_p2_verify_prompt.py ← Phase 2.5 : construction prompts FP pour GPT→Claude
rebuild_p2_verify_g3.py ← Phase 2.5 : fix extraction format GPT (utilisé en production)
analyze_fp_results.py ← analyse Phase 1.5 (Claude produit, GPT vérifie)
analyze_phase2.py ← analyse Phase 2 (GPT produit)
analyze_phase25_fixed.py ← analyse Phase 2.5 (GPT produit, Claude vérifie)
verify_fp_llama.py ← vérification FP via Ollama (prototype)
run_fp_verify_opencode.sh ← Phase 1.5 : boucle OpenCode FP verify
run_fp_verify_claude.sh ← Phase 2.5 : boucle Claude -p FP verify
run_phase2_opencode.sh ← Phase 2 : boucle OpenCode production
data/
phase1-claude-results.json ← résultats agrégés Phase 1 (Claude produit)
phase2-opencode-results.json ← résultats agrégés Phase 2 (GPT produit)
fp-verify-results.json ← résultats FP verify Phase 1.5
phase1.5-fp/ ← 18 résultats bruts Claude→GPT verify
phase2.5-fp/ ← 8 résultats bruts GPT→Claude verify (G3 uniquement)
logs/
experiment-claude.log ← log Phase 1 (Claude -p)
fp-verify-opencode.log ← log Phase 1.5 (OpenCode verify)
phase2-opencode.log ← log Phase 2 (OpenCode production)
phase2-fp-verify.log ← log Phase 2.5 (Claude verify)
Pour refaire les benchmarks¶
Prérequis¶
claudeCLI disponible dans$PATH(ou adapter le chemin dans les scripts)opencodedisponible (pour les appels GPT)- Stories sources accessibles dans les projets ProbatioVault (chemins dans
run_experiment.py)
Étape 1 — Préparer le répertoire de travail¶
mkdir -p /tmp/gate-exp/{prompts,results,results-opencode,results-claude,verify-prompts}
cd /tmp/gate-exp
# Copier les scripts depuis l'archive
cp /path/to/PD-EXP-01/scripts/*.py .
cp /path/to/PD-EXP-01/scripts/*.sh .
Étape 2 — Phase 1 (Claude -p, 120 calls)¶
python3 run_experiment.py
# Output → /tmp/gate-exp/results-claude/
# Durée estimée : ~30 min (120 appels × ~15s)
Étape 3 — Phase 1.5 (FP verification Claude→GPT)¶
Les prompts de vérification sont construits automatiquement par run_fp_verify_opencode.sh :
bash run_fp_verify_opencode.sh
# Output → /tmp/gate-exp/results-verify-opencode/
# Durée estimée : ~45 min (18 appels OpenCode)
Étape 4 — Phase 2 (GPT produit, 116 calls OpenCode)¶
bash run_phase2_opencode.sh
# Output → /tmp/gate-exp/results-opencode/
# Durée estimée : ~3-4h (116 appels OpenCode)
Étape 5 — Phase 2.5 (FP verification GPT→Claude, G3 seulement)¶
python3 rebuild_p2_verify_g3.py
# Output → /tmp/gate-exp/results-verify-claude-fixed/
# Durée estimée : ~10 min (8 appels Claude -p)
Étape 6 — Analyse des résultats¶
python3 analyze_fp_results.py # Phase 1.5
python3 analyze_phase2.py # Phase 2
python3 analyze_phase25_fixed.py # Phase 2.5
Résultats (2026-02-18)¶
| Phase | Modèle producteur | Vérificateur | Pattern gagnant | Score |
|---|---|---|---|---|
| 1.5 | Claude | GPT | CQCQ | 9.56 |
| 2.5 | GPT | Claude | QC | 9.19 |
Conclusion : le pattern gagnant dépend du modèle producteur. CQCQ est optimal pour Claude, QC pour GPT.
Voir le livrable complet : ../PD-EXP-01-prompt-patterns.md
Notes pour re-benchmarking¶
- Adapter les chemins absolus dans les scripts (ex:
CLAUDE_BIN,RESULTS_DIR) - Les stories sources peuvent avoir évolué → impacts possibles sur G3/G5/G8
- Ajouter de nouvelles stories au tableau pour augmenter la significativité statistique
- Envisager 3 runs/pattern pour contrôler la variance stochastique (température 0.1 mais non 0.0)
- Timestamp les résultats :
phase1-claude-results-YYYYMMDD.json