Skip to content

Conversation

mfo
Copy link
Contributor

@mfo mfo commented Sep 5, 2025

https://pad.numerique.gouv.fr/jX1xFwkfSp-r7mDaYla8mw#

Feuille de route POC Simplify

Objectif : valider un pipeline LLM fiable pour la règle Improve Label, puis ouvrir la voie aux règles suivantes.

Réalisé

  • Passage du parsing JSON libre (RevisionImproverService) au tool calling (LabelImprover).
    • Pourquoi : sortie typée, schema-driven, plus simple à maintenir.
  • Stockage des suggestions dans LLMRuleSuggestion + LLMRuleSuggestionItem.
    • Pourquoi : tracer la version du schéma et les opérations unitaires.
  • Activation via Flipper de la règle Improve Label.
    • Pourquoi : montée en charge contrôlée.
  • Cron nightly + job async pour générer les suggestions.
    • Pourquoi : maîtriser le coût LLM et rester aligné sur la dernière révision publiée.
  • Écran admin Simplify + carte QualiScore basées sur le linter actuel.
    • Pourquoi : exposition des suggestions et point d’entrée utilisateur.
  • Checklist héritée à migrer (uppercase, longueur, structure, etc.).

V0 — Pipeline robuste (règle unique Improve Label)

  • Isoler la règle dans un ViewComponent + contrôleur routé proprement.
    • Pourquoi : base claire pour les prochaines règles.
  • KPI de base.
    • Choisir 1-2 métriques (acceptation, temps traitement).
    • Collecte via requêtes console prod.
  • Observabilité pipeline LLM (Langfuse si dispo, sinon logs + alerte).
    • Pourquoi : visibilité immédiate en cas de dérive.
  • Bouton admin de relance manuelle.
    • Pourquoi : rerun immédiat sans attendre la nuit.
  • Revalidation LLM (remplacer le scoring Ruby).
    • Appeler le tool sur une copie enrichie du brouillon (pas d’écriture DB).

V1 — Extension multi-règles

  • Définir les schémas de tool calling pour les autres règles (structure, conditions, etc.).
  • Factoriser la vue en ViewComponents par règle.
    • Extraire une base réutilisable.
    • Définir le contrat vue/règle.
  • Gérer add/destroy dans le pipeline.
    • Générer les items complets (add/destroy/update).
    • Brancher les nouvelles règles sur le cron + UI.
  • Sécuriser ProcedureRevision#apply_changes pour add/destroy.
    • Insertion/suppression sécurisée côté modèle.
  • Validation LLM multi-règles post-application.
    • Prompts/outillage de revalidation.
    • Intégration UI + automatisation.
    • Suppression définitive du linter legacy.
  • Améliorations UX (résumés, accordéons, badges confiance, gestion suggestions périmées).

@mfo mfo changed the title simpliscore : poc/cadrage/archi WIP – simpliscore : poc/cadrage/archi Sep 5, 2025
@mfo mfo force-pushed the albert-improve-procedures branch 3 times, most recently from f59243d to 1299497 Compare September 10, 2025 17:15
mfo added 29 commits September 30, 2025 16:37
… two model, llm_rule_suggestion which is a batch of improvement per revision_id, llm_rule_suggestion_item which will contains all improvements
… do not want to recall LLM 25 times due to auto retry
…LabelJob so it takes suggestion and run the proper llm service
…o we can run one job on demand per procedure
@mfo mfo force-pushed the albert-improve-procedures branch from 1299497 to dbdf692 Compare October 2, 2025 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants