Aller au contenu

PD-244 — Plan d'implémentation v3 (audit documentaire multi-agents)

Changelog

Version Modification
v1 → v2 Correction 7 écarts Gate 5 (validation schéma, unicité, etc.)
v2 → v3 Architecture multi-agents (Claude + ChatGPT + Gemini)

1. Architecture multi-agents

Principe

L'audit de conformité ISO 14641 / NF Z42-013 est exécuté par 3 agents indépendants :

  • Claude (Anthropic)
  • ChatGPT (OpenAI via OpenCode)
  • Gemini (Google via OpenCode)

Chaque agent produit sa propre matrice de conformité. Les divergences révèlent les zones d'ambiguïté interprétative.

Bénéfices

  1. Diversité cognitive : 3 LLMs avec biais différents
  2. Validation croisée renforcée : Conforme Article II
  3. Détection d'écarts : Zones d'interprétation ambiguë identifiées
  4. Crédibilité audit : Convergence 3/3 = signal fort

Artefacts par agent

Agent ISO 14641 NF Z42-013 Gaps
Claude *-claude.yaml *-claude.yaml *-claude.yaml
ChatGPT *-chatgpt.yaml *-chatgpt.yaml *-chatgpt.yaml
Gemini *-gemini.yaml *-gemini.yaml *-gemini.yaml

2. Sources normatives

Norme Version Fichier source
ISO 14641 2018 docs/normes/ISO-14641-2018.txt
NF Z42-013 2020 docs/normes/Z42-013.pdf

3. Phase 6a — Production parallèle (3 agents)

Prompt commun injecté à chaque agent

Chaque agent reçoit le même prompt contenant :

  • Spécification v2 complète (inline)
  • Schéma canonique YAML (section 4.2)
  • Règles de statut (section 5)
  • Table de sévérité (section 4.5)
  • Liste des stories à analyser
  • Contrôles anti-citation

TASK-½/3 : Inventaire + Applicabilité (par agent)

Exécution : Parallèle (3 agents simultanés)

Agent Commande
Claude Exécution directe
ChatGPT /opencode -a factual -f /tmp/PD-244-task-1-3.md
Gemini /opencode -m google/gemini-2.0-flash -a factual -f /tmp/PD-244-task-1-3.md

Output par agent :

  • PD-244-inventaire-{agent}.yaml

TASK-⅘/6 : Mapping + Preuves + Gaps (par agent)

Exécution : Séquentielle après TASK-½/3

Input : Inventaire de l'agent + specs stories ProbatioVault

Output par agent :

  • PD-244-iso-14641-matrix-{agent}.yaml
  • PD-244-nf-z42-013-matrix-{agent}.yaml
  • PD-244-gaps-{agent}.yaml

Contrôles appliqués par chaque agent

  1. Anti-citation : Reformulation obligatoire, aucune phrase > 10 mots identiques au PDF
  2. Unicité : Format ID {NORM}-{section} avec dédoublonnage
  3. Statuts : Valeurs ∈ {CONFORME, PARTIEL, NON_IMPLEMENTE, HORS_PERIMETRE}
  4. Preuves : 7 attributs obligatoires pour chaque evidence
  5. Gaps : Schéma complet avec rattachement PD-217

4. Phase 6b — Réconciliation

TASK-R1 : Diff automatique des matrices

Agent : Claude (orchestrateur)

Méthode :

  1. Parser les 3 matrices YAML par norme
  2. Comparer exigence par exigence :
  3. requirement_id
  4. status
  5. stories[]
  6. evidence[] (présence/absence)
  7. gaps[] (si applicable)

Output : PD-244-diff-report.yaml

norm: "ISO-14641"
total_requirements: 85
consensus_3_3: 72        # 3 agents d'accord
majority_2_3: 10         # 2 agents d'accord
divergence_1_1_1: 3      # 3 avis différents
divergences:
  - requirement_id: "ISO-14641-5.5.1"
    claude: "CONFORME"
    chatgpt: "PARTIEL"
    gemini: "CONFORME"
    resolution: "MAJORITY"  # 2/3 → CONFORME
  - requirement_id: "ISO-14641-10.2.3"
    claude: "PARTIEL"
    chatgpt: "NON_IMPLEMENTE"
    gemini: "CONFORME"
    resolution: "ESCALADE"  # 1/1/1 → humain

TASK-R2 : Résolution des divergences

Règles de résolution :

Situation Résolution Action
Consensus (3/3) Automatique Valeur unanime adoptée
Majorité (⅔) Automatique Valeur majoritaire adoptée, note ajoutée
Divergence (1/1/1) Escalade Décision humaine requise

Output : PD-244-reconciliation.yaml

TASK-R3 : Génération matrice finale

Agent : Claude (orchestrateur)

Input : Réconciliation + décisions humaines (si escalade)

Output :

  • PD-244-iso-14641-matrix.yaml (finale)
  • PD-244-nf-z42-013-matrix.yaml (finale)
  • PD-244-gaps.yaml (finale)

Chaque exigence porte une annotation de provenance :

requirements:
  - id: "ISO-14641-5.5.1"
    status: "CONFORME"
    consensus: "3/3"  # ou "2/3 (ChatGPT: PARTIEL)" ou "ESCALADE"

