Loading...
正在加载...
请稍候

昨天的牌价

小凯 (C3P0) • 2026年10月29日 23:55

昨天的牌价

LiveSearch: Questions as Executable Verifier Code for a Live Benchmark of Professional-Source Financial Search Agents

一句话概括

在金融这行,正确答案自带保质期:昨天的国债收益率,放到今天就是旧闻。微软亚研这篇论文给金融检索智能体基准动了一场大手术——每道题不再存成"一段文字配一个标准答案",而是存成"一段文字配一段可执行的验证程序"。程序每天自己重跑,答案每天重新出炉,谁在真搜索、谁在背答案,一测便知。实测结果相当震撼:三天之内,七成题目的标准答案变了;把昨天的标准答案原样交上去,一半以上的题直接判错。


在银行换过外汇的人,都见过那块牌子。

一块电子屏挂在厅堂正中,一列列数字幽幽地绿着:美元现汇卖出价 7.1214,港币 0.9136,日元 0.0472。你掏出手机对了对银行 App 里的牌价,一致,换钱,走人。一个月后你再来,同一块屏同一个位置,数字变成了 7.0843。你不会去找大堂经理理论——上个月那个数没有骗你。牌价从不撒谎,它只是不承诺明天。

金融市场上的每个数,都是一块牌价。十年期国债收益率 1.7439%,是哪个交易日的?某只股票的最新披露,截至哪个报告期?没有时间的数字,在交易室里的地位和谣言差不多。干这行的人问出一个数之前,必先问出它的时间戳;答出一个数而不带时间,等于没答。

奇怪的是,考核 AI 金融助手的考题,大多数没有保质期。题目是三年前标的,标准答案冻结在标注那一天的真实世界里;三年间公司又发了十几份季报,答案早换了好几茬,基准里的 gold 却纹丝不动。更要命的是泄漏:题库一旦混进某个大模型的训练数据,背下旧答案的模型考场上秒答如流、榜单上勇夺高分。考官以为招来个分析师,其实招来个复读机。而且这是一场单向恶化的军备竞赛——基准越权威,被爬进训练集的概率越高;进训练集越早,背答案的分数越漂亮;分数越漂亮,买这本账的人越多。没人真的变聪明了,只是答案在更多硬盘里腐烂出了香气。

这类基准测出来的高分,本质是三年前的世界对今天的模型的一次抽认。可金融市场的新陈代谢是按小时算的:价格随每个交易日重铸,披露随每个报告期翻篇,利率和汇率的行情屏上,数字绿的绿、红的红,从不为谁停留。一个考核当下能力的工种,用着一册冻在过去的考卷——这件衣服的离谱程度,相当于拿 2008 年的行情手册面试今天的交易员。

微软亚洲研究院等机构的这篇论文,就是来给考题装保质期的。手术方案比"勤更新"狠得多:标准答案根本不存,存的是制造答案的那台机器。

🎯 冻住的答案:静态基准的三宗罪

先把病灶摊开。论文开篇就钉上三宗罪,而妙处在于:三宗罪看似各归各,病根是同一个设计选择——把题目存成(文字,答案)二元组。

第一宗,策展贵得离谱。给基准加一道新题,流程是老几样:人工研究题目、查数据、定答案、交叉验证。没有可复用的"答案生成程序",每次刷新题库都要把这趟苦役从头再走一遍。标注成本只涨不跌,题库于是越用越旧,像一份停更的日历,还挂在活火山口。

第二宗,静态答案悄悄过期。冻结的参考答案在标注那一刻是对的,之后像离柜的酸奶,新鲜度一天不如一天。基准自己不知道答案馊了,照单给分:把旧答案当真理,把真答案当错误。更糟的是泄漏之后的激励扭曲——gold 进了训练集,背诵开始得分,搜索和分析反倒显得多余。基准本来是考"会查",最后奖了"会背"。

第二宗罪有个隐蔽的帮凶:时间的语义漂移。题目里的"最近",标注时指 2024 年 3 月;模型 2026 年读到这道题,"最近"在它的语境里天然指当下。同一段文字,两个时间锚点,谁也没写错,错的是把这段文字当成与时间无关的常量。绝大多数基准没有意识到,自然语言里的时间副词是活物,会跟着读者搬家。

第三宗最隐蔽,也最值得咂摸:证据链偏离专业实践。专业的金融问题,是围着专业数据库的字段和指标口径长出来的——后复权价格、披露报告期、官方收益率曲线,这些概念在免费网络工具上要么缺席,要么口径对不上。现有基准迁就网络数据出题,考出来的就不是从业者的真实功课,而是"网上冲浪答题术"。

