AI 投研这条流水线上,翻车的地方是可以预先点名的
- 能在自己的投研流程里点出四道幻觉高发工序,并说清每道工序为什么高发
- 照着文中五份提示词,在取数、跨期对比、术语定义、时效性四个出口各架一道闸门
- 会用资料丰富度分级判断这次研究该收紧还是放宽,并按抽检规则决定报告能不能定稿
你大概有过这种经验:一份 AI 生成的公司研究报告拿到手,你知道里面肯定有问题,但不知道问题在哪儿。于是你从头读到尾,每句话都掂量一遍,读完两个钟头,累得够呛,还是没什么底气——万一漏了呢?
这个做法本身就错了。它把「找错」当成一件均匀分布的活儿,好像报告的每个位置出错的概率都一样。实际上不是。 一份 AI 研究材料里,错误的分布是极度不均匀的:有些段落你就算闭着眼睛信,问题也不大;有些段落你必须逐字回查,而且它们出现的位置是可以提前点名的。
这篇讲的就是怎么点名。至于 AI 编造内容的几种典型长相、以及一个数字该怎么逐条核,AI 说得有鼻子有眼,可那个数字是编的 那篇已经讲透了,这里不重复。本篇换一个角度:不看错误长什么样,看它容易在流程的哪一段冒出来。
先说清边界:本文讲的是怎么让研究材料变得可靠,不是怎么用 AI 选股。所有输出都是待验证的材料,不构成任何投资建议。
先用装修这件事讲明白
你请人给家里做柜子。全套流程是:量尺寸 → 算板材用量 → 照着老户型图确认承重墙 → 听师傅讲工艺方案 → 最后出报价单。
现在问你一句:这五步里,哪一步出错最要命?
不是听工艺方案那步。师傅说「这个做免漆板更耐造」,说错了你顶多多花点钱,改得回来。要命的是量尺寸那一步。 尺寸错两厘米,后面所有环节全部照着这个错数往下走:板材算多了、报价虚高了、柜子做出来装不进去。这一步没人复核,后面四步做得再漂亮都是白搭。
第二要命的是那张老户型图。图纸是三年前的,中间业主敲过一面墙,图上还画着。师傅照图作业,一切都很专业、很流畅,直到钻头下去。问题不在师傅的手艺,在他手上那份资料已经过期了,而这件事没人告诉他。
再有就是行话。师傅说「这个用的是 E0 板」,你点头。可你俩心里的 E0 是不是一回事?不同标准体系下同一个字母加数字,指向的门槛不一定相同。你以为你们达成了共识,其实你们只是用了同一个词。
你发现规律了没有:出问题的不是「判断」,是「量」「照旧图」「对词」这三类看起来最不用动脑的活儿。 越机械的工序,越没人复核;越没人复核,错了越走得远。
AI 投研这条流水线,毛病一模一样。
放到投资决策里意味着什么
投研这条流水线,从头到尾大致是这么几段:确定研究哪家公司 → 把数字抓出来 → 把不同期的数字排在一起看变化 → 读管理层怎么讲 → 判断这些信息现在还成不成立 → 汇总成一份能拿来做决定的东西。
关键在于,这条线是串行的。前一段的产出直接当成后一段的输入,中间没有人喊停。一个抓错的营收数字,会在下一步变成一个错的增速,再下一步变成一个错的趋势判断,最后凝固成一句「增长在放缓,护城河可能在削弱」。你在最后那句话上花再多时间辩论都没用——病根在三步之前,而那三步之前的地方,长得毫无异样。
这也是为什么「读完整篇挑错」这个办法效率极低。你在读的是流水线的末端产物,而错误在中段就已经被熨平了,末端已经看不出接缝。
正确的做法是把检查前移:不在出口验货,在每道工序的交接处验货。 而且不用每道都验——只验那四道真正高发的。下面一道一道拆。
高发工序一:把数字抓出来
这是整条线上最要命的一段,理由和量尺寸完全一样:它是所有后续推理的地基,而它看起来最不需要动脑,所以最容易被跳过复核。
它为什么在流程意义上高发?因为这一步的活儿性质是填空。你给出一个表格骨架——近五年收入、毛利、经营利润、净利润、经营现金流——模型要做的是把格子填满。而「把格子填满」这件事,对一个从不说「我不知道」的助手来说,是它最擅长也最危险的任务形态。空着的格子会让它难受,填满的格子会让你放心,这两种感受合在一起,就是事故的温床。
我自己的流程在这一步设了一道很硬的闸门,规则简单到不需要理解就能执行:
每个关键数据必须来自两个互相独立的来源,两源误差按幅度分三档处理。 误差在百分之一以内,认为一致,取其一并把两个来源都写上;误差在百分之一到百分之五之间,标注「数据存在差异」,两个数都保留,并且必须写出可能原因;误差超过百分之五,标注「重大差异」,不许直接使用,必须回到公司原始公告核实。
这套分档为什么有用?因为它把一个含糊的问题(这个数对不对)换成了一个机械的问题(两个数差多少)。含糊的问题需要判断力,机械的问题只需要执行。能机械化的闸门才装得住,需要临场判断的闸门迟早会被省掉。
还有一条同样机械的:一切除法不许心算。 增速、利润率、各种比值、市值验算,全部用计算器或脚本算出来。这条看起来小题大做,但一个算错的比值和一个编出来的绝对值,杀伤力完全一样,而且更隐蔽——绝对值你还可能去查一下,比值你通常就直接信了。
下面这份是这道闸门的提示词版本,粘在你的取数环节末尾用。
【取数闸门 · 交付前自检,逐条回答,不许跳过】
对上面这张表里的每一个数字,逐个回答下面五问,用表格输出:
| 数字 | 它是什么 | 来源1(名称+具体位置) | 来源2(名称+具体位置) | 两源差多少 | 判定 |
判定规则(照抄执行,不要自己改):
- 两源误差 ≤1% → 判「一致」,正文取来源1的值,两个来源都要写出来
- 两源误差 1%~5% → 判「存在差异」,两个数都写进正文并标记,
同时说明差异原因(会计口径 / 汇率换算时点 / 财年定义 /
合并范围 / 某一源尚未更新),说不出原因就写「原因不明」
- 两源误差 >5% → 判「重大差异」,禁止在正文使用这个数,
改为写「需回原始公告核实」并停在这里
- 只有一个来源 → 判「单源」,数字前面必须加标记,不许当成已核实数据使用
- 一个来源都没有 → 删掉这个数字,格子留空并写「未获取」
补充硬要求:
1. 「来源」必须具体到哪一份文件、哪一期、哪一页或哪个页面,
写「根据公开财报」「据公开数据」一律视为没有来源,对应数字直接删除。
2. 所有除出来的数(增速、利润率、比值、市值验算)必须把算式和输入摆出来,
禁止只给结果。算式写不出来的,这个数不许出现。
3. 表格里不许出现空行。宁可写「未获取」,不许用推测把格子填满。
高发工序二:把不同期的数字排在一起
第一道闸门放行之后,进入第二段:同比、环比、五年趋势、和管理层此前给的指引对照。
这一段高发的原因和第一段不同。第一段的病是「数是假的」,这一段的病是**「数都是真的,但它们不该被放在同一行里比」**。
真实流程里踩过的坑非常具体,我把它归成五类,因为这五类会反复出现:
- 会计口径不同。 同一家公司的净利润,有按通行会计准则口径公布的,也有剔除若干项之后的调整口径。两个数都是真的,官网上都能查到,差着十几个百分点。把这一期的调整口径和上一期的准则口径放一起算同比,得出来的「大幅增长」纯属虚构。
- 汇率换算时点不同。 跨市场的公司,同一笔收入换成不同货币,取的汇率日期不一样,结果就不一样。
- 财年定义不同。 有些公司的财年不在自然年末结束。你以为在比同一段时间,其实错开了一个季度。
- 合并范围不同。 中间发生过收购或剥离,前后两期的「收入」根本不是同一个业务组合。
- 某一个来源还没更新。 最新一期已经披露,某个数据站还挂着上一期的数,模型抓到了旧的那个。
除了这五类,还有一个专属于股价序列的坑:复权口径。 股价有不复权、前复权、后复权三种口径,分红和拆股会让它们分叉。我的规则写得很死——凡是涉及历史价格的分析一律用前复权,且同一份分析里不得混用复权与不复权的来源。 混用的后果不是差一点,是历史涨幅、历史估值分位这些结论全部失真,而报告读起来一切正常。
这一段还有一个更微妙的问题,是我在做持仓跟踪时才意识到的:「说法变了」不等于「事实变了」。 同一家公司,前后两份研究材料措辞不同——一份说「护城河稳固」,一份说「护城河面临考验」——你很容易读成基本面恶化了。但也可能什么都没变,只是这次的表述习惯不一样。我的漂移检测流程里为此写了一条硬规则:只比较证据,不比较文风;找不到能解释变化的具体新证据时,必须判定为「未变化」,不许用措辞差异推断出漂移。 而且表格里「未变化」那几行的证据栏必须写破折号——不许为了把表填满而编造触发证据。 这条规则的完整用法见 论文漂移 那篇。
【口径闸门 · 任何跨期对比之前必须先跑这一步】
在做任何同比、环比、多期趋势之前,先输出一张「口径锁定表」:
| 指标 | 本期口径 | 对比期口径 | 两期口径是否一致 | 可比性判定 |
每个指标必须明确写出下面五项,任何一项写不出来就判「口径不明」:
1. 会计口径:是准则口径还是经调整口径?两期是不是同一种?
2. 时间口径:财年起止是什么时候?两期跨的是不是同样长的时间?
3. 币种与汇率:用的什么货币?换算汇率取的哪一天?
4. 合并范围:期间有没有收购、剥离、分部重划?有的话前后是不是同一个业务组合?
5. 数据新鲜度:这个来源最后更新到哪一期?
判定规则:
- 五项全部一致 → 判「可比」,允许计算同比/环比
- 任意一项不一致 → 判「不可比」,**禁止直接相减或相除**。
必须先做口径还原,还原不了就只并列展示两期原值,写明「口径不同,未做同比」
- 有任意一项写不出来 → 判「口径不明」,同上,不许硬算
涉及历史股价序列时,额外强制:
- 统一使用前复权口径,并在正文写明「本节股价为前复权」
- 同一节里不许混用复权与不复权来源,混了就作废重来
最后一条(针对前后两版材料的对比):
- 只比较证据,不比较措辞。同义改写、排序变化、语气变化一律判「未变化」。
- 判定为「变化」的每一行,必须引用导致变化的那条具体新证据;
引用不出来就改判「未变化」,证据栏写「—」,不许编。
高发工序三:行业黑话和公司自定义指标
第三段是读管理层的表述、读行业分析。这一段的高发点很特别:错的不是数字,是词。
每个行业都有一堆自己的词,而这些词里有相当一部分没有统一定义。同一个用来衡量业务规模的指标,A 公司算的是含税成交额,B 公司算的是扣掉退货之后的净额;同一个「用户数」,有的按注册算,有的按月活算,有的按付费算。更麻烦的是那些公司自己发明的指标——它写在财报里,看起来和标准财务科目一样正式,但它的算法是这家公司自己定的,可以随时调整,而且调整了未必显眼地告诉你。
模型在这个地方会做一件很自然、也很致命的事:用这个词在行业里最通用的那个定义,去解释这家公司报出来的数。 定义对不上,整段推理就悬空了,可它读起来专业得不得了——术语用得地道,逻辑严丝合缝,只是地基不是这家公司的。
这一段的另一个高发点是引述。管理层说过的话被打上引号写进材料,是幻觉密度最高的位置之一,因为编一句符合语境的场面话实在太容易了。我的财报精读流程里对此只有一条规矩,但执行得很死:所有引述必须是原话,找不到原话就写「未找到原始表述」,不许转述之后加引号。 转述加引号是最坏的一种,它把一个模糊的印象包装成了一条可引用的证据。
关于为什么必须让模型去读原始文件而不是二手摘要,一手资料纪律 那篇专门讲了。
【术语闸门 · 用在任何涉及行业指标、公司自定义指标的段落】
第一步,把这段材料里出现的所有行业术语和非标准财务指标列出来,
每个术语填完下面这张表才允许继续往下写:
| 术语 | 这家公司自己的定义(原文表述+出处) | 我用的是不是这个定义 | 是否公司自定义指标 |
规则:
1. 凡是不属于标准财务报表科目的指标(各类成交额、活跃用户、
经调整口径的利润、单位经济性指标等),必须找到公司自己的定义原文。
找不到原文定义 → 这个指标不许用于任何跨公司比较,
只能写「该指标为公司自定义,未找到定义原文,不与同行对比」。
2. 公司自定义指标必须额外注明:它的算法在最近几期里有没有变过?
变过就必须写出来,因为口径变化会伪装成业绩变化。
3. 同一个术语在不同公司之间比较时,必须先确认两家用的是同一个定义。
确认不了就不比。
第二步,管理层引述专项检查。把本段所有带引号的句子列成表:
| 引述内容 | 出自哪份文件、哪一段 | 是否逐字原文 |
- 不是逐字原文的 → 去掉引号,改成陈述,并注明「转述,非原话」
- 找不到出处的 → 整句删除,写「未找到原始表述」
- 禁止把多句话拼接后当成一句引述
第三步,删掉所有「行业普遍」「同行平均」「一般来说」这类说法,
除非你能立刻写出:样本是哪几家、数据是哪一期、来自哪个来源。
写不出来就删句,不要保留。
高发工序四:这些信息现在还成立吗
第四段是时效性判断。这一段之所以单列,是因为它的失败方式和前三段完全不同:前三段是内容错了,这一段是内容对过,只是现在不对了。
模型的知识有一个截止时间,截止之后的事它一概不知,但它照样会用现在时回答。于是你会看到早已完成的事情被说成正在推进、换过一轮的管理层还是前任、已经实施的政策还停在草案版本。这些说法在半年前每一句都是对的。
流程上真正危险的不是它答错,而是它答错时的样子和答对时一模一样。尤其是当它本该联网查资料却没查到的时候——它有极强的倾向直接调用记忆里的旧知识作答,还照着完整格式吐一份报告出来。你以为拿到的是最新资料,其实是过期知识穿了一件新衣服。 这是整条流水线上最难被肉眼发现的失败,因为它没有任何异常信号:格式对、逻辑通、数字规整。
有意思的是,这个问题和量化回测里的时点数据其实是同一枚硬币的两面。回测里你防的是程序读到了当时还不存在的未来信息;用 AI 时你防的是它给你过去的信息却假装是现在。方向相反,病根都是信息的时间戳丢了,这层可以顺着 时点数据 一起读。
对策不复杂,但必须是硬性的:强制标注时间戳,并且强制声明这次到底查没查。
【时效闸门 · 放在任何一次联网检索型研究的开头和结尾】
开头声明(每次输出的第一段,不许省略):
本次研究的资料获取情况:
- [ ] 已成功获取实时资料,最新一条资料的日期是:____
- [ ] 未能获取实时资料,以下内容基于训练时的既有知识,**置信度降级**
两个都必须如实勾选。未能联网却按正常格式输出报告,视为本次输出作废。
正文强制规则:
1. 一切带时效性的陈述必须自带日期。包括但不限于:价格、市值、
人事任免、并购进展、监管政策状态、产品在售状态、股权结构。
写不出日期的,整句删除。
2. 一切状态类表述必须写清「截至哪一天为止是这个状态」。
禁止使用「目前」「现在」「近期」而不带具体日期。
3. 任何一条信息,如果它的日期早于最近一期财报的公布日,
必须额外标注「此信息可能已被更新的披露覆盖」。
结尾自查(逐条回答是/否):
- 本文里有没有任何一句带时效性但没有日期的话?有就指出来并删掉。
- 本文提到的人事、并购、政策,最后一次核对是什么时候?
- 如果本次未能联网,本文哪几条结论最可能已经过期?请点名列出。
闸门放在哪一步,比闸门本身更重要
上面四道闸门,你可能会想:全都攒到最后一起查不行吗?
不行,而且差别很大。
闸门必须放在错误还是孤立的时候。 一个抓错的营收数,在取数环节是一个孤立的错数,删掉就完了;等它走过跨期对比、走进趋势判断、被写进结论段之后,它已经和四五个衍生结论长在一起了,你要么全推倒重来,要么就得逐个去追它污染了哪些句子——后者几乎没人做得完。
这就是为什么我不主张「写完再审」。审的成本随着它走过的工序数量指数上升。 在第一个出口拦下来,成本接近于零。
还有一层:闸门放在中间,你才有机会中止。四道闸门里有三道的判定结果都可以是「停在这里」——数据重大差异就停、口径不明就停、术语找不到定义就停。走到末端你是停不下来的,因为报告已经写完了,人在心理上很难把一份成型的东西作废掉,最后往往是加一句免责了事。
关于核验动作具体嵌在哪个位置、由谁来执行,核验动作该嵌在流程的哪一步 那篇有更细的拆法;而闸门要真正管用,前提是前面几个角色的输入边界是分开的,这一点在 分角色 那篇里讲过。
最容易被省掉的不是闸门本身,是闸门的「停」这个选项。很多人把清单执行成了走过场:查一遍、标个记号、然后照样往下写。这样的闸门只增加工作量,不减少错误。一道不会导致中止的闸门,等于没有闸门。
一个不该省的前置动作:先给资料量打分
最后补一个动作,它排在四道工序之前,但很多人没意识到它的作用。
开工之前,先判断这次研究能拿到多少一手资料,并把这个判断写进报告开头。 我把它分成三档:
- 资料充裕:上市多年、覆盖密集、原始文件齐全。这一档的陷阱不是编造,是共识过强——模型输出的东西和市场普遍看法高度雷同,读起来很对,但不给你任何信息优势。这一档要额外做反面检验:聪明的钱为什么不买它?
- 资料适中:上市时间不长、覆盖有限、部分数据得靠推算。这一档最危险。 因为资料不多不少,模型会用「合理推测」把空缺补上,产出一份看起来完整、实则含有虚假确定性的报告。这一档的硬要求是:每一个推算出来的数字必须标注为推算值,并区分「有据推算」和「凭空填充」。
- 资料稀缺:几乎没有公开覆盖。这一档模型会因为查不到东西而过度保守,容易把「看不清」误判成「不好」。这一档不该硬凑报告,而该退回到最底层的几个问题:客户是谁、为什么付钱、有没有替代、复购靠什么驱动。
配套还有一份很短的自查,我每次都问自己一遍:我这种「看清楚了」的感觉,是来自这门生意本身,还是仅仅来自资料很多?如果把资料量砍掉一半,我的结论会变吗? 如果会变,那说明我的信心建立在信息量上,而不是建立在判断上——这两件事在心里的感受一模一样,但可靠性差着十万八千里。
还有一条同样重要的收尾纪律:报告结尾必须把「AI 分析的置信度」和「投资的确定性」分开写。 前者取决于资料量的多少,后者取决于生意本身的性质。一份资料齐全的报告可以有很高的分析置信度,同时对应一门你完全看不懂的生意。把这两件事混成一个「信心值」,是我见过最常见也最贵的错。
最后一道:定稿前的抽检
前面四道闸门都架在工序的出口上,管的是「这一步别出错」。但它们有个共同的软肋——闸门本身可能被跳过,也可能被敷衍着跑过去。你让模型自查,它回一句「已核对,无误」,你怎么知道它真核了?
所以定稿前还需要最后一道,性质和前四道完全不同:前四道是过程控制,这一道是抽样验收。它不重做研究,只随机抽几个点回查——如果抽到的都对,说明前面的闸门是真跑了;如果抽到一个对不上,说明闸门失效,那份报告整体都不可信,得退回去重来。
这就是质检抽样的逻辑:你不可能检查每一件产品,但你可以通过随机抽样判断整条产线有没有失控。
【交付前抽检 · 定稿前最后一道,抽到即回查,不许自评"无误"】
一、数字抽检
从报告里随机抽 5 个影响结论的数字(由你随机抽,不是我指定,也不要专挑好核的)。
逐个回到原始文件核对,输出四列:
数字 | 报告中的原话 | 原始出处(文件名 + 章节/页码) | 是否一致
无法定位原始出处的,直接标「无出处」。
二、引述抽检
列出报告里所有带引号的直接引述,逐条标注是否逐字来自原文。
不能确认逐字的,必须改成转述或删掉——不许保留引号。
三、时效抽检
列出所有含「目前」「最新」「现在」「近期」的陈述,逐条补上:
这个说法对应哪个时间点 | 信息来自哪一天的材料
补不出时间点的,标「时效未知」。
四、口径抽检
列出所有跨期对比,逐条标注两期的口径是否一致(会计准则、合并范围、
复权方式、统计区间、单位)。有任何一项不同就标「口径不可比」。
五、推算值抽检
列出报告里所有不是直接取自原始材料的数字,确认每一个都已标注为推算值,
并区分「有据推算」和「凭空填充」。
【定稿判据】
以上五项,只要出现任意一处「不一致」「无出处」「时效未知」「口径不可比」
或未标注的推算值 —— 判定为**不予定稿**,指出该退回四道闸门中的哪一道,
然后重跑那一道,而不是就地改掉这一处。
抽检全部通过,才允许输出「可定稿」。
注意最后那句判据的措辞:发现问题时不是就地改掉,而是退回对应的闸门重跑。原因很简单——抽样抽到一个错,意味着同类错误大概率还有没被抽到的。就地补那一个,等于只擦掉了你恰好看见的那块脏。
四道闸门全部通过,只意味着「材料没有和已知证据打架」,不意味着结论成立。逻辑对不对、因果建得住建不住、风险有没有被系统性低估,闸门一概管不了——那部分只能你自己来。任何分析都不构成投资建议,边界见 免责声明。
小结
- 错误在 AI 投研流水线上的分布是极不均匀的,而且高发位置可以提前点名,不必逐字通读全篇找错。
- 四道高发工序各有各的病根:取数(活儿性质是填空,空格子会被填满)、跨期对比(数都是真的但不该放同一行,五类口径差异加复权口径)、术语(用行业通用定义解释公司自定义指标,以及带引号的假原话)、时效性(过期知识穿新衣服,联网失败却照常输出)。
- 每道闸门都要能机械执行、并且能导致「停在这里」。需要临场判断的闸门迟早被省掉,不会中止的闸门等于没有。
- 闸门必须前移到错误还孤立的时候。审查成本随着错误走过的工序数量急剧上升。
- 开工前先给资料量分档:资料适中那一档最危险,因为推测会伪装成完整。收尾时把「分析置信度」和「投资确定性」分开写。
- 定稿前再加一道抽样验收,它验的不是内容,是前面那些闸门到底有没有被真跑过。抽到一处对不上,退回对应闸门重跑,而不是就地补那一处。
一句不带术语的话记住这篇:别等菜端上桌了才尝咸淡,在每一口锅出锅的时候就尝一次,尝出不对就直接倒掉,别硬着头皮往下做。
本文所述流程规则来自站长自用工作流定义文件的脱敏摘录,是文档层面的做法说明,不是运行结果。回 量化与 AI 投研概念库 看各概念的独立解释。
本文为投资教育整理,关键数据与结论请结合下列权威来源验证。