核对这件事,放到最后做就已经晚了
- 能判断一条核验动作该当场做、该卡在角色交接处做,还是可以攒着批量做
- 会在取数提示词里内嵌双源取值与误差分档,让每个数字自带「已核 / 存疑 / 不可用」标签
- 认出四种最常见的假放行,并知道闸门必须有拒绝权才算闸门
你跑完了一整套流程。四个角色各自出了材料,汇总也做完了,投资论文写到第三稿,你正准备把它归档。这时候你随手点开一份原始公告想确认个细节,发现有一个营收数字对不上——不是差一点,是差了一个口径。
接下来会发生什么,你心里大概有数。这个数字不是孤零零躺在那儿的,它被用来算过增速,增速被用来判断过「在加速还是在减速」,这个判断又被写进了论文的核心假设里,汇总那一步还拿它跟另一个角色的说法比对过。你要改的不是一个数,是一条链。
而如果这个数字在最开始取回来的那一分钟就被核过一遍,你要付出的成本是:一分钟。
这篇不讲核验清单本身——哪些数字必须回查、七问怎么问,AI 幻觉与事实核验 那篇已经给全了。这篇只回答一个位置问题:同样一份清单,动作该嵌在流程的哪一步。 位置错了,清单再全也救不了你,因为你核的时候,错误已经跑到别的地方去了。
先说一件装修上的事
家里装修,水管电线要走进墙里。规矩是封墙之前必须做打压测试——把水管加压,放在那儿看半小时,看压力掉不掉。
这件事有多枯燥你能想象,工期赶的时候特别想跳过。但没人敢跳过,因为一旦封了墙、贴了砖、装了柜子,再发现某个接头渗水,你要付的代价不是重新接一个接头,是砸墙、重铺、重贴、家具搬空。同一个毛病,在封墙前修是十块钱,在封墙后修是一万块。
装修里有个词叫「隐蔽工程」,说的就是这类活:做完就看不见了,看不见就没法查了。 所以验收必须发生在它被盖住的那一刻之前,一步都不能晚。
反过来,另一些事就不着急。墙漆的颜色有没有色差、踢脚线接缝齐不齐,这些等全屋做完了拉一张单子一次性验,完全来得及——因为它们是暴露在外面的,什么时候看都还在那儿,而且返工不牵连别的工序。
投研流程里的每一个事实,都要问同一个问题:它是隐蔽工程,还是墙面漆?
错一个数,到底会污染什么
在投资场景里,一个没核过的事实往下走,会以三种方式扩散,而且这三种一层比一层难收拾。
第一层是算术传导。 一个绝对值错了,所有由它除出来的东西跟着错。营收错了,增速错、利润率错、每股口径错、跟同行的比值错。你后来只改了那个绝对值,那些派生数字还留在文档里,于是你的材料进入一种最糟的状态——部分正确。全错反而容易发现,半对半错的东西读起来毫无异样。
第二层是判断传导。 这一层更贵。基于错数字,某个角色已经写下了「这门生意在变弱」这样的定性判断,汇总那一步又把它跟另一个角色的说法对过,标记成了一处「矛盾」,你甚至为了裁决这个矛盾去查了半天资料。原始数字一改,这处矛盾根本不存在,你查资料的那半天是白花的。错误的事实不光产生错误的结论,还会产生错误的工作量。
第三层是记忆传导,也是最长尾的一层。 数字进了你的笔记。三个月后你研究同一行业里另一家公司,顺手把它当基准引用了一次;半年后写年度复盘,又引用了一次。这个时候它已经和来源脱钩了,你不会再去想「这个数当初核过吗」,因为它在你自己的文档里,看起来像是你自己确认过的东西。一个没核过的数字一旦进了个人知识库,它的保质期是无限长的。
所以「等做完再统一核」这个念头,听上去是省事,实际是把成本从一分钟推到了三层扩散之后。核验的成本不随时间线性增长,是随传导的步数往上翻的。
有个很反直觉的地方:AI 参与之后,传导速度比人工时代快得多。人工做研究,一个数字从取回来到被写进结论,中间隔着好几天,你有很多次不经意的机会重新看到它。AI 流程里,这段路可能只有二十秒——取数、计算、成文一气呵成,你连中途瞥一眼的机会都没有。流程越自动,越需要把核验做成流程里的一个显式步骤,而不是指望它自然发生。
三类核验,三个位置
我自己的流程把核验切成三档,判定标准只有一条:这个事实往下走一步之后,还能不能被独立地改回来。
当场核:拿到就核,绝不过夜
这一档是隐蔽工程。特征是:它一旦被下游使用,就会被溶解进别的东西里,事后你没法只改它而不动别的。
我的取数规范里,把这一档写死成了取数动作本身的一部分——不是「取完之后再核」,是取数这个动作的定义里就包含双源。同一个关键财务指标,必须分别从两个互相独立的来源各取一次,然后当场算误差率,按误差大小分三档处理:误差很小的算一致,取其中一个数并把两个来源都标注上;误差中等的标记「存在差异」,两个数都写出来,并且说明可能的原因;误差大到某个阈值以上的,直接判定「存在重大差异,不得使用」,必须去翻原始的公司公告,在翻明白之前这个数不许进入下一步。
我自己用的分档大致是百分之一和百分之五这两条线(这是我按自己容忍度定的,不是什么行业标准,你完全可以按数据类型调,利润类指标可以更松,股本类指标该更严)。具体数字不重要,重要的是三档的结构:通过、带标记通过、硬拦。 一个只有「通过 / 不通过」两档的核验会逼你在灰色地带里瞎猜,而灰色地带恰恰是最常见的情况。
这里有个我一开始没想明白、后来觉得是整套规范里最值钱的认知:两个来源对不上,多数时候不是有人错了。
我把常见的差异原因单独列成了一张表,就为了提醒自己别急着抓错:会计准则口径不同(同一家公司按不同准则报出来的利润本来就是两个数)、汇率换算的时间点不同、财年定义不同(有的公司财年不在自然年年底结束)、合并范围不同(含不含少数股东权益)、某个平台还没更新最新一期。这五种情况里,两个数都是真的,差异有解释。
所以当场核的产出不是「对 / 错」,是三种状态之一:一致 / 差异有解释 / 差异不明。第三种才是要拦的。把「差异有解释」当成错误去抓,你会把大量时间浪费在证明两个正确的数字都正确上;把它当成一致直接放行,你又会在后面某个地方突然发现自己在拿两个口径的数字做减法。
同属这一档、必须当场做完的还有两件:
身份必须先锁死。 我的筛选流程里,第一步做完的最后一个动作是「对每家公司确定全称、代码、交易所」——注意这发生在取任何一个财务数字之前。原因很实际:同名近名的公司多得超乎想象,一家公司两地上市则会有两套价格和两种货币。身份没锁,后面取回来的每一个数都可能是别人家的,而且它们全都是真数据,交叉验证一样能对上。这是唯一一种核验通过了但结论全错的失败模式,只能在入口处堵。
口径必须开工前统一。 涉及历史价格的分析,复权方式(把分红送股的影响还原回历史价格的处理方式)必须在开始之前定死,而且同一份分析里不许混用。前复权是以最新价为基准回调历史价,用来看历史股价位置和历史估值分位;后复权是以上市首日为基准往前推,用来算长期总回报;不复权是实际成交价,只在看「此刻」的快照时用。这三个口径混在一份材料里,你的历史涨幅、历史估值分位会同时失真,而且失真得很自然——图还是那个形状,数还是那个量级,只是每个数都不对。等你察觉的时候,所有基于历史序列的判断都要重来。
判断一件事是不是属于这一档,有个很粗暴但很好用的标志:如果它错了,我要改的不止是它本身,那它就是当场核。
关口核:角色交接的地方设闸
第二档卡在流程的接缝上。多角色投研的每一次交接——取数完成交给分析角色、分析材料交给汇总角色、汇总结果交给投资论文——都是一个天然的检查点,因为交接是错误从一个上下文跑进另一个上下文的时刻。跑过去之后,下游那个角色不知道上游数据的来历,它只会把收到的东西当既定事实用。
关口核和当场核的区别在于检查对象:当场核检查单个事实,关口核检查这批材料够不够格往下走。它问的是格式化的几个问题——该标注的来源标注了吗?「不可得」的项有没有被偷偷填上?所有比值是不是都能从这份材料里给出的绝对值复算出来?引号里的原话有没有原始出处?
我在去劣筛选流程里给自己写死了一条,字面意思就是关口的作用:某项数据拿不到,就标「数据不足」,不许直接判定通过或不通过。 这条看着平淡,实际拦住的是整套流程里最隐蔽的一种崩坏——缺失被静默转换成了结论。一家公司因为查不到某个指标而被判「通过」,它就混进了下一轮深度研究,而你以为它是七项全过的;反过来被判「不通过」,你就永远不会再看它一眼,而它可能只是数据难找。缺失就是缺失,它必须以「缺失」这个身份穿过关口,不能变成别的东西。
关口还有一个作用是限制返工半径。如果每个交接处都有闸,那么任何一个错误最多只能污染一个环节,你回滚一步就够了。没有闸的流程,一个错误可以直穿到底,回滚就是全推倒。
闸门必须有拒绝权,否则它不是闸门,是仪式。我见过自己最容易犯的错是:检查出问题了,心里想「这个不影响大方向」,然后照样放行。判据很简单——如果一个闸门从来没有拦下过任何东西,它一定是失效的,不是流程太完美了。 任何形式的分析都不构成投资建议,相关边界见 免责声明。
批量核:能机械判定的,攒着一次做
第三档是墙面漆。特征是:不看上下文也能判定,而且改它不牵连别的。
典型的有这几类。所有比值的算术自洽——增速、利润率、各种倍数,能不能从材料里给出的绝对值直接复算出来,这是纯机械的,攒到一批用同一套办法过一遍最省事。格式合规——每个数字有没有报告期、有没有单位、有没有货币。内部一致性——同一份材料里,前面说的市值和后面说的股价乘股本,粗算对不对得上;两年的绝对值和给出的增速对不对得上。
这些放到最后批量做没有问题,因为它们不会在传导中被溶解。一个比值算错了,改的时候只改这个比值,上下游不受影响。
但有一类东西看着像批量核,其实有死线:引号里的原话。 回原始文件搜一遍这个动作本身是机械的,可以攒着做;可是它必须在这句话被写进投资论文之前做完。一旦某句管理层的表态成了论文的支撑证据,你后来发现它是编的,要推翻的是整段论证。所以它的正确位置是「写论文这个关口之前的最后一次批量」——攒可以,但攒不过那道闸。
同理,凡是要被用来做判断的定性引述,都在这条死线以内。凡是只出现在结论里、不再往下传的数字,可以真的放到最后。
三问定档
拿不准一条核验该放哪儿,按顺序问三句。
第一问:它错了,会不会被下游拿去做算术? 会,就是当场核。绝对值、股本、汇率、报告期,都属于这类。它们是别人的分母。
第二问:它错了,改起来要不要推翻已经写下的判断? 要,就是当场核或关口核。身份、口径、时间点属于这类——不是因为它们参与计算,是因为基于它们的一整套解释会失效。
第三问:判定它需不需要看上下文? 不需要看、纯机械、改了不牵连别的,才可以进批量档。
三问都过一遍你会发现,能进批量档的东西比想象中少,而且大多是「查对不对」而不是「查是不是真的」。这个结论本身就有用:真假问题必须早核,对错问题可以晚核。 因为真假是地基,对错是墙面。
分完档紧接着就是另一个问题:清单列出来一百多条,你手上只有一个下午。站内的 AI 输出核验清单就是替你做这个取舍的——把 AI 写的那段整段粘进去数一遍有多少数字、多少处引号,把必须全查的贵条目单独标出来,再按你能给出的时间算出剩下的该抽多少条、按什么间隔抽;时间连贵条目都覆盖不了的时候它会直说。
把闸门画出来
下面这张图是我实际跑的顺序,你可以照着摆自己的。方括号是流程步骤,带 ✋ 的横线是闸门,闸门有拒绝权——不过关的东西退回上一步,不许往下走。
[输入:一批候选公司]
│
✋ 闸门 0 · 身份锁定(当场核)
全称 / 代码 / 交易所 三件套齐了吗?
同名近名排除了吗?两地上市的选了哪个市场?
✗ → 退回,身份不明的一律不进流程
│
[取数:硬指标筛选所需的财务数据]
│ ← 双源取值 + 误差分档,内嵌在取数动作里
│ 一致 / 差异有解释 / 差异不明
✋ 闸门 1 · 数据可用性(关口核)
有「差异不明」的项吗?→ 查原始公告,查不明就标不可用
有拿不到的项吗?→ 标「数据不足」,禁止转成通过/不通过
✗ → 退回取数,不许带着未定状态往下走
│
[去劣筛选:逐条硬指标检验 + 豁免判定]
│
✋ 闸门 2 · 口径统一(当场核,一次性)
复权方式定死了吗?同一份分析里混用了吗?
报告期、货币、会计准则在整批里一致吗?
✗ → 退回,口径不统一时后面所有对比无意义
│
[分角色研究:四路独立跑,彼此不可见]
│
✋ 闸门 3 · 交接质检(关口核,每一路各过一次)
每个判断有来源吗?「未查到」被填空了吗?
比值能从给出的绝对值复算吗?
✗ → 退回该角色重跑,不要在汇总时替它补
│
[汇总:找共识与矛盾]
│
✋ 闸门 4 · 原话回查(批量核的死线)
所有引号里的表述,回原始文件搜过了吗?
所有具体日期、时点,核过了吗?
✗ → 删掉该引述,不许保留「大意是」
│
[投资论文成文]
│
✋ 闸门 5 · 结题批量(批量核)
算术自洽、格式合规、内部交叉粗算
│
[归档进个人知识库]
注意闸门 4 的位置:它在成文之前,不在成文之后。这是整张图里唯一一个我改过位置的闸门——最早我把原话回查放在最后,结果每次都要因为一句引述推翻一整段论证。往前挪一步,代价立刻降了一个数量级。
关于角色怎么切、每一路该看到什么,见 做投研,别让 AI 一个提示词问到底;为什么必须让 AI 读原文而不是读转述,见 一手资料纪律。
三份可以直接粘贴的提示词
一 · 把核验内嵌进取数角色
这份的要点是:核验不是取数之后的一个步骤,是取数这个动作的定义。
你负责为【公司】取回下列财务指标:【指标清单】。
你的输出不是数字,是「带核验状态的数字」。只给数字不给状态,本次输出作废。
取数规则:
1. 开工前先锁定身份:公司全称、证券代码、交易所。三者缺一不许往下取。
如存在同名/近名公司或两地上市,明确写出你选的是哪一个、为什么。
2. 每个指标分别从两个互相独立的公开来源各取一次。
两个来源必须是彼此不引用的,不能一个是另一个的转载。
3. 当场计算两个来源的相对误差,按三档定状态:
- 一致:误差小于你在下方声明的阈值 → 状态「一致」
- 差异有解释:误差中等,且你能指出具体原因 → 状态「差异有解释」,
原因只能在这几类里选:会计准则口径 / 汇率换算时点 / 财年定义 /
合并范围 / 数据更新滞后。选不出来的不算「有解释」。
- 差异不明:误差大,或有差异但说不出原因 → 状态「不可用」
4. 阈值由我指定:【填你的两个阈值,如 1% 与 5%】。这是我按自己容忍度定的,
不是行业标准;你只需照此执行,不要自行调整。
输出格式(每个指标一段,不许省略任何一行):
指标名|采用值|报告期|单位与货币
来源A:数值 / 来源名 / 该来源标注的报告期
来源B:数值 / 来源名 / 该来源标注的报告期
误差:x.x%
状态:一致 / 差异有解释(原因:…)/ 不可用(原因:…)
硬性纪律:
- 只有一个来源能取到的,状态直接写「单源,待核」,不许当成一致。
- 完全取不到的,写「不可得」。禁止用同行数据、行业均值或推测填空。
- 禁止输出任何由这些数字派生的比值、增速、结论。你这一步只交原料。
最后那条禁令很关键:取数角色一旦开始算比值,它就顺手把未核的数用掉了。 把计算挪到下一步去,闸门才有位置可站。
二 · 关口质检提示词
用法是把上一步的完整输出粘进来,让一个全新会话去挑毛病。别让写材料的那个角色自己检查自己——它会倾向于确认自己刚写的东西。
下面是一份投研材料。你的唯一职责是判断它够不够格进入下一步,
不是评价它的结论好不好。结论对错完全不归你管,出现即为越界。
【粘贴材料】
逐条检查,每条给「通过 / 不通过」,不通过的必须指出具体是哪一句:
1. 身份:全文提到的标的,是否始终使用同一个规范身份(全称+代码+交易所)?
中途换过简称、漏过交易所后缀的,算不通过。
2. 溯源:每个数字是否带有来源、报告期、单位与货币?缺任意一项算不通过。
3. 口径:涉及历史价格的部分,复权方式是否明确且全篇一致?
涉及利润的部分,会计准则口径是否一致?
4. 缺失:材料里是否存在「本该有数据但被跳过」的地方?
凡是原始要求里列了、材料里既没给数也没写「不可得」的,算不通过。
5. 静默转换:是否有任何一处,把「数据不足」当成了通过或不通过的依据?
这一条最重要,逐句找。
6. 复算:材料里出现的每一个比值/增速,能否从材料自身给出的绝对值复算出来?
复算不出来(缺分母、缺基期)的,算不通过。
7. 越界:材料里有没有出现不属于该角色职责的内容(如取数角色给了估值判断)?
输出:一张检查表 + 一句总判定(放行 / 退回)。
退回时列出需要上游补的具体项,不要替它补,不要自己去查数据填上。
三 · 结题前的批量核
这份放在成文之后、归档之前跑,只做机械检查。
下面是一份已经成文的投研材料。做一遍机械核验,不做任何内容评价。
【粘贴材料】
一、算术自洽:把全文所有比值、增速、倍数抠出来,
用材料自身给出的绝对值逐个复算,列出对不上的。
复算需要的数字材料里没有的,单独列成「无法复算」一类。
二、内部交叉:至少做这三组粗算,对不上就报出来——
市值 与 股价×股本;增速 与 两期绝对值;分部收入之和 与 总收入。
三、格式合规:列出所有缺报告期、缺单位、缺货币的数字。
四、引述清单:把全文所有引号里的表述抠出来列成表,
注明每一条声称的出处。不要判断真假(那需要我回原文核),
只把「没写出处」和「出处只写到公司层面、没具体到某份文件」的挑出来。
五、时点清单:把全文所有具体日期、时间点列出来,注明它支撑了哪个结论。
输出五张清单。禁止修改原文,禁止补全任何缺失项,
禁止在发现问题时顺手给出「建议改为」。你只负责指出。
三份提示词里都出现了同一条禁令:检查者不许自己动手补。 一旦允许它补,你就失去了「这份材料有多少窟窿」这个信息——窟窿被填上了,而填料的来源不明。检查和修补必须是两个动作,由两个角色在两个时刻做。
四种假放行
真正让流程失效的通常不是没做核验,是做了核验但放行了。这四种我自己都犯过。
攒到最后一次核。 本篇的主题就是它。它诱人的地方在于感觉上更高效——集中处理嘛。但集中处理的前提是错误不会在中途扩散,而投研流程里它一定会扩散。
让产出者自己核。 同一个会话里,先让它写材料,再让它「检查一下上面有没有问题」。它会给你一份很像样的自检报告,然后告诉你基本没问题。这不是它偷懒,是自我一致性使然——它不会反驳自己刚说过的话。检查必须换一个不知道上文的会话来做。
把「未核实」读成「没问题」。 这是最普遍的一种。材料里写着「未查到」,你扫过去,脑子自动理解成「这一项没什么异常」。这两件事差得很远。对策是让未核实的项在格式上刺眼——标记要显眼,而且放行判定必须逐项点名,不许用一句「整体没什么大问题」概括。
闸门发现了问题,但你觉得不影响大方向。 有时候确实不影响,但你在那一刻其实并不知道。判断「影不影响」需要的正是你还没做完的那部分工作。可行的折中是:允许带着已知问题往下走,但必须把这个问题原样写进材料,让下游角色和未来的自己都能看见它。放行可以,隐身不行。
关于哪些环节最容易被 AI 带偏,投研流程里最容易翻车的几步 讲得更细;口径和时间戳这件事往量化那边延伸,就是 时点数据 那套问题的另一面。
小结
- 核验成本不随时间线性增长,随传导步数往上翻。一个错数字会依次污染算术、判断、以及你的长期笔记。
- 按「往下走一步之后还能不能被独立改回来」分三档:当场核(身份、口径、绝对值双源)、关口核(每次角色交接的接缝)、批量核(不看上下文也能判、改了不牵连别的)。
- 双源对不上不等于有人错。产出应该是三态:一致 / 差异有解释 / 差异不明。只有第三种要拦。
- 缺失必须以「缺失」的身份穿过关口,禁止被静默转换成通过或不通过。
- 引号里的原话可以攒着批量查,但死线是「写进投资论文之前」,过了这条线代价翻一个数量级。
- 检查和修补是两个动作,由两个不共享上文的角色在两个时刻做。
- 从来没拦下过东西的闸门,是失效的闸门,不是完美的流程。
一句话记住这篇:该趁热做的事别攒着,墙封上以后再想起来检查水管,砸的是你自己的墙。
本文所述流程与规则来自我自用的工作流定义文件,已做脱敏处理,是方法说明而非收益承诺。本站内容为投资教育,不构成任何投资建议。
本文为投资教育整理,关键数据与结论请结合下列权威来源验证。