ADR-012 — N approches d'estimation en parallèle (PriceHubble comme approche sœur de estimate_value)¶
| Statut | Proposed |
| Date | 12/05/2026 (S20) |
| Décideurs | Nicolas Léonard, Romain BAZIL |
| Origine | Brainstorm Nicolas × Claude Code 12/05/2026, déclenché par l'investigation Notion sur 6 projets en KO estimate_value |
Contexte¶
L'estimation de la valeur vénale d'un projet repose aujourd'hui sur un unique agent estimate_value (LLM-based, framework RICS) qui mobilise en interne 3 méthodes (Comparables, Revenu, Coût). PriceHubble — un AVM ML packagée externe — est consommé par cet agent comme une source Cat B parmi d'autres (DVF, MeilleursAgents, SeLoger, LBC, Observatoire des loyers), au sein de la méthode Comparables.
Conséquences observées :
- L'analyste ne dispose jamais d'une seconde opinion indépendante en face de l'estimation RICS. Le LLM pondère PH au milieu des autres sources, dans une boîte qu'on ne peut pas challenger.
- Quand
estimate_valuecourt-circuite (sortiedata_insufficient=trueparce que les minimaaddress,property_type, surface ne sont pas tous remplis), toute la valeur vénale tombe — y compris pour des dossiers où PH aurait pu produire un signal exploitable de manière autonome. - L'investigation du 12/05/2026 (6 projets en KO) montre que
estimate_valueest aujourd'hui plus souvent skippé qu'avant, sans visibilité côté analyste. La frustration produit est réelle.
Le pari fiabilité bricks-OS (ADR-001) postule pourtant N approches indépendantes en parallèle → convergence auto → LLM-as-a-judge → HITL ciblé. Imbriquer PH dans estimate_value casse cette indépendance dès le premier étage : on n'a pas de "N approches", on a une approche unique qui ingère plusieurs signaux.
Décision¶
Toute approche d'estimation packagée — PriceHubble en V1, AVM concurrents ou estimations agentiques alternatives demain — est une approche sœur de estimate_value, exécutée en parallèle au niveau de l'orchestrator project-analysis.
Chaque approche sœur dispose de :
- Ses propres préconditions, évaluées indépendamment de celles des autres approches
- Sa propre sortie structurée (valeur centrale, plage min/max, confidence, métadonnées de traçabilité)
- Son propre rendu UI, côte à côte avec les autres approches dans la section "Estimation valeur vénale"
L'analyste arbitre entre les approches. L'orchestrator ne pondère pas — il rend transparent. La synthèse automatique (LLM-as-a-judge de réconciliation) n'est introduite que si le besoin est confirmé sur la durée, conformément à la cascade ADR-001.
Rationale¶
- Cohérence avec le pari fiabilité (ADR-001). Imbriquer PH dans
estimate_valuecasse l'indépendance des signaux dès le premier étage. Mettre PH en parallèle restaure la triangulation que la doctrine appelle de ses vœux. - Capacité de challenge pour l'analyste. Avec deux approches indépendantes, l'analyste peut lire "RICS dit X, PH dit Y, écart 8 %" et décider. Aujourd'hui il ne lit qu'un nombre opaque issu d'une pondération LLM non auditable.
- Robustesse au skip d'estimate_value. Si RICS court-circuite parce que la fiche consolidée manque de surface ou de type, PH peut quand même tourner (pour les dossiers résidentiels ≤ 1000 m²) et fournir un point de référence — au lieu d'un écran vide.
- Anti-pattern LIDAR évité. Le mémo Parallèle LIDAR identifie le "consensus corrélé" comme anti-pattern : N LLMs sur la même pipeline ≠ triangulation. PH consommé par le LLM d'estimate_value coche exactement cette case (deux signaux corrélés via le LLM). En parallèle, on retrouve une vraie triangulation.
- Extensibilité. Ajouter un AVM concurrent ou une approche statistique demain = ajouter une approche sœur, sans toucher au code d'
estimate_value. Le contrat top-level "N approches" est stable, les approches sont pluggable.
Conséquences¶
Ce qui change¶
- PriceHubble sort du pré-fetch d'
estimate_value— les 8 sources actuellement pré-fetchées (cf.prompts_v4.py:142-150) passent à 7 : DVF, MeilleursAgents, SeLoger, LeBonCoin, Observatoire des loyers,estimate_land_value,estimate_construction_cost. - Nouveau module
pricehubble_estimationinvoqué par l'orchestratorproject-analysis(côtéIA-analyse-APIou côtéproject-analysis, à arbitrer en Phase 2). - La sortie de la section "Estimation valeur vénale" devient une structure top-level à N approches (au lieu de la sortie unique actuelle de
EstimateValueOutputV4). - L'UI rend les approches côte à côte dans la section "Estimation valeur vénale" de l'App TS.
- Le prompt v4 d'
estimate_valueest ajusté pour clarifier que PH n'est plus une source de la méthode Comparables et n'apparaît plus dansmethods[].
Ce qu'il faut faire¶
- Phase 1 (spec en cours) — préparer le schéma enveloppe à N approches, ajuster le prompt v4 pour figer le mental model côté LLM (PH n'est plus une méthode). Pas encore de refacto code de pré-fetch.
- Phase 2 (ticket Linear à créer après merge Phase 1) — refacto orchestrator + suppression PH du pré-fetch
estimate_value+ modulepricehubble_estimation+ UI multi-cartes. - Documenter le lien doctrine ↔ ADR dans
wiki/doctrine/pari-fiabilite.md(renvoi explicite vers cet ADR en exemple d'application).
Ce qu'il faut éviter¶
- Pondérer les approches au niveau orchestrator. Recréer une logique de pondération automatique au-dessus des approches casse l'indépendance qu'on vient d'établir — c'est ré-imbriquer le problème sous un autre nom. La pondération éventuelle reste celle de l'analyste tant qu'un LLM-as-a-judge n'est pas validé sur métriques (cascade ADR-001).
- Cascader RICS → PH (ex. n'appeler PH que si RICS échoue). Casse le parallélisme et la capacité de challenge à dossier réussi.
- Mélanger les seuils de confidence entre approches. Chaque approche conserve son propre référentiel (
high/medium/lown'a pas la même définition dans RICS et dans PH).
Alternatives écartées¶
- PH élevé au rang de 4ᵉ méthode interne à
estimate_value(statu quo amélioré). Garde le couplage : le LLM continue à pondérer PH au milieu des autres méthodes, dans la même boîte noire. Aucune seconde opinion indépendante. Reproduit le défaut actuel sous un nouveau nom — cosmétique. - PH reste source Cat B de la méthode Comparables (statu quo). Le rapport entre RICS et PH n'est pas explicitable à l'analyste, qui ne peut pas le challenger. Ne traite pas le besoin de triangulation, et n'aide pas dans les cas où RICS court-circuite alors que PH aurait pu tourner.
- Synthèse automatique RICS × PH par un agent de réconciliation dès la V1. Recrée un LLM-as-a-judge avant d'avoir validé qu'il en faut un. La cascade ADR-001 impose convergence → judge → HITL dans cet ordre, pas judge en premier. Risque d'enchaîner deux LLMs corrélés sans vraie réconciliation indépendante.
Verbatims¶
« Concernant PriceHubble : dans la doctrine (philosophie produit de ce que nous construisions) on a le principe de "N approches en parallèle", ce qui me fait penser que pour estimation valeur vénale → PriceHubble doit être considéré comme une approche (estimation ML packagée) et pas comme un tool de l'agent estimate_value. » — Nicolas, brainstorm 12/05/2026
« On est passé d'une situation où on avait un agent estimate_value qui tournait la majorité du temps sur les projets et qui, parfois, certes, générait des valeurs incohérentes. La situation actuelle, c'est […] de nouveaux mécanismes pour éviter de faire tourner cet agent quand il manque des data points obligatoires en entrée. La conséquence, c'est que l'agent semble être skippé. » — Nicolas, ouverture du brainstorm 12/05/2026
« Il n'y a rien qui est publié dans la section "Estimation de Valeur Vénale" sur l'app TS. […] Ça me semble important d'afficher dans cette section un message qui explique les raisons pour lesquelles l'agent a volontairement décidé de ne pas travailler. » — Nicolas, 12/05/2026 (motivation produit de la Phase 1)
Voir aussi¶
- ADR-001 — Cascade fiabilité (convergence → judge → HITL) — la doctrine que cet ADR opérationnalise sur le cas estimation
wiki/doctrine/pari-fiabilite.md— formulation doctrinale du pari N approches en parallèleassets/Memo - Parallele LIDAR et architecture Bricks OS.md— anti-pattern consensus corrélé évité par cette décision- Spec Phase 1 (à venir) — Visibilisation du skip estimate_value + préconditions par méthode + enveloppe N-approches (
IA-analyse-API+project-analysis)
Sources¶
- Source migrée :
bricks-os/wiki/architecture/ADR-012-n-approches-estimation-parallele.md - Catalogue des sources legacy