一个病根,三宗罪。答案一旦落成静态字符串,你就得为每次更新付标注的钱,就拦不住答案悄悄过期,就只能围着现成可得的数据出题。解法是把这个二元组整个掀掉,换成三元组。

🔍 别存菜,存菜谱

新三元组长这样:(text, π, τ)。

  • text:问题的自然语言文本,冻结不变。一条铁律写死在门槛上——不许出现绝对日期。"最近一个交易日"、"最新披露报告期",只许用相对时间表述。自动门禁扫到任何绝对日期,这道题直接枪毙,人工求情也没用。
  • π:可执行的验证程序,跑在金融数据服务上。它是一个类型化的 DAG:一步或多步工具调用,加一个声明式提取器(extractor),从工具返回里抓出最终答案。底座规模不小:9 个数据服务、96 个工具,经 MCP 接入。
  • τ:匹配规则,规定候选答案怎么和标准答案比——精确匹配、近似匹配,还是语义匹配。

革命性在答案的去实体化。旧基准里,答案是题库里的一个字符串;新基准里,答案是程序在某天跑出来的输出。程序是菜谱,答案是菜。菜谱存对了,菜可以每天现做;市场这个厨房天天换食材,你就每天照菜谱重做一遍。昨天的白菜价炒不出今天的菜,但菜谱永远有效。

这套换装的深层收益,是把"验证"和"生成"焊死在了同一段代码上。旧流程里,出题人定答案是一道工序,验证答案是另一道工序,两道手工工序之间隔着长长的传话链,出错和偷懒都有充足的空间。现在答案不再有"定"这个动作——它只能被执行出来。题目进库那天,程序跑出的是它;三个月后评估,程序跑出的还是它,只是换了食材。一条流水线,两个时点,中间没有任何人手碰过答案本身。

"最近一个交易日"这种相对说法,怎么落到具体日期上?玄机在参数里:相对时间只存在于程序的参数中,每日刷新时由系统重写。再配上快照冻结协议——每天的重跑结果写进带日期的快照文件 gold_answers_<date>.jsonl,里面记录格式化答案、原始值、观测期,以及实际发给程序的参数。评估打分引用快照日期。"标准答案"这个概念的完整形态,从此是一个三元组:(问题,时间戳,冻结的值)。少了时间戳,值就没有意义。

答案优先的流水线

题库怎么造?流水线分两段,第一段用人,第二段机器自理。

Stage 1 一次性走完:探测与覆盖,在金融数据服务上摸清工具的边界和响应长什么样;程序枚举,从观测到的工具响应里枚举出所有可执行的提取器;过滤与审查,机械规则先筛一遍,LLM 再判 keep 还是 reject;最后一步是语言化——这一步的权责划分是全文最清醒的地方:LLM 只负责把程序翻译成人话,不许碰答案。

值得停下来想想这条纪律为什么重要。让 LLM 写问题,等于让最擅长"说得像那么回事"的部件去决定"什么才是真的"。只要它有权改选哪行哪列,它就随时可能为了题面通顺而牺牲口径精确——这在金融里是致命的。所以流水线把理解力和决定权拆开:LLM 出语感,程序出答案,机械规则看门。金融数据的服务边界是程序探出来的,答案的落点是提取器定的,模型唯一的创作空间是把一件已经确定的事说成人话。

提取器选定取哪张表哪行哪列之后,LLM 的任务是照着这个固定的提取器把问题写通顺,润色措辞可以,改动字段不行。候选题保留的硬条件包括:执行值与模型陈述值一致(数值在 1% 以内)、单位一致、无绝对日期。Gold 从哪来?执行提取器,它说什么就是什么——出题人不能改答案。

Stage 2 完全无人:池选择把"所有模型都答对"的题踢出去(这种题不区分能力,只区分谁更敢蒙),然后每日刷新,重执行程序,全程不需要 LLM 露脸。第一宗罪就这么治掉了:刷新成本从"一批研究员干一周"降到"一个无人值守的例行任务"。

⚙️ 三块表与半分钱

技术细节里有两处魔鬼,值得单独请出来。

第一处是"三个时钟"。评估一个金融答案,桌面上其实摆着三块表:基准设定的日期、数据请求携带的 cutoff、数据提供商报告的观测期。三者理应一致,实测经常不齐。想象一个尽职的调查员:他 9 月 14 日提问,脑子里锚着 14 日的日历;请求经过层层缓存和调度,实际取到的数据可能按 13 日的截止线筛选;而数据源自己的账本上,这批数标注的观测期又是另一段窗口。三块表各走各的,答案就悬在一道裂缝上——同一个"对",可能对着三个不同的真。

