SPB Git forge

spb/wp13_uqo

Public
3commits 1branches 1releases
1.2 MBsize
maindefault branch
59 min agolast push
TeX 93.9% Python 6%
15.2 KB

# 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 », fichier robustness.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.ts l. 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_price est dans le catalogue ; les handlers run_monte_carlo_simulation, estimate_garch_volatility, calculate_var, optimize_portfolio, analyze_risk_metrics, create_plot existent dans routes.ts (l. 764–1019) mais n'ont aucune définition d'outil → injoignables ; le prompt système cite encore run_monte_carlo_simulation et create_volatility_surface (systemPrompt.ts l. 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_tokens 64 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.ts l. 18–21, 84–96, openaiService.ts l. 14–16, 60–63, beamerSlidesService.ts l. 236 ; git show 9215dce confirme 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, grep daily|apiKey|oauth|google vide, y compris sur 9215dce). 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.ts l. 1860–1885 ; (2) cap de renvoi 5 000 ; (3) résumé si > 10^5 tokens, 5 derniers messages, entrée ≤ 10 000 chars, max_tokens 2 000, température 0,5, repli 500 premiers caractères (tokenManagement.ts l. 64–105). Algorithme 2 réécrit avec ces constantes ; Algorithme 1 intègre PrepareContext, l'événement status par 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.ts l. 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…) ; \path pour les chemins de fichiers ; tables en \footnotesize avec colonnes p{} (0 Overfull > 10 pt ; un Overfull résiduel de 5,8 pt dans l'Appendix B).
  • Métadonnées : \WPversion 1.0 → 1.1, \WPdate June 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 selon HARMONISATION.md §7.