Legal & Compliance

Chaqueententedeconfidentialité,convention-cadreetannexefournisseurtriéeavantd’arriversurlebureaudujuriste.

Première lecture avant la file : un orchestrateur parcourt chaque contrat page par page, un sous-agent visuel isole chaque clause avec des zones d’identification précises, puis une passe clause par clause l’évalue selon la doctrine de l’équipe — vert, jaune, orange, rouge — avec une explication en mots simples et une demande de révision. Le juriste réviseur ouvre un document déjà trié : décompte par gravité, préoccupations clés rattachées aux numéros d’article, et un verdict d’une ligne sur la possibilité de signer le contrat tel quel.

Key Takeaways

Volume à l’échelle du service

Des centaines de contrats par semaine passent en première lecture sans embauche supplémentaire. Ententes de confidentialité, conventions-cadres, annexes fournisseurs, ententes de traitement de données, énoncés de travail — même processus, même grille, même triage en sortie.

Cohérence entre les réviseurs

Chaque contrat est lu selon la même doctrine. Le triage de première lecture d’un réviseur junior correspond à celui du directeur juridique. Le désaccord arrive en deuxième lecture, là où il a sa place.

Au fait de la doctrine, pas générique

Les positions de l’équipe — plafonds, exceptions d’indemnisation, préférences de droit applicable, règles de PI, planchers de protection des données — sont transmises comme contexte du dossier. Les clauses sont évaluées selon les exigences de l’équipe, pas selon une base universelle.

Demandes ancrées à l’article

Chaque clause signalée porte son numéro d’article, son numéro de page et une demande de révision d’une ligne que le juriste peut coller dans le fil de négociation ou remettre au responsable d’affaires. Rien d’abstrait.

Triage avant l’ouverture du document

Le juriste réviseur voit le décompte par gravité et le verdict dans une notification. Les contrats standards se ferment en quelques minutes ; seuls les inhabituels reçoivent une attention senior.

Les contrats des contreparties ne quittent pas votre environnement

Le processus tourne dans l’environnement de l’équipe, contre le CLM de l’équipe, avec la doctrine de l’équipe. Les contrats des contreparties ne quittent jamais l’environnement. Seule l’orchestration est visible par le modèle.

La première lecture, c’est là que l’heure passe. Et la plupart de ce qu’on lit est déjà standard.

Une équipe juridique interne passe l’essentiel de sa semaine sur des contrats reçus de tiers. Conventions-cadres de fournisseurs, annexes, ententes de confidentialité de prospects, ententes de traitement de données de sous-traitants, révisions sur un renouvellement. Le volume est bien réel ; la variance à l’intérieur du volume, elle, est faible. La plupart des clauses dans la plupart des contrats sont standards, et le juriste réviseur sait déjà ce qu’il va dire. Le goulot d’étranglement n’est pas le jugement. C’est le fait de lire assez du document pour confirmer qu’il est, effectivement, standard.

L’automatisation effectue cette passe de confirmation à l’échelle du service. Un orchestrateur ouvre le contrat, parcourt chaque page et demande à un sous-agent visuel d’identifier chaque clause distincte et d’en retourner l’emplacement. Une deuxième passe traite chaque clause individuellement et l’évalue selon la doctrine de l’équipe — plafonds, exceptions, droit applicable, planchers d’indemnisation, règles de PI. Le juriste réviseur voit un document déjà trié : décompte par gravité en haut, fiches de clauses à droite, et le PDF original rendu à gauche avec des surlignages verts, jaunes, orange et rouges en faible opacité sur chaque clause. Les contrats standards se signent plus vite. Les contrats inhabituels reçoivent l’attention senior dont ils ont vraiment besoin.

Les quatre couleurs forment la grille, et la grille est la propriété intellectuelle de l’équipe. Vert : standard et sans risque — clauses de divisibilité, droit applicable, langage type. Jaune : standard mais bon à confirmer — renouvellement automatique, arbitrage, préavis de trente jours. Orange : inhabituel ou unilatéral d’une manière qui mérite d’être signalée. Rouge : un vrai problème par rapport à la doctrine — une clause de transfert de frais que l’équipe n’accepte pas, une appropriation de PI sur des travaux préexistants, une clause d’attribution de compétence dans un for où l’équipe ne peut pas réellement se défendre. La posture par défaut est « c’est normal » — le système ne signale que ce qui mérite vraiment de l’être, puis explique pourquoi avec renvoi à la doctrine.