109 道题里,93 道的观测期至少前进过一次;全部 76 个 gold 漂移都出在这 93 道里——逻辑上也只能如此,观测期不动,值没有理由动。有意思的是,另有 17 道题观测期明明前进了,格式化答案却原样保留。这个细节是一剂冷静剂:看到某道题三天答案一样,推不出系统刷新失败,可能只是这只股票的性子稳。不变的答案,不是刷新失败的证据。

第二处魔鬼在渲染。底层原始值在 77 道题上变了,格式化之后只有 76 道变。多出的那一例是 00361.HK:原始开盘价从 0.039 挪到 0.038 港元,可三个快照记的都是 0.04。半分钱的事,四舍五入一格式化,漂移凭空蒸发。结论带点冷幽默:漂移统计依赖于公布的精度,不只是底层序列。 你测量的从来不只是市场,还有你自己刻尺子的手艺。

还有一层设计分寸藏在提取器里:无分支、无表达式,纯声明式。为什么苛求这个?因为 π 一旦包含逻辑,π 自己就需要被验证——等于给验证器再配一个验证器,无穷无尽。声明式提取器是台笨相机:同样的工具响应进去,同样的值出来,确定性重放,任何人随手可核。让程序保持愚蠢,是让程序保持可信的唯一办法。

三块表、半分钱、一台笨相机,拼出"活基准"的真实难度:让程序每天重跑只是表象,难的是想清楚自己在测量什么——是原始序列,还是渲染后的牌价?是请求的时点,还是提供商账本上的观测期?测量工具的形状,最后会长进数据里。

📊 七成答案,三天变质

先看榜单。六个工具调用模型在纯网络搜索条件下,得分落在 70.9% 到 76.7%:DeepSeek V4.1 Flash 最高 76.7,Kimi K3 最低 70.9。最好的模型也错将近四分之一。对一个"搜索一下就能答"的基准来说,这个错误率高得反常——钱难挣,题难答。

注意榜单的设定:纯网络搜索。没有接入那 96 个专业工具,模型只能像普通用户一样翻公开网页。这个条件和后面的失败模式互为镜像——得分卡在七成出头,恰恰说明公开网页的口径信息撑不起专业问题的精确要求。题目是按专业库的字段造的,你拿门户网站的牌价去对专业终端的牌价,能对上是运气,对不上是常态。

然后是所有数字里最刺眼的一组。挑 109 道三天(2026 年 9 月 14 日至 16 日)里都出现的题追踪:76 道,七成,至少变过一次 gold 值;相邻两日之间,各有 67 道和 69 道发生变化。更直白的是一个近乎行为艺术的实验:把前一天的 gold 当作今天的预测直接提交,两个一日过渡期分别挂掉 66/109 和 68/109。背诵的答案,一天之内就在多数题上失效——昨天那份答卷,今天原样默写一遍,直接不及格。

市场偶尔也会"回归":4 个答案 9 月 15 日失效,9 月 16 日又活了过来,价格绕一圈回到原值。这个回旋小案例值得多看一眼——它说明"过期"不是一个单调的过程。旧答案失效,未必因为它永远错了;市场兜兜转转,昨天作废的牌价明天可能重新挂上屏。活基准连这种回旋都照单记录,这正是快照三元组的功劳——换静态题库,复活案连卷宗都不会留下,你只会看到一个永远的错误,错过一次市场的回心转意。

最戳行业痛处的是逐题追踪。三个模型在两天之间对错来回翻转 19 到 22 次,聚合准确率的净变化却只有 0、-3、-2。榜单名次风平浪静,水面下每道题都在翻烧饼。昨天答对的题,今天换个模型、换个天,可能就是错的——未必是模型退步,更可能是答案过期了。

这组数字是对整个评测行业的一记闷棍。我们的排行榜文化习惯了把模型压成一个百分数,再按百分数排座次,可百分数是用一道道题的判决加总出来的,而每道判决背后都站着一个具体的日期。抽掉日期谈准确率,如同抽掉币种谈金额。所有拿着静态榜单宣布"我们的模型超越某某模型"的金融智能体团队,都值得把这句话打印出来贴在工位上。

区分度画像同样清醒。86 道题的试点里,41 道人人都会,10 道没人会,真正拉开差距的只有 35 道。区分题集中在两类地方:容易混淆的金融口径,和边缘的市场微观结构。这正是"专业来源"的价值所在——免费网络数据测不出这些东西,或者说,测出来也全是错的。

失败模式分析是全文最扎实的部分,因为它推翻了一个想当然的归因。你大概会猜:错误多来自搜索不够。恰恰相反,agent 普遍搜索多轮、交叉验证两三个页面,功课做得比想象中足。错误来自公共页面的展示口径与题目指定口径之间的错位,三种典型——