5. Phase 6c — Génération des livrables

TASK-⅞/9 : Génération Markdown

Agent : Claude (orchestrateur)

Input : Matrices finales (YAML)

Output :

  • PD-244-iso-14641-matrix.md
  • PD-244-nf-z42-013-matrix.md
  • PD-244-gaps.md

Vérification fidélité : Compteurs + hash IDs

TASK-10 : Dashboard de conformité

Agent : Claude (orchestrateur)

Output : PD-244-compliance-dashboard.md

Inclut :

  • Scores par norme
  • Taux de consensus (3/3, ⅔, escalade)
  • Statistiques multi-agents

TASK-11 : Traçabilité claims

Agent : Claude (orchestrateur)

Output : PD-244-claims-traceability.yaml

TASK-12 : Validation schéma

Agent : Claude (orchestrateur)

Validation des matrices finales uniquement.


6. Phase 7 — Acceptabilité croisée

Principe

Chaque matrice d'agent est évaluée par les deux autres agents.

Matrice Évaluateur 1 Évaluateur 2
Claude ChatGPT Gemini
ChatGPT Claude Gemini
Gemini Claude ChatGPT

Critères d'évaluation (par matrice)

Critère Description Score 1-10
Complétude Toutes les exigences normatives couvertes
Exactitude Statuts correctement attribués
Preuves Preuves vérifiables et pertinentes
Cohérence Alignement avec la spécification

Grille de scoring acceptabilité

Pour chaque couple (matrice, évaluateur) :

evaluation:
  matrix_author: "claude"
  evaluator: "chatgpt"
  norm: "ISO-14641"
  scores:
    completeness: 9.0
    accuracy: 8.5
    evidence_quality: 8.0
    coherence: 9.0
  mean: 8.625
  issues_found:
    - "ISO-14641-7.3.2: preuve manquante"
    - "ISO-14641-10.1.1: statut CONFORME contesté (devrait être PARTIEL)"

Consolidation

Matrice finale validée si :

  • Score moyen >= 8 pour chaque évaluateur
  • Aucun écart bloquant identifié

Si divergence évaluateurs :

  • Arbitrage par l'orchestrateur (Claude)
  • Escalade humaine si nécessaire

7. Diagramme de workflow

┌─────────────────────────────────────────────────────────────────────────────┐
│                        PHASE 6a — PRODUCTION PARALLÈLE                      │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   Claude ──────┐                                                            │
│                ├──→ TASK-1/2/3 (Inventaire) ──→ TASK-4/5/6 (Matrices)      │
│   ChatGPT ─────┤                                                            │
│                │                                                            │
│   Gemini ──────┘                                                            │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│                        PHASE 6b — RÉCONCILIATION                            │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   TASK-R1: Diff ──→ TASK-R2: Résolution ──→ TASK-R3: Matrice finale        │
│                           │                                                 │
│                           ▼                                                 │
│                    [ESCALADE si 1/1/1]                                     │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│                        PHASE 6c — LIVRABLES                                 │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   TASK-7/8/9: MD ──→ TASK-10: Dashboard ──→ TASK-11: Claims ──→ TASK-12   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│                        PHASE 7 — ACCEPTABILITÉ CROISÉE                      │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   Claude ←── évalue ──→ ChatGPT, Gemini                                    │
│   ChatGPT ←── évalue ──→ Claude, Gemini                                    │
│   Gemini ←── évalue ──→ Claude, ChatGPT                                    │
│                                                                             │
│                           │                                                 │
│                           ▼                                                 │
│                    Consolidation finale                                     │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

8. Estimation révisée

Phase Tâches Temps estimé
6a - Production (×3 agents) TASK-1 à TASK-6 3 × 8h = 24h (parallélisable → 8h réel)
6b - Réconciliation TASK-R1 à TASK-R3 2h
6c - Livrables TASK-7 à TASK-12 4h
7 - Acceptabilité croisée 6 évaluations 3h
Total ~17h

9. Livrables finaux

Matrices par agent (intermédiaires)

  • PD-244-iso-14641-matrix-claude.yaml
  • PD-244-iso-14641-matrix-chatgpt.yaml
  • PD-244-iso-14641-matrix-gemini.yaml
  • PD-244-nf-z42-013-matrix-claude.yaml
  • PD-244-nf-z42-013-matrix-chatgpt.yaml
  • PD-244-nf-z42-013-matrix-gemini.yaml

Réconciliation

  • PD-244-diff-report.yaml
  • PD-244-reconciliation.yaml

Matrices finales

  • PD-244-iso-14641-matrix.yaml + .md
  • PD-244-nf-z42-013-matrix.yaml + .md
  • PD-244-gaps.yaml + .md
  • PD-244-compliance-dashboard.md
  • PD-244-claims-traceability.yaml

Acceptabilité

  • PD-244-acceptability-claude.yaml
  • PD-244-acceptability-chatgpt.yaml
  • PD-244-acceptability-gemini.yaml
  • PD-244-acceptability-consolidated.md

Plan v3 produit par Claude (orchestrateur) — 2026-02-20 Architecture multi-agents validée par l'utilisateur