CHANGELOG — Révision scientifique complète (editorial board, 2026-10-17)
Papier : WP 13 — VQuant: An Agentic Large Language Model Architecture for Automated Quantitative
Financial Analysis and Document Generation (finance/vquant-llm-quant-platform, dépôt wp13_uqo.git).
État de départ figé : tag pre-revision-20261017, PDF docs/main_pre-revision-20261017.pdf (28 pages, v1.0, June 2026).
État d'arrivée : paper/main.pdf (41 pages, v1.1, October 2026). Pas de main_anon.tex (papier jamais soumis).
Rapport scientifique : docs/REVIEW-REPORT.md.
Le papier ne contient ni données ni code ; la « réanalyse » possible était l'audit de la description
contre le code réel de la plateforme. Il a été fait sur un clone en lecture seule de gitsrv:srv/git/vquant.git
(HEAD e2a148a, « adopt: état déployé sur M2U64 … », 2026-10-02 ; commits antérieurs cfe8ef7 et 9215dce,
2026-08-05). Script versionné : docs/verify/audit_vquant_code.py ; sorties : docs/verify/code_facts.json,
docs/verify/tool_families.json ; table générée : paper/tables/tools.tex.
Convention : C = correction (énoncé démontrablement faux), A = ajout/renforcement, E = éditorial.
1. Corrections majeures (où, avant → après, preuve)
C1 — Le papier se présentait comme rapportant des « résultats » et une « robustesse » sans aucune mesure
- Où : titres de §5 (« Execution Substrate and Document Generation » dans un fichier
results.tex) et §6 (« Performance, Reliability, and Security », fichierrobustness.tex), Table 4 (« Operational characteristics » avec latences « indicatives »), résumé (« principal innovations »), conclusion. - Avant : Table 4 donnait « sub-second perceived response », « several seconds », « roughly ten seconds » sans aucune mesure ; §6.1 affirmait que le single-call « removes the dominant source of latency ».
- Après : §5 renommée « Execution Substrate, Document Generation, and an Illustrative Walk-Through » (walk-through = demonstration au sens design science, sans chiffre) ; §6 renommée « Design Rationale, Threats to Validity, and a Proposed Evaluation » ; Table 4 → « Design rationale » (mécanisme, constante réelle, propriété visée, mesure qui la testerait) ; toutes les latences chiffrées retirées ; §6.6 « A proposed evaluation protocol (not executed) » (suite de tâches, métriques dont le unsupported-number rate, ablations, baselines, contrôles). Le résumé dit explicitement « The paper reports no empirical evaluation ».
- Preuve : absence totale de script, de données ou de journal de mesure dans le dépôt du papier et dans
vquant.git(6 suites de tests unitaires seulement).
C2 — Comptes d'outils et de bibliothèques
- Avant : « more than two hundred tools », « over 265 market-data endpoints, wrapped by roughly 230 typed functions », « seventeen scientific libraries », « four web-research services », Table 3 avec des « 40+ », « 8+ ».
- Après : 245 outils définis par schéma (
toolDefinitions.ts, noms uniques), 249 fonctions exportées sur 233 chemins d'endpoint distincts (fmpService.ts), 29 paquets tentés à l'import par le sandbox (customPythonExecutor.py; la doc de la plateforme dit 17), 3 services web exposés en 14 outils (Firecrawl 7, Tavily 5, Exa 2 ; SerpAPI est intégré côté serveur mais sans définition d'outil). Table 3 régénérée par script avec des comptes exacts par famille (17 familles). - Preuve :
docs/verify/code_facts.json,docs/verify/tool_families.json.
C3 — « Exact tokenizer for billing » / le tokenizer piloterait le déclencheur de contexte
- Avant (§4.7 et §6.2) : « an exact tokenizer for billing » ; §6.2 : « VQuant estimates token counts locally with a tokenizer before each call, which both drives the context-management trigger … ».
- Après : le comptage local utilise le paquet npm
gpt-tokenizer(BPE OpenAI), donc une approximation dont le signe d'erreur n'est pas fixé ; il ne couvre que le texte de réponse (pas les tokens de raisonnement) ; le déclencheur de contexte utilise l'heuristique chars/4, pas le tokenizer. Barème de coût unique 3 $/15 $ par million pour tous les modèles → le grand livre est faux pour tout modèle au prix différent (limite ajoutée). - Preuve :
claudeService.tsl. 2, 44–47, 112–114, 160–175.
C4 — Outils numériques « exposés au modèle »
- Avant (§5.2) : « the platform exposes a small set of pre-built numerical tools … a Monte Carlo path simulator, a closed-form European option pricer, a GARCH(1,1) estimator, and a Value-at-Risk calculator ».
- Après : seul
calculate_options_priceest dans le catalogue ; les handlersrun_monte_carlo_simulation,estimate_garch_volatility,calculate_var,optimize_portfolio,analyze_risk_metrics,create_plotexistent dansroutes.ts(l. 764–1019) mais n'ont aucune définition d'outil → injoignables ; le prompt système cite encorerun_monte_carlo_simulationetcreate_volatility_surface(systemPrompt.tsl. 67, 80). §5.2 réécrite ; Appendix C précise que ces routines servent de référence pour le protocole d'évaluation.
C5 — Couche modèle « Claude only »
- Avant (§3.5, Table 1) : « model-agnostic within the Claude family », modèles non nommés.
- Après : chemin de référence Anthropic (défaut
claude-fable-5; thinking adaptatif pour fable-5, opus-4-8/4-7/4-6, sonnet-4-6 ; haiku-4-5 sans ;max_tokens64 000 ; température 1) et un second adaptateur OpenAI-compatible (OpenAI + Google) limité aux 128 premiers outils ; appel Beamer épinglé àclaude-opus-4-8. Identifiants Anthropic vérifiés (liste de modèles du fournisseur) ; identifiants OpenAI/Google reproduits sans audit et signalés comme tels. - Preuve :
client/src/lib/models.ts,claudeService.tsl. 18–21, 84–96,openaiService.tsl. 14–16, 60–63,beamerSlidesService.tsl. 236 ;git show 9215dceconfirme que le multi-fournisseur existait déjà en août 2026.
C6 — Authentification, limites, BYOK, schéma de persistance
- Avant (§6.3, Appendix B) : « local accounts and third-party single sign-on », « daily limits that differ for anonymous and authenticated users », « bring-your-own-keys », entité Users avec « optional encrypted custom API keys », entité « Daily usage ».
- Après : aucune de ces fonctions n'existe dans aucun commit (
shared/schema.ts,schema-sqlite.ts,auth.ts, grepdaily|apiKey|oauth|googlevide, y compris sur9215dce). Réel : comptes locaux e-mail + mot de passe, code à usage unique par courriel, appareils de confiance, limitation des tentatives, journal de sécurité ; 12 entités persistées. §6.2 et Appendix B réécrites ; retrait explicite des trois affirmations.
C7 — Contexte : troisième étage manquant et constantes
- Avant : deux étapes (cap 5 000 chars, puis résumé).
- Après : trois étapes : (1) troncature à l'exécution 3 000 chars (15 000 pour les 14 outils d'extraction
et le Python)
routes.tsl. 1860–1885 ; (2) cap de renvoi 5 000 ; (3) résumé si > 10^5 tokens, 5 derniers messages, entrée ≤ 10 000 chars,max_tokens2 000, température 0,5, repli 500 premiers caractères (tokenManagement.tsl. 64–105). Algorithme 2 réécrit avec ces constantes ; Algorithme 1 intègrePrepareContext, l'événementstatuspar lot et la troncature.
C8 — Boucle : contenu du tour assistant et absence de borne
- Ajouté : le message assistant ne contient que les blocs
tool_use(ni texte ni blocs de raisonnement), la récursion n'a pas de profondeur maximale (routes.tsl. 420–495). Signalés comme points de durcissement.
C9 — Référence Kim–Muhn–Nikolaev (2024)
- Avant : citée comme preuve que « LLMs can analyze financial statements at a level competitive with human analysts ».
- Après : l'arXiv 2407.17866 a été retiré par les auteurs le 2025-02-20 (« inconsistencies in the data and analyses ») ; l'affirmation est retirée du texte, la référence conservée en note de bas de page avec le statut de retrait (SSRN 4835311). Preuve : page arXiv consultée le 2026-10-17.
C10 — Lopez-Lira & Tang : publié
- Avant : arXiv 2304.07619 (2023). Après : Journal of Financial Economics 184 (2026) 104335,
DOI 10.1016/j.jfineco.2026.104335 (Crossref). Clé
lopezlira2026chatgpt.
2. Ajouts (A)
- A1 Cadrage design science (Hevner et al. 2004 ; Peffers et al. 2007 ; Gregor & Hevner 2013) : §1 « What kind of paper this is », §2.1, conclusion.
- A2 Paragraphe « Terminology » (agentic, tool use, reasoning-capable) en §1.
- A3 Paragraphe « Audit against the code » en §1 + Appendix E : table de 33 énoncés → fichier:lignes → énoncé v1.0 (longtable).
- A4 §2.3 « Evaluating LLM agents » (AgentBench, Reflexion, WebGPT, LLM-as-a-judge, FinanceBench, FinBen, survey Chang et al.) ; §2.2 enrichie (PoT, Mialon, Gorilla, ToolLLM, Lost in the Middle, MCP) ; §2.4 enrichie (Loughran–McDonald, Gentzkow–Kelly–Taddy, Li–Mai–Shen–Yan, Chen–Kelly–Xiu, Hansen–Kazinnik, Li et al. ICAIF, Fatouros et al., Korinek, Dell).
- A5 §5.4 « An illustrative walk-through » (flux de contrôle d'une requête, aucun chiffre).
- A6 §6.4 « Threats to validity » (design vs description), §6.5 « Reproducibility » (température 1 / 0,5, pas de graine, code écrit par le modèle, dépendance CDN KaTeX et TeX local), §6.6 protocole d'évaluation.
- A7 Équations numérotées en Appendix C (GBM, d1/d2, GARCH) ; demi-vie explicitée.
- A8 Figures : compteurs mis à jour (architecture : « 2 providers · 233 endpoints », « 29 packages », « 3 services · 14 tools » ; sandbox : « 29 pkgs »).
3. Éditorial (E)
- Résumé réécrit (« design-science description », « reports no empirical evaluation ») ; mots-clés et JEL (+O33).
- Suppression du vocabulaire promotionnel (« production-grade », « remarkable », « unusually broad », « strategically engineered », « innovations ») ; « agentic financial intelligence » retiré de la conclusion.
- Orthographe britannique uniformisée (summarise, visualisation…) ;
\pathpour les chemins de fichiers ; tables en\footnotesizeavec colonnesp{}(0 Overfull > 10 pt ; un Overfull résiduel de 5,8 pt dans l'Appendix B). - Métadonnées :
\WPversion1.0 → 1.1,\WPdateJune 2026 → October 2026 ; page titre canonique inchangée.
4. Références
Avant : 20 entrées, aucune avec DOI. Après : 46 entrées, DOI ou identifiant arXiv/SSRN pour toutes celles qui
en ont. Vérification le 2026-10-17 : Crossref api.crossref.org/works?query.bibliographic= (30 requêtes),
API arXiv export.arxiv.org/api/query?id_list= (22 identifiants), OpenAlex, pages PMLR / ICLR / TMLR
(mlanthology, proceedings.iclr.cc), page docs Anthropic, spécification MCP, registre npm (gpt-tokenizer).
| Référence ajoutée | Vérification |
|---|---|
| Hevner, March, Park, Ram 2004 MISQ 28(1) 75–105 | Crossref 10.2307/25148625 |
| Peffers et al. 2007 JMIS 24(3) 45–77 | Crossref 10.2753/MIS0742-1222240302 |
| Gregor & Hevner 2013 MISQ 37(2) 337–355 | Crossref 10.25300/MISQ/2013/37.2.01 |
| Liu et al. 2024 TACL 12 157–173 (Lost in the Middle) | Crossref 10.1162/tacl_a_00638 |
| Ji et al. 2023 ACM CSUR 55(12) | Crossref 10.1145/3571730 |
| Chen, Ma, Wang, Cohen 2023 TMLR (Program of Thoughts) | arXiv 2211.12588 + mlanthology TMLR 2023 |
| Mialon et al. 2023 TMLR (Augmented LMs survey) | arXiv 2302.07842 + mlanthology TMLR 2023 |
| Patil et al. 2024 NeurIPS 37 (Gorilla) | Crossref 10.52202/079017-4020 |
| Qin et al. 2024 ICLR (ToolLLM) | arXiv 2307.16789 + proceedings.iclr.cc 2024 |
| Liu et al. 2024 ICLR (AgentBench) | arXiv 2308.03688 + proceedings.iclr.cc 2024 |
| Shinn et al. 2023 NeurIPS 36 (Reflexion) | Crossref 10.52202/075280-0377 |
| Nakano et al. 2021 arXiv (WebGPT) | arXiv 2112.09332 |
| Wang et al. 2024 Frontiers of Computer Science 18(6) | Crossref 10.1007/s11704-024-40231-1 |
| Anthropic 2026, « Tool use with Claude » (docs) | page consultée (platform.claude.com) |
| Model Context Protocol, spécification 2025-06-18 | page consultée (modelcontextprotocol.io) |
| Zheng et al. 2023 NeurIPS 36 (LLM-as-a-judge) | Crossref 10.52202/075280-2020 |
| Chang et al. 2024 ACM TIST 15(3) | Crossref 10.1145/3641289 |
| Islam et al. 2023 arXiv (FinanceBench) | arXiv 2311.11944 |
| Xie et al. 2024 NeurIPS 37 (FinBen) | OpenAlex / Crossref 10.52202/079017-3033 |
| Loughran & McDonald 2016 JAR 54(4) 1187–1230 | Crossref 10.1111/1475-679X.12123 |
| Gentzkow, Kelly, Taddy 2019 JEL 57(3) 535–574 | Crossref 10.1257/jel.20181020 |
| Li, Mai, Shen, Yan 2021 RFS 34(7) 3265–3315 | Crossref 10.1093/rfs/hhaa079 |
| Li, Wang, Ding, Chen 2023 ICAIF 374–382 | Crossref 10.1145/3604237.3626869 |
| Chen, Kelly, Xiu 2023 (working paper) | titre/auteurs confirmés par la présentation Wharton Jacobs Levy (sept. 2024) et listes de séminaires ; page SSRN inaccessible (403) → pas de numéro SSRN cité |
| Hansen & Kazinnik 2023 SSRN 4399406 | Crossref 10.2139/ssrn.4399406 |
| Fatouros et al. 2025 Neural Computing and Applications 37(30) 24893–24918 | Crossref 10.1007/s00521-024-10613-4 (print 2025-10) |
| Korinek 2023 JEL 61(4) 1281–1317 | Crossref 10.1257/jel.20231736 |
| Dell 2025 JEL 63(1) 5–58 | Crossref 10.1257/jel.20241733 |
Références existantes corrigées : Vaswani (pages 5998–6008), Wei (DOI), Toolformer (pages 68539–68551, DOI), PAL (PMLR 202), Lopez-Lira & Tang (JFE 2026, C10), Kim et al. (statut retiré, C9), Black–Scholes, Merton, Engle, Bollerslev, Glasserman (DOI ajoutés), Anthropic doc (titre/URL actuels). Aucune référence retirée ; aucune non vérifiée.
5. Réanalyses exécutées
| Analyse | Script / commande | Durée | Sortie |
|---|---|---|---|
| Audit du code (comptes, constantes, handlers injoignables, familles d'outils) | docs/verify/audit_vquant_code.py /tmp/vquant |
< 5 s | code_facts.json, tool_families.json, paper/tables/tools.tex |
Vérification de l'historique git de vquant.git (3 commits ; multi-fournisseur et EODHD présents dès 9215dce) |
git log, git show 9215dce --stat, git show 9215dce:client/src/lib/models.ts |
— | consigné ici |
6. Non modifié / non exécuté (faute de données ou hors périmètre)
- Protocole d'évaluation de §6.6 : non exécuté (nécessite des clés API, un instantané de données figé, deux évaluateurs humains). Décrit comme pré-enregistrement.
- Corrections du code (borne de récursion, barème de prix par modèle, réintégration des outils numériques dans le
catalogue, cohérence prompt/catalogue, conteneurisation du sandbox) : relèvent de
vquant.git(remote-first, nœud M2U64), non faites dans le cadre de la révision du papier ; listées en §7 et en conclusion. - Identifiants de modèles OpenAI/Google du sélecteur : non audités (hors connaissance vérifiable), signalés comme tels.
- Pas de version anonyme (
main_anon.tex) : le papier n'a jamais été soumis ; à créer avant soumission selonHARMONISATION.md§7.