La preuve de concept est publique. Trampoline fait tourner le même processus à amigettingfucked.ai — n’importe qui, y compris un membre de l’équipe, peut y déposer un PDF et voir le résultat en quelques minutes. Les déploiements en production branchent le même processus sur le CLM de l’équipe, acheminent les revues triées vers la file du juriste concerné, et tournent selon la doctrine de l’équipe plutôt qu’une doctrine générique.

Une signature, la doctrine de l’équipe dans le contexte du dossier

L’ensemble du processus — conversion des pages, détection des clauses, évaluation clause par clause, synthèse du triage — passe par une seule signature Predict-RLM. La doctrine de l’équipe (plafonds, exceptions, préférences de droit applicable, règles de PI) entre comme contexte du dossier, de sorte que chaque évaluation se fait selon les exigences de l’équipe, pas selon une base générique. L’orchestrateur décide du parallélisme par page et par clause ; la grille et le schéma JSON résident dans un objet Skill transmis à côté.

python
import dspy
from predict_rlm import File, PredictRLM, Skill

class ReviewContract(dspy.Signature):
    """Identify every meaningful clause in the contract pages and rate it
    against the team's playbook. Return strict JSON in result_json."""
    pages: list[File] = dspy.InputField(
        desc="page images in order; auto-mounted at /sandbox/input/pages/"
    )
    deal_context: str = dspy.InputField(
        desc="JSON: {dealType, counterparty, role, playbook, concerns}"
    )
    result_json: str = dspy.OutputField(
        desc="strict JSON: {synthesis, clauses: [...]}; no markdown fences"
    )

agent = PredictRLM(
    ReviewContract,
    lm="anthropic/claude-opus-4-7",      # modèle frontière — orchestrateur
    sub_lm="anthropic/claude-haiku-4-5", # modèle visuel — par page, par clause
    skills=[contract_review_skill],      # grille de gravité + discipline des zones
    max_iterations=40,
)

result = agent(
    pages=[File(path=p) for p in page_paths],
    deal_context=json.dumps({
        "dealType": "vendor-msa",
        "counterparty": "ACME Corp",
        "role": "customer",
        "playbook": {
            "liability_cap_min": "12x annual fees",
            "no_fee_shifting": True,
            "governing_law": ["Ontario", "Delaware"],
            "ip_assignment": "none over pre-existing work",
        },
        "concerns": "renouvellement, exceptions de PI dans le plafond",
    }),
)
# result.result_json → { "synthesis": {...}, "clauses": [
#   {"section_number": "11.4", "severity": "red",
#    "title": "L'indemnisation PI échappe au plafond de responsabilité",
#    "playbook_violation": "liability_cap_min",
#    "regions": [{"page": 14, "bbox": [0.12, 0.34, 0.88, 0.41]}],
#    "what_it_means": "...", "recommendation": "..."}, ... ]}

Bâti sur predict-rlm — code source ouvert. github.com/Trampoline-AI/predict-rlm

Ce qui atterrit dans la file du juriste réviseur

Le juriste réviseur reçoit une fiche de triage dans son CLM (Ironclad, Agiloft, ContractPodAi) ou comme tâche Outlook : décompte par gravité, verdict en une phrase et demandes principales prérédigées. L’ouverture de la fiche affiche la revue à deux volets — le PDF original rendu à gauche avec des surlignages verts, jaunes, orange et rouges en faible opacité sur chaque clause analysée, et une colonne de fiches de clauses à droite avec chaque clause traduite en mots simples, évaluée selon la doctrine et accompagnée d’une demande de révision prête à coller. Les contrats standards se ferment depuis la file. Les contrats inhabituels s’ouvrent avec l’attention du juriste senior déjà fixée sur les deux clauses qui comptent. Trampoline fait tourner le même processus comme preuve de concept publique à amigettingfucked.ai — l’équipe juridique peut l’essayer sur un PDF non confidentiel en quelques minutes avant de cadrer un déploiement en production.