1"use strict";(self.webpackChunkreflektlab_ai=self.webpackChunkreflektlab_ai||[]).push([[3801],{2253:function(e,t,a){a.r(t),a.d(t,{DEFAULT_FOOTER:function(){return q},Head:function(){return L},default:function(){return P},footerFor:function(){return j},pickRelated:function(){return C}});var l=a(8453),n=a(6540);function r(e){const t=Object.assign({span:"span",p:"p",hr:"hr",h2:"h2",strong:"strong",ul:"ul",li:"li",em:"em",a:"a"},(0,l.RP)(),e.components);return n.createElement(n.Fragment,null,n.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<span\n class="gatsby-resp-image-wrapper"\n style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; "\n >\n <span\n class="gatsby-resp-image-background-image"\n style="padding-bottom: 55.666666666666664%; position: relative; bottom: 0; left: 0; background-image: url(\'data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQCAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAc25OdywKB//xAAYEAADAQEAAAAAAAAAAAAAAAAAAQMCEP/aAAgBAQABBQJZwKM2OERd/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFxAAAwEAAAAAAAAAAAAAAAAAACAzUv/aAAgBAQAGPwLJQqn/xAAaEAEBAAMBAQAAAAAAAAAAAAABABEhMWHR/9oACAEBAAE/IX9Vc3uZc4b8gPySszf/2gAMAwEAAgADAAAAEFff/8QAFxEBAAMAAAAAAAAAAAAAAAAAAAEhUf/aAAgBAwEBPxCV6//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABsQAQADAAMBAAAAAAAAAAAAAAEAETEhUWHw/9oACAEBAAE/ELEO1TgON9HKgbVKDWOO32UO78dxjFlq2AXCf//Z\'); background-size: cover; display: block;"\n ></span>\n <img\n class="gatsby-resp-image-image"\n alt="Des documents de sinistres photographiés transformés en enregistrements structurés"\n title=""\n src="/static/6e78e058358ec73fad210b11f0f28327/e5166/cover.jpg"\n srcset="/static/6e78e058358ec73fad210b11f0f28327/f93b5/cover.jpg 300w,\n/static/6e78e058358ec73fad210b11f0f28327/b4294/cover.jpg 600w,\n/static/6e78e058358ec73fad210b11f0f28327/e5166/cover.jpg 1200w,\n/static/6e78e058358ec73fad210b11f0f28327/c23a4/cover.jpg 1376w"\n sizes="(max-width: 1200px) 100vw, 1200px"\n style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"\n loading="eager" fetchpriority="high"\n decoding="async"\n />\n </span>'}}),"\n",n.createElement(t.p,null,"La plupart des articles sur l'automatisation des sinistres partent d'un échantillon propre, soigneusement choisi. Nous avons pris l'inverse : le portefeuille complet d'un assureur européen, un peu plus de 13 000 documents répartis sur quelque 6 500 sinistres, neuf mois de tout ce que les assurés ont réellement envoyé, sans rien écarter."),"\n",n.createElement(t.p,null,"La première mesure a suffi à balayer toutes les hypothèses qui suivaient."),"\n",n.createElement(t.hr),"\n",n.createElement(t.h2,{id:"que-contient-vraiment-un-portefeuille-de-sinistres-"},"Que contient vraiment un portefeuille de sinistres ?"),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"96 % ne contiennent aucun texte exploitable.")," Aucun texte à sélectionner, à copier ou à analyser : des photos, tout simplement. Le cabinet imprime sa facture, l'assuré la prend en photo avec son téléphone, et la photo part par mail sous forme de PDF. Résolution médiane de 256 ppp, un tiers du corpus en dessous de 200, sans compter ce qui arrive flou ou recadré de travers."),"\n",n.createElement(t.p,null,"La porte d'entrée n'est donc pas le parsing mais la lecture d'une image, comme le ferait un humain, et tout le reste en dépend."),"\n",n.createElement(t.p,null,"Deux constats plus discrets ont fait autant de dégâts. Alors que les noms de fichiers annonçaient 54 documents contenant à la fois une facture et une feuille de soins, le contenu en a révélé 642 ; et chercher le mot « facture » dans le texte a ramené près de 4 900 feuilles de soins, tout simplement parce que la mention pré-imprimée du formulaire dit « non accompagnée de la facture correspondante ». ",n.createElement(t.strong,null,"Classez sur le contenu, jamais sur le nom de fichier, et surtout jamais sur un mot-clé isolé.")),"\n",n.createElement(t.h2,{id:"comment-savoir-si-lextraction-e
1st-juste-sans-aucune-annotation-"},"Comment savoir si l'extraction est juste sans aucune annotation ?"),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"Votre métier imprime déjà de quoi vous contrôler.")," Une facture porte son propre total : si les montants extraits le reconstituent, la lecture est très probablement bonne."),"\n",n.createElement(t.p,null,"Vous disposez alors d'un moyen de contrôle gratuit, automatique et applicable à chaque document du portefeuille, bien avant que quiconque ait annoté quoi que ce soit. C'est la chose la plus utile que nous ayons faite, et elle a tranché toutes les questions de conception qui ont suivi :"),"\n",n.createElement(t.ul,null,"\n",n.createElement(t.li,null,"Un parseur à expressions régulières, patiemment réglé, réconciliait ",n.createElement(t.strong,null,"16 %")," des factures."),"\n",n.createElement(t.li,null,"Le même modèle lisant la transcription OCR : ",n.createElement(t.strong,null,"92 %"),"."),"\n",n.createElement(t.li,null,"Le même modèle, le même prompt, mais regardant l'image de la page : ",n.createElement(t.strong,null,"96 %"),"."),"\n"),"\n",n.createElement(t.p,null,"Mieux vaut donc donner l'image au modèle que sa transcription, et l'écart se creuse à mesure que les factures s'allongent, ce qui trahit un problème de mise en page bien plus que de reconnaissance de caractères. L'OCR aplatit un tableau à cinq colonnes en une ligne de texte, et la colonne d'origine se perd au passage."),"\n",n.createElement(t.p,null,"La plupart des métiers disposent d'un garde-fou de ce genre sans jamais s'en servir : les factures ont des totaux, les balances s'équilibrent, le SIRET porte une clé de Luhn. En privilégiant systématiquement le candidat valide au sens de Luhn, la part de SIRET correctement lus est passée de 62,6 % à 91,6 %, sans modèle, sans annuaire et sans le moindre coût."),"\n",n.createElement(t.h2,{id:"pourquoi-lire-chaque-document-deux-fois-"},"Pourquoi lire chaque document deux fois ?"),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"Parce que la confiance affichée par un modèle ne vaut pas preuve.")," Sur les feuilles de soins manuscrites, deux lecteurs indépendants extraient la pathologie déclarée, l'un depuis le texte océrisé, l'autre depuis l'image ; quand tous les deux nomment quelque chose, ",n.createElement(t.strong,null,"ils se contredisent sur près d'un tiers des formulaires, alors que chacun affiche une confiance élevée.")),"\n",n.createElement(t.p,null,"Un lecteur unique aurait donc paru parfaitement fiable tout en se trompant une fois sur trois. D'où la règle que nous avons retenue : une lecture ne compte que si deux lecteurs qui n'ont pas vu la réponse de l'autre tombent d'accord, le reste étant écarté. Quand un seul parvient à déchiffrer la page, un troisième modèle, d'un autre éditeur, arbitre."),"\n",n.createElement(t.p,null,"Le prix à payer est lourd, puisque l'ensemble exploitable s'en trouve réduit de moitié environ, mais c'est la seule raison pour laquelle on peut faire confiance à ce qui reste."),"\n",n.createElement(t.p,null,"Le
1corollaire compte tout autant : ",n.createElement(t.strong,null,"l'abstention doit être une sortie à part entière.")," Sur un document de sinistre, un diagnostic inventé est pire qu'une case vide, car plus rien en aval ne distingue une invention d'une lecture. Notre classifieur refuse donc de trancher sur 12 % des sinistres plutôt que de deviner, pour 2 % d'erreurs."),"\n",n.createElement(t.h2,{id:"ce-qui-na-pas-marché"},"Ce qui n'a pas marché"),"\n",n.createElement(t.p,null,"Trois pistes dont nous attendions un gain, mesurées, puis abandonnées."),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"L'optimisation automatique de prompt n'a rien donné.")," Nous avons compilé le prompt d'extraction contre la métrique gratuite avec DSPy, 60 exemples d'entraînement et un jeu de test tenu à l'écart dans les règles, pour arriver à 85,0 % de référence et 85,0 % après compilation. Un prompt déjà affiné par une semaine d'analyse des erreurs se trouvait sur un optimum local qu'aucune recherche n'a permis de dépasser."),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"Normaliser les libellés a dégradé la prédiction.")," Nous avons construit un vocabulaire qui replie plus de 9 000 orthographes différentes en un nom canonique par produit et par acte ; donner ces noms propres au classifieur, à la place des libellés bruts du cabinet, a fait chuter la part de sinistres correctement classés de 63,0 % à 61,9 %. La normalisation sert à agréger et à comparer, pas à prédire : l'original, aussi sale soit-il, porte un détail que l'étiquette canonique écarte."),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"Un quart de nos erreurs venaient de la taxonomie et non du modèle.")," Deux catégories de notre propre liste se recouvraient, et réécrire la formulation des définitions, sans rien changer d'autre, a suffi à gagner trois points. Avant d'accuser un modèle, vérifiez donc que vos catégories s'excluent vraiment."),"\n",n.createElement(t.h2,{id:"combien-ça-coûte-"},"Combien ça coûte ?"),"\n",n.createElement(t.p,null,n.createElement(t.strong,null,"Moins de 25 dollars pour l'ensemble du portefeuille.")," L'OCR local était gratuit et fonctionnait sur un simple ordinateur portable. Lire environ 6 500 factures sous forme de lignes structurées a coûté 12,68 dollars, quelque 5 500 formulaires manuscrits, lus chacun deux fois, 5,96 dollars, et le classement de chaque sinistre 1,60 dollar."),"\n",n.createElement(t.p,null,"La ressource coûteuse n'a jamais été le calcul, mais l'accès au corpus, les autorisations, et la connaissance métier qui permet de savoir ce qu'est une ligne facturée. ",n.createElement(t.strong,null,"Choisissez vos modèles sur la qualité plutôt que sur le prix : à cette échelle, le prix n'est pas une contrainte réelle.")),"\n",n.createElement(t.h2,{id:"la-limite-honnête"},"La limite honnête"),"\n",n.createElement(t.p,null,"Automatiser l'extraction est désormais simple ; automatiser l'",n.createElement(t.em,null,"interprétation")," ne l'est pas."),"\n",n.createElement(t.p,null,"Nous voulions retrouver la pathologie exacte d'une visite à partir de la seule facture, et sur ce portefeuille cela ne fonctionne que sur ",n.createElement(t.strong,null,"un sinistre sur dix"),". Aucun choix de modèle n'y change quoi que ce soit, pour une raison structurelle : la facture médiane tient en deux lignes d'actes de routine, et un vaccin n'a aucune pathologie à retrouver. En posant une question plus étroite, ranger le sinistre dans l'une de dix-sept catégories au lieu de nommer la pathologie, on atteint ",n.createElement(t.strong,null,"67 %"),"."),"\n",n.createElement(t.p,null,"Cet écart est la vraie leçon. Le pipeline n'a jamais été le point dur ; savoir à quelle question les documents peuvent réellement répondre, si."),"\n",n.createElement(t.hr),"\n",n.createElement(t.p,null,"Si vous avez une pile de documents et que vous vous demandez ce qu'on peut en tirer, la réponse se mesure en général en une journée, pour le prix d'un café. Nous menons ce type de travail d'",n.createElement(t.a,{href:"/fr/solutions/erp-document-automation/"},"automatisation documentaire")," en tranche à périmètre fixe. C'est d'ailleurs pour la même raison que nous avions publié ",n.createElement(t.a,{href:"/fr/blog/what-30000-messy-wine-entries-actually-look-like/"},"à quoi ressemblent 30 000 lignes de données sales")," : on apprend toujours plus du corpus que du plan. Si vous voulez savoir ce que contient le vôtre, ",n.createElement(t.a,{href:"/fr/contact/"},"dites-nous ce que vous avez"),"."))}var s=function(e={}){const{wrapper:t}=Object.assign({},(0,l.RP)(),e.components);return t?n.createElement(t,e,n.createElement(r,e)):r(e)},o=a(4506),i=a(4755),c=a(7746),u=a(4823),m=a(7093),d=a(6585),p=a(6085),g=a(5367),x=a(4368),A=a(1840),f=a(6388),b=a(7891),E=a(7414),h=a(5515),y=a(5996);const v={h2:e=>n.createElement("h2",Object.assign({className:"text-2xl sm:text-3xl font-bold text-gray-1 mt-8 mb-4"},e)),h3:e=>n.createElement("h3",Object.assign({className:"text-xl sm:text-2xl font-bold text-gray-1 mt-6 mb-3"}
1,e)),p:e=>n.createElement("p",Object.assign({className:"text-base sm:text-lg text-gray-2 leading-relaxed mb-4"},e)),ul:e=>n.createElement("ul",Object.assign({className:"pl-6 sm:pl-8 list-disc text-base sm:text-lg text-gray-2 leading-relaxed my-4"},e)),ol:e=>n.createElement("ol",Object.assign({className:"pl-6 sm:pl-8 text-base sm:text-lg text-gray-2 list-decimal leading-relaxed my-4"},e)),li:e=>n.createElement("li",Object.assign({className:"mb-3"},e)),img:e=>n.createElement("img",Object.assign({className:"w-full h-auto rounded-lg my-8 sm:my-12"},e)),a:e=>n.createElement("a",Object.assign({className:"text-dark-blue"},e)),strong:e=>n.createElement("strong",Object.assign({className:"font-bold text-gray-1"},e)),hr:()=>n.createElement("hr",{className:"border-t border-gray-3 my-8"}),blockquote:e=>n.createElement("blockquote",Object.assign({className:"border-l-4 border-light-blue pl-4 sm:pl-6 my-4 text-base sm:text-lg text-gray-2 italic"},e)),table:e=>n.createElement("div",{className:"overflow-x-auto my-6"},n.createElement("table",Object.assign({className:"min-w-full text-sm sm:text-base text-gray-2 border-collapse"},e))),thead:e=>n.createElement("thead",Object.assign({className:"border-b-2 border-gray-3"},e)),th:e=>n.createElement("th",Object.assign({className:"text-left font-bold text-gray-1 px-3 py-2 sm:px-4 sm:py-3"},e)),td:e=>n.createElement("td",Object.assign({className:"px-3 py-2 sm:px-4 sm:py-3 border-b border-gray-3"},e)),ArchitectureDiagram:x.A,ToolDistributionChart:A.A,DryRunFlow:f.A,InArticleCTA:h.A,SpecList:b.A,ChatPreview:E.A},N={to:"/solutions/custom-erp-tooling/",titleKey:"blog_next_custom_title",descKey:"blog_next_custom_desc"},w={to:"/solutions/reprise-de-code/",titleKey:"blog_next_takeover_title",descKey:"blog_next_takeover_desc"},k={to:"/solutions/technical-due-diligence/",titleKey:"blog_next_tdd_title",descKey:"blog_next_tdd_desc"},_={to:"/case-studies/",titleKey:"blog_next_cases_title",descKey:"blog_next_cases_desc"},q={links:[{to:"/data/",titleKey:"blog_next_data_title",descKey:"blog_next_data_desc"},{to:"/reflekt-crm/",titleKey:"blog_next_crm_title",descKey:"blog_next_crm_desc"},{to:"/technology/",titleKey:"blog_next_tech_title",descKey:"blog_next_tech_desc"}],titleKey:"blog_cta_title"},F=[["code-audit",{links:[w,k,_],titleKey:"blog_cta_title_takeover",topic:"code-takeover"}],["fractional-cto",{links:[{to:"/solutions/fractional-cto/",titleKey:"blog_next_cto_title",descKey:"blog_next_cto_desc"},k,_],titleKey:"blog_cta_title_cto"}],["custom-software",{links:[N,w,_],titleKey:"blog_cta_title_custom",topic:"custom-software"}],["ai-strategy",{links:[{to:"/solutions/audit-ia/",titleKey:"blog_next_audit_title",descKey:"blog_next_audit_desc"},_,N],titleKey:"blog_cta_title_audit",topic:"audit-ia"}]],j=e=>{const t=new Set(null!=e?e:[]),a=F.find(([e])=>t.has(e));return a?a[1]:q},C=(e,t,a,l=3)=>{const n=e.filter(e=>e.fields.slug!==t),r=(0,o.A)(n).sort((e,t)=>{var a,l;return(null!==(a=t.frontmatter.date)&&void 0!==a?a:"").localeCompare(null!==(l=e.frontmatter.date)&&void 0!==l?l:"")}),s=null!=a?a:[];if(0===s.length)return r.slice(0,l);const i=new Set(s),c=r.map(e=>{var t;return{post:e,shared:(null!==(t=e.frontmatter.tags)&&void 0!==t?t:[]).filter(e=>i.has(e)).length}}).filter(e=>e.shared>0).sort((e,t)=>t.shared-e.shared).map(e=>e.post);if(c.length>=l)return c.slice(0,l);const u=new Set(c.map(e=>e.fields.slug));return[].concat((0,o.A)(c),(0,o.A)(r.filter(e=>!u.has(e.fields.slug)))).slice(0,l)},L=({data:e,pageContext:t})=>{var a,l,r,s,o,i,u,m,d;const p=null===(a=e.mdx)||void 0===a?void 0:a.frontmatter;if(!p)return n.createElement("title",null,"Reflekt Lab - Blog");const{slug:g,language:x,i18n:A}=t,f=null!==(l=null==A?void 0:A.defaultLanguage)&&void 0!==l?l:"en",b=null!==(r=null==A?void 0:A.languages)&&void 0!==r?r:[x],E=e=>e===f?`/blog/${g}/`:`/${e}/blog/${g}/`,h=E(x),y=b.map(e=>({lang:e,path:E(e)})),v=(null!==(s=p.faq)&&void 0!==s?s:[]).filter(e=>(null==e?void 0:e.q)&&(null==e?void 0:e.a)),N=v.length>0?{"@context":"https://schema.org","@type":"FAQPage",mainEntity:v.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))}:null;return n.createElement(n.Fragment,null,n.createElement(c.A,{article:!0,title:p.seoTitle||`${p.title} | Reflekt Lab`,description:p.description||p.subtitle||p.title,image:null!==(o=null===(i=p.image)||void 0===i||null===(u=i.childImageSharp)||void 0===u||null===(m=u.original)||void 0===m?void 0:m.src)&&void 0!==o?o:void 0,pathname:h,language:x,alternateLanguages:y,datePublished:p.date,author:null===(d=p.author)||void 0===d?void 0:d.name}),N&&n.createElement("script",{type:"application/ld+json"},JSON.stringify(N)))},B=({data:{mdx:e,relatedPosts:t},pageContext:a,children:r})=>{var s;const{t:o}=(0,i.useTranslation)(),{slug:c}=a,x=j(e.frontmatter.tags),A=x.links,f=x.topic?{to:(0,y.y2)(x.topic),label:o("blog_cta_describe")}:{to:"/contact",label:o("blog_cta_sample")},b=C(null!==(s=null==t?void 0:t.nodes)&&void 0!==s?s:[],c,e.frontmatter.tags);return n.createElement(d.A,null,n.createElement("div",{className:"w-full flex justify-center py-8 sm:py-12 md:py-16"},n.createElement("article",{className:"w-full max-w-3xl lg:max-w-4xl xl:max-w-5xl px-4 sm:px-6 md:px-8 lg:px-12 flex flex-col gap-6 sm:gap-8 text-gray-1"},n.createElement("header",{className:"flex flex-col gap-3 sm:gap-4"},n.createElement(u.A,{as:"h1"}
1,e.frontmatter.title),e.frontmatter.subtitle&&n.createElement(m.A,{className:"text-gray-2"},e.frontmatter.subtitle),n.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-4 text-sm text-gray-2"},e.frontmatter.author&&n.createElement("div",{className:"flex items-center gap-2"},e.frontmatter.author.avatar&&n.createElement("img",{src:e.frontmatter.author.avatar,alt:e.frontmatter.author.name,className:"w-8 h-8 rounded-full object-cover"}),n.createElement("p",null,e.frontmatter.author.link?n.createElement("a",{href:e.frontmatter.author.link,target:"_blank",rel:"noopener noreferrer",className:"text-dark-blue hover:underline"},e.frontmatter.author.name):n.createElement(n.Fragment,null,e.frontmatter.author.name))),n.createElement("p",null," ",(e=>{const t=new Date(e);return`${["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()]} ${t.getDate()}, ${t.getFullYear()}`})(e.frontmatter.date)))),n.createElement("div",{className:"prose prose-lg max-w-none"},n.createElement(l.xA,{components:v},r)),n.createElement("aside",{"aria-label":o("blog_next_title"),className:"mt-8 sm:mt-12 pt-8 border-t border-gray-3"},n.createElement("h2",{className:"text-2xl sm:text-3xl font-bold text-gray-1 mb-4"},o("blog_next_title")),n.createElement("div",{className:"grid gap-4 sm:grid-cols-3"},A.map(e=>n.createElement(i.Link,{key:e.to,to:e.to,className:"block bg-gray-4 border border-gray-3 rounded-lg px-5 py-4 hover:border-dark-blue transition-colors"},n.createElement("span",{className:"block font-semibold text-dark-blue mb-1"},o(e.titleKey)),n.createElement("span",{className:"block text-sm text-gray-2 leading-snug"},o(e.descKey))))),n.createElement("div",{className:"mt-6 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 bg-gradient-to-br from-indigo-800 to-teal-700 rounded-lg px-6 py-5"},n.createElement("p",{className:"text-white font-semibold text-lg"},o(x.titleKey)),n.createElement("div",{className:"flex flex-col sm:flex-row gap-3 shrink-0"},n.createElement(p.Ay,{variant:"primary",placement:"blog",className:"inline-block text-center whitespace-nowrap bg-white text-dark-blue font-semibold rounded-lg px-5 py-3 hover:bg-gray-4 transition-colors"}),n.createElement(i.Link,{to:f.to,onClick:()=>(0,g.UA)(f.label,f.to,{location:"blog-footer"}),className:"inline-block text-center whitespace-nowrap border border-white/70 text-white font-semibold rounded-lg px-5 py-3 hover:bg-white/10 transition-colors"},f.label)))),b.length>0&&n.createElement("nav",{"aria-label":"Related articles",className:"mt-8 sm:mt-12 pt-8 border-t border-gray-3"},n.createElement("h2",{className:"text-2xl sm:text-3xl font-bold text-gray-1 mb-4"},"Related articles"),n.createElement("ul",{className:"flex flex-col gap-3"},b.map(e=>n.createElement("li",{key:e.id},n.createElement(i.Link,{to:`/blog/${e.fields.slug}/`,className:"text-lg text-dark-blue hover:underline"},e.frontmatter.title))))))))};function P(e){return n.createElement(B,e,n.createElement(s,e))}},7093:function(e,t,a){var l=a(6540);t.A=({children:e,className:t})=>l.createElement("h3",{className:`text-m font-semibold text-gray-1 ${null!=t?t:""}`},e)},4823:function(e,t,a){var l=a(6540);t.A=({children:e,className:t,as:a="h2",id:n})=>l.createElement(a,{id:n,className:`text-3xl md:text-5xl font-extrabold tracking-tight text-gray-900 ${null!=t?t:""}`},e)},4368:function(e,t,a){var l=a(6540);const n=({x:e,y:t,w:a,h:n,label:r,sublabel:s,fill:o="#F7FAFC",textColor:i="#1F2933"})=>l.createElement("g",null,l.createElement("rect",{x:e,y:t,width:a,height:n,rx:8,fill:o,stroke:"#E2E8F0",strokeWidth:1.5}),l.createElement("text",{x:e+a/2,y:s?t+n/2-6:t+n/2+1,textAnchor:"middle",dominantBaseline:"middle",fill:i,fontSize:13,fontWeight:600,fontFamily:"Montserrat, sans-serif"},r),s&&l.createElement("text",{x:e+a/2,y:t+n/2+12,textAnchor:"middle",dominantBaseline:"middle",fill:"#4A5568",fontSize:10,fontFamily:"Montserrat, sans-serif"},s)),r=({x1:e,y1:t,x2:a,y2:n})=>l.createElement("g",null,l.createElement("line",{x1:e,y1:t,x2:a,y2:n,stroke:"#E2E8F0",strokeWidth:1.5}),l.createElement("polygon",{points:`${a},${n} ${a-4},${n-7} ${a+4},${n-7}`,fill:"#E2E8F0"}));t.A=()=>l.createElement("div",{className:"my-8 rounded-lg border border-gray-3 bg-white p-4 sm:p-6 overflow-x-auto"},l.createElement("p",{className:"text-sm font-bold text-gray-1 mb-4 uppercase tracking-wide"},"Architecture overview"),l.createElement("svg",{viewBox:"0 0 680 360",className:"w-full max-w-2xl mx-auto",xmlns:"http://www.w3.org/2000/svg"},l.createElement(n,{x:10,y:10,w:120,h:44,label:"Claude Desktop",sublabel:"stdio proxy",fill:"#e0f2fe"}),l.createElement(n,{x:145,y:10,w:120,h:44,label:"Claude Code",sublabel:"HTTP",fill:"#e0f2fe"}),l.createElement(n,{x:280,y:10,w:120,h:44,label:"Cursor",sublabel:"HTTP",fill:"#e0f2fe"}),l.createElement(n,{x:415,y:10,w:120,h:44,label:"Telegram Bot",sublabel:"HTTP",fill:"#e0f2fe"}),l.createElement(n,{x:550,y:10,w:120,h:44,label:"Classifier",sublabel:"HTTP",fill:"#e0f2fe"}),l.createElement(r,{x1:70,y1:54,x2:70,y2:95}),l.createElement(r,{x1:205,y1:54,x2:205,y2:95}),l.createElement(r,{x1:340,y1:54,x2:340,y2:95}),l.createElement(r,{x1:475,y1:54,x2:475,y2:95}),l.createElement(r,{x1:610,y1:54,x2:610,y2:95}),l.createElement("rect",{x:40,y:95,width:600,height:75,rx:10,fill:"#2979FF",fillOpacity:.08,stroke:"#2979FF",strokeWidth:1.5}),l.createElement("text",{x:340,y:117,textAnchor:"middle",fill:"#2979FF",fontSize:13,fontWeight:700,fontFamily:"Montserrat, sans-serif"},"MCP Server"),l.createElement(n,{x:80,y:125,w:130,h:34,label:"Auth Middleware",fill:"#FFFFFF"}),l.createElement(n,{x:275,y:125,w:130,h:34,label:"Tool Registry",fill:"#FFFFFF"}),l.createElement(n,{x:470,y:125,w:130,h:34,label:"Router",fill:"#FFFFFF"}),l.createElement(r,{x1:340,y1:170,x2:340,y2:210}),[{label:"CRM",sub:"43 tools",x:15},{label:"ERP",sub:"23 tools",x:125},{label:"Sheets",sub:"7 tools",x:235},{label:"Linear",sub:"6 tools",x:345},{label:"Products",sub:"6 tools",x:455},{label:"Bank",sub:"6 tools",x:565}].map(e=>l.createElement(n,{key:e.label,x:e.x,y:210,w:100,h:44,label:e.label,sublabel:e.sub,fill:"#42A5F5",textColor:"#FFFFFF"})),[65,175,285,395,505,615].map((e,t)=>l.createElement(r,{key:t,x1:e,y1:254,x2:e,y2:295})),[{label:"PostgreSQL",x:15},{label:"REST API",x:125},{label:"Sheets API",x:235},{label:"GraphQL",x:345},{label:"Local XLSX",x:455},{label:"Local XLSX",x:565}].map(e=>l.createElement(n,{key:e.label+e.x,x:e.x,y:295,w:100,h:40,label:e.label,fill:"#F7FAFC"}))))},7414:function(e,t,a){var l=a(6540);t.A=({title:e,lines:t,actions:a})=>l.createElement("figure",{className:"my-8 mx-0 max-w-xl"},l.createElement("div",{className:"rounded-lg rounded-tl-none border border-gray-3 bg-white shadow-card px-4 py-4 sm:px-5 sm:py-5"},l.createElement("p",{className:"text-base sm:text-lg font-bold text-gray-1 m-0"},e),l.createElement("ul",{className:"list-none pl-0 mt-3 mb-0 flex flex-col gap-2"},t.map((e,t)=>l.createElement("li",{key:`${e}-${t}`,className:"flex items-start gap-2 text-base text-gray-2 leading-relaxed"},l.createElement("span",{"aria-hidden":"true",className:"text-indigo-700 shrink-0"},"â¢"),l.createElement("span",null,e)))),a&&a.length>0&&l.createElement("div",{className:"mt-4 pt-4 border-t border-gray-3 flex flex-wrap gap-2"},a.map((e,t)=>l.createElement("span",{key:`${e}-${t}`,className:"rounded px-3 py-1.5 text-sm font-semibold "+(0===t?"bg-indigo-700 text-white":"border border-gray-3 text-gray-2")},e)))))},6388:function(e,t,a){var l=a(6540);const n=[{icon:"1",label:"AI calls tool",detail:"dry_run: true",color:"#2979FF"}
1,{icon:"2",label:"Server previews",detail:"No data written",color:"#42A5F5"},{icon:"3",label:"User reviews",detail:"Confirm or cancel",color:"#0ea5e9"},{icon:"4",label:"AI commits",detail:"dry_run: false",color:"#10b981"}];t.A=()=>l.createElement("div",{className:"my-8 rounded-lg border border-gray-3 bg-gray-4 p-4 sm:p-6"},l.createElement("p",{className:"text-sm font-bold text-gray-1 mb-5 uppercase tracking-wide"},"Dry-run confirmation flow"),l.createElement("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-3 sm:gap-0"},n.map((e,t)=>l.createElement(l.Fragment,{key:e.icon},l.createElement("div",{className:"flex sm:flex-col items-center gap-3 sm:gap-2 flex-1"},l.createElement("div",{className:"w-10 h-10 rounded-full flex items-center justify-center text-white text-sm font-bold shrink-0",style:{backgroundColor:e.color}},e.icon),l.createElement("div",{className:"sm:text-center"},l.createElement("p",{className:"text-sm font-bold text-gray-1"},e.label),l.createElement("p",{className:"text-xs text-gray-2"},e.detail))),t<n.length-1&&l.createElement("div",{className:"hidden sm:flex items-center px-2 text-gray-3 text-lg"},"â")))))},5515:function(e,t,a){var l=a(6540),n=a(4755),r=a(6085),s=a(5367);t.A=({heading:e,body:t,to:a,linkLabel:o,placement:i="blog-inline"})=>l.createElement("aside",{className:"my-10 rounded-xl border border-indigo-100 bg-indigo-50/70 px-6 py-6"},l.createElement("div",{className:"mb-4"},l.createElement("p",{className:"text-lg font-bold text-gray-1"},e),t&&l.createElement("p",{className:"mt-1 text-gray-2 leading-snug"},t)),l.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3"},l.createElement(r.Ay,{variant:"primary",placement:i}),a&&o&&l.createElement(n.Link,{to:a,onClick:()=>(0,s.UA)(o,a,{location:i}),className:"text-dark-blue underline font-semibold text-sm"},o)))},7891:function(e,t,a){var l=a(6540);t.A=({items:e,title:t,numbered:a=!0,separator:n="â"})=>{const r=a?"ol":"ul";return l.createElement("div",{className:"my-8 rounded-lg border border-gray-3 bg-gray-4 p-4 sm:p-6"},t&&l.createElement("p",{className:"text-sm font-bold text-gray-1 mb-5 uppercase tracking-wide"},t),l.createElement(r,{className:"flex flex-col gap-4 list-none pl-0 m-0"},e.map((e,t)=>l.createElement("li",{key:`${e.label}-${t}`,className:"flex items-start gap-3 sm:gap-4"},a?l.createElement("span",{className:"mt-0.5 w-7 h-7 shrink-0 rounded-full bg-indigo-700 text-white text-sm font-bold flex items-center justify-center"},t+1):l.createElement("span",{"aria-hidden":"true",className:"mt-2.5 w-2 h-2 shrink-0 rounded-full bg-indigo-700"}),l.createElement("p",{className:"text-base sm:text-lg text-gray-2 leading-relaxed m-0"},l.createElement("span",{className:"font-bold text-gray-1"},e.label),e.text?l.createElement(l.Fragment,null," ",n," ",e.text):null)))))}},1840:function(e,t,a){var l=a(6540);const n=[{name:"CRM",tools:43,color:"#2979FF"},{name:"ERP Connector",tools:23,color:"#42A5F5"},{name:"Google Sheets",tools:7,color:"#38bdf8"},{name:"Linear",tools:6,color:"#7dd3fc"},{name:"Product DB",tools:6,color:"#0ea5e9"},{name:"Bank Statements",tools:6,color:"#e0f2fe"}];t.A=()=>l.createElement("div",{className:"my-8 rounded-lg border border-gray-3 bg-gray-4 p-4 sm:p-6"},l.createElement("p",{className:"text-sm font-bold text-gray-1 mb-4 uppercase tracking-wide"},"Tool distribution by module"),l.createElement("div",{className:"flex flex-col gap-3"},n.map(e=>l.createElement("div",{key:e.name,className:"flex items-center gap-3"},l.createElement("span",{className:"text-sm text-gray-2 w-32 sm:w-36 text-right shrink-0"},e.name),l.createElement("div",{className:"flex-1 flex items-center gap-2"},l.createElement("div",{className:"flex-1 h-7 bg-gray-3 rounded overflow-hidden"},l.createElement("div",{className:"h-full rounded transition-all",style:{width:e.tools/43*100+"%",backgroundColor:e.color}})),l.createElement("span",{className:"text-sm font-bold text-gray-1 w-8"},e.tools))))),l.createElement("p",{className:"text-xs text-gray-2 mt-4 text-center"},"91 tools total across 6 modules"))},5996:function(e,t,a){a.d(t,{Jj:function(){return s},Kj:function(){return r},y2:function(){return n}});const l=["audit-ia","custom-software","code-takeover"];function n(e){return`/contact/?topic=${e}`}function r(e){const t=new URLSearchParams(e).get("topic");return l.includes(null!=t?t:"")?t:null}function s(e,t){return`topic_${e.replace(/-/g,"_")}_${t}`}},8453:function(e,t,a){a.d(t,{RP:function(){return r},xA:function(){return o}});var l=a(6540);const n=l.createContext({});function r(e){const t=l.useContext(n);return l.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}const s={};function o({components:e,children:t,disableParentContext:a}){let o;return o=a?"function"==typeof e?e({}):e||s:r(e),l.createElement(n.Provider,{value:o},t)}}}]); 2//# sourceMappingURL=component---src-components-blog-post-tsx-content-file-path-blog-what-13000-insurance-claim-documents-look-like-index-fr-mdx-6c173aa3649b32f378d5.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.