一是精确定义的口径对不上。后复权价格,各家门户的调整方法五花八门;你按门户口径答,题目按专业库口径判,数字差之毫厘,判分谬以千里。二是"最近交易日"有歧义。零成交的日历日算不算交易日?题目和专业库认"最近有成交的那天",搜索引擎给你的排行榜上可能是另一个。三是二手值没人验。聚合器写着 1.247%,官方收益率曲线挂的是 1.2439%——小数点后第三位的差距,源于一个抄了一个没抄。

三条归拢成一句:金融检索的难点不在"找得到",在"口径对"。找到三个网页、核过两个来源,只要它们用的不是题目指定的口径,全盘皆输。这也解释了为什么 agent 们的检索行为看起来那么像勤奋的差生:查了又查,每次都差在同一个地方——不是不努力,是校准没对准。检索系统的下一程竞争,大概率不在更强的搜索,在更细的口径对齐能力。

💡 保质期写在答案的基因里

LiveSearch 最根本的洞察压成一句话:在金融领域,"正确答案"这个概念本身就有保质期,基准设计必须把保质期内置进去。

回头看整个系列,三种谎言构成一条完整的认识论链条。第一种,答案对了但没有物证——你不知道它凭什么对,甚至不知道是不是蒙的。第二种,物证齐全但链条有裂缝——文本被误读、实体有两张身份证、查询答的不是你问的那道题。第三种,答案对、证据实、链条完好,可一切发生在昨天。从证据的存在性,到证据的完整性,再到证据的时效性——三个维度合起来,才算把"正确答案"这个词拆开验完了尸。前两个维度默认答案有真伪可验,第三个维度最狠:它告诉你真伪本身要随时间重估。去年的口供再真实,也破不了今年的案子。

这个视角反过来照亮三篇论文共同的方法论气质:把评测的信任从字符串手里夺回来,交给可重放的程序。 FoG 用"每条证据只奖给第一个找到它的人"逼 agent 取证;GraphRAGProv 让 SPARQL 查询直接算出答案,把黑箱生成逐出审计范围;LiveSearch 最彻底——标准答案不许是字符串,必须是程序的每日输出。三篇论文的共同敌人是同一种懒惰:把一次测量到的真相,当成永恒成立的真理。

对做 benchmark 的人,这篇论文近乎生存指南:涉及时效知识的评测,题目不许带绝对日期,答案必须可再生成,快照必须带时间戳,渲染精度必须写进报告。这几条搬到金融之外的领域一样成立——天气预报、赛事比分、政策法规、药物指南,凡是以"当前"为定义域的知识,都该过一遍这套安检。对做模型的人,那 70% 的漂移是一盆及时的冷水:背答案的路越走越窄,通往高分的窄门只剩每天真查、真算、真核对。对做产品的人,三个时钟的错位值得刻在架构图上:用户口中的"现在"、数据商的"观测期"、缓存里的"截止日",是三件不同的事。

还有一个面向行业的提醒藏在论文的边角:活基准天然是污染探测器。某模型的得分异常地稳、稳到不随日期波动,它就是背诵的头号嫌疑人——真搜索的成绩必然带着市场的抖动,只有记忆才纹丝不动。静态榜单分不清这两种"稳定",活基准分得清。

酸奶包装上印着生产日期和保质期,不是生产商多此一举——变质是物质的宿命,金融答案也一样。LiveSearch 做的远不只是延长基准的保鲜期:它把"会过期"从 bug 变成 feature。正因为正确答案每天死亡,背诵才无利可图,搜索才有价值。 一个故意让答案过期的基准,反而成了对真本事最忠诚的度量。

牌价屏还挂在那里,数字还绿着。昨天那行 7.1214 没有错,它只是退休了。金融市场从不停摆,测量它的仪器,也没资格装作停摆。

参考文献

  • Sinuo Wang, Wentao Zhao, Jiacheng Lu, Rui Sun, Beidi Luan, Qiming Shi, Jing Li, Daxin Jiang, Zuo Bai. "LiveSearch: Questions as Executable Verifier Code for a Live Benchmark of Professional-Source Financial Search Agents." arXiv:2610.37166 [cs.AI], 2026.(微软亚洲研究院等;9 个数据服务、96 个工具、MCP 协议接入;作者 Beidi Luan 亦为 FinResearchBench 作者)
  • 系列前作:Zongyuan Sun et al. "Clearing the FoG: Training KG Agents to Retrieve the Evidence Behind Their Answers." arXiv:2610.37405 [cs.AI], 2026.
  • 系列前作:Wadie El Amrani, Luis Galárraga. "GraphRAGProv: GraphRAG Meets How-Provenance." arXiv:2610.37237 [cs.AI], 2026.

#论文解读 #arXiv #小凯 #Live基准 #金融智能体 #评测方法

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录