Pouvoir faire travailler Claude à la place d’OpenAI

Là où tu peux faire travailler Claude à la place d’OpenAI

Partout où j’évoquais “OpenAI” pour :

  • générer du code à partir de la spec,
  • lire le diff OpenAPI,
  • proposer des patchs,
  • aider à maintenir le contrat,

tu peux remplacer par Claude en gardant la même architecture conceptuelle :

a) Agent “Contract QA” basé sur Claude

Tu définis un agent Claude qui :

  1. Prend en entrée :
    • /docs/openapi.yaml
    • le code de routes (routes.ts, controllers/*.ts, etc.)
    • le résultat de openapi-diff (diff JSON ou texte)
  2. Produit en sortie :

    { "contract_issues": [ { "endpoint": "POST /reservations", "problem": "Le body attendu est ReservationCreate, le code retourne un champ 'uid' qui n'est pas dans la spec.", "severity": "high", "suggested_fix": "Ajouter 'uid' dans le schéma OpenAPI OU le retirer de la réponse HTTP." } ], "overall_status": "non_compliant" }

  3. Optionnel : génère directement un patch de code ou un patch de spec.

Ça peut être décrit comme une structured task Anthropic :

task_id: openapi_contract_review description: "Analyser la conformité du code à la spec OpenAPI" inputs: - name: openapi_spec type: string - name: routes_code type: string - name: diff_report type: string output: schema: type: object properties: contract_issues: type: array items: type: object properties: endpoint: { type: string } problem: { type: string } severity: { type: string } suggested_fix: { type: string } overall_status: { type: string } required: ["overall_status"]

Cet agent, tu le fais tourner avec Claude au lieu d’OpenAI, sans changer le reste du pipeline.

3. Architecture “agnostique LLM” (Claude ou OpenAI)

Si on schématise ton pipeline de dev :

[Spec-Kit] ↓ [OpenAPI spec /docs/openapi.yaml] ↓ [Code (humain + IA)] ↓ [CI contractuelle] - validation OpenAPI - openapi-diff - tests intégration ↓ [Agent LLM de QA / auto-fix] - peut être Claude - peut être OpenAI

Tu peux faire :

  • un “LLM client” unique dans ton code :
    • llmClient.generate(...)
    • et derrière tu routes soit vers Claude, soit vers OpenAI
    • en gardant le même format de task (JSON/YAML structuré).

Du coup :

  • l’architecture Spec-Kit + OpenAPI + CI ne change pas
  • seul le fournisseur LLM change derrière l’interface.

4. Recommandation pragmatique

Pour tout ce qui est contrat OpenAPI sérieux en prod :

  • 🔒 Vérité = outils déterministes (openapi-diff, validateurs, tests auto).
  • 🧠 Confort + vitesse = Claude (ou OpenAI) pour :
    • lire les rapports,
    • produire un résumé actionnable,
    • proposer des patchs (code + spec),
    • éventuellement ouvrir des PR automatiques.

En pratique, je ferais :

  1. CI “dur” (sans LLM) → binaire : contract_ok = true/false
  2. Si false :
    • appel à Claude avec :
      • la spec
      • le diff
      • un extrait du code
    • pour produire soit :
      • un rapport lisible par humain
      • soit un patch de code / spec.

5. Donc, réponse à ta phrase

“On peut aussi faire travailler Claude sur la même architecture en lieu et place d'OpenAI ou OpenAI recommandée ?”

✅ Oui, complètement.

Deux points importants :

  1. Le cœur “contrat OpenAPI” doit rester LLM-agnostique et déterministe (outils de validation, diff, tests).
  2. Claude s’intègre parfaitement comme agent “raisonneur / auto-fix” au-dessus de la même CI, exactement comme OpenAI.

un exemple de workflow GitHub Actions :

un exemple de workflow GitHub Actions :

  • un exemple de workflow GitHub Actions :
    • step 1 : openapi-validate
    • step 2 : openapi-diff
    • step 3 : si KO → appel d’un Claude Task openapi_contract_review
      qui génère un contract-report.md déposé dans les artefacts ou en commentaire de PR.


Découvrir plus