← 返回教程库

让它吐表格,别让它写散文

最后更新 2026-08-19
📚 量化与 AI 投研 📖 AI 投研实操 ⏱ 约 14 分钟 R1 · 低风险
你将学到
  • 自己设计一张投研用的输出表:说得出每一列为什么存在,以及缺值、来源、归因分别该怎么写
  • 用「表格让缺失变得可见」这一条,把 AI 输出里被散文盖住的空洞和编造挑出来
  • 直接抄走两份提示词模板,一份做多家公司横向对比,一份做单篇长材料摘录

你把三家做同一门生意的公司丢给 AI,让它帮你比一比谁的账更干净。它回了一千二百字,读起来很舒服:分了三段,每段一家,用词讲究,还带了转折和评价。你读完,觉得挺有道理,然后想把结论记到本子上——这时候你卡住了。

因为你发现自己说不出,它到底有没有回答你的问题。第二家公司的应收账款周转天数(应收账款就是货已经发出去、钱还没收回来的那部分;周转天数就是这笔钱平均多久才收得回来),它好像提到了,又好像只是说了句「回款效率相对偏弱」。第三家干脆没提。可它那段写得一样长、一样流畅,你根本没觉得少了什么。

这就是散文式输出最要命的地方:它可以在不说的情况下,让你以为它说了。

先说一件报销的事

想象你带团队出差回来,让一个同事汇报花销。

他跟你说:「这趟花得不算多,主要是机票和住宿,机票买得挺早还比较划算,住宿那边因为展会期间涨价了,比预期高一点,另外还有些零碎的车费餐费。」

这段话你挑不出错。但你要真拿去报账,一分钱都报不了。

换个方式:你给他一张表,表头是你定的——日期、事由、类别、金额、发票号。他填完交给你,你扫一眼就知道三件事:哪天没发票、哪笔金额空着、哪一行的事由写得含糊。注意这三件事在刚才那段话里是完全隐形的,在表里是自己跳出来的。

差别不在他诚不诚实,而在格式给不给他含糊的空间。一段话里,「还有些零碎的车费餐费」是一句合格的话;一张表里,这句话没有对应的格子可填,他要么把每一笔拆出来,要么就得在某一格写下「记不清了」。

表格的本事,不是让人说得更清楚,而是让人没法含糊。

放到投研里,这件事意味着什么

回到你那三家公司。散文式输出至少能藏三样东西,而这三样每一样都够坑你一次。

第一样,藏缺失。 材料里没有的数据,它可以绕过去不提。你读的时候不会觉得缺,因为你不知道本该有这一项。上面那个应收账款周转天数就是典型:它给了一句定性描述,占住了这个位置,让你以为这一格已经填过了。

第二样,藏来源。 一段话里,「据年报披露」「市场普遍认为」「根据行业数据」这些前缀成本极低,说了等于没说。你事后想翻回原文核对,才发现根本不知道该翻哪一页。

第三样,藏推断。 这一样最隐蔽。「毛利率下滑主要由于原材料涨价」——前半句是数据,后半句是解释。如果原文里没有这句解释,那它就是 AI 自己接上去的一句听起来很顺的话。可它俩挤在同一个句子里,你读的时候会把整句当成一件事接收。关于「听起来很顺但根本不存在」的东西为什么这么难被发现,编造的财务数字长什么样,以及你为什么发现不了 里拆得更细。

对你的决策来说,后果很具体:你以为自己在比较三家公司,实际上你在比较三段文风相近的文字。 决策依据的完整性、可追溯性、事实与推断的边界,全都在「读起来挺顺」这四个字里被抹平了。

而换成一张列已经定死的表,这三样藏不住:缺的那一格是空的,来源那一列写不出具体位置就是写不出,归因被单独拉成一列并且要求标注是原文写的还是它自己想的。你不需要变聪明,你只需要换个格式。

一张能用的表,列是怎么定死的

「让它输出表格」这句话本身不解决问题。你随口说「整理成表格」,它会自己发挥出一张表——而它自己挑的列,多半是它有把握填满的那几列。缺的部分依然会被绕过去,只不过换了个更像样的皮。

真正起作用的是你先把列写死,再让它填。下面四条,是我认为决定一张表有没有用的地方。

一格一个事实,别让一格装两件事

一格里只能放一个可以被单独核对的东西。数字是数字,口径是口径,解释是解释,各占各的列。

最常被合并的就是「数字 + 归因」。你要把它拆成两列:一列放数值,一列放「变动原因」,并且在原因这一列后面再加一列,只填两个值之一——原文表述,或者模型推断。这一列看着多余,实际上是整张表最值钱的地方:它逼着 AI 在每一行给自己的解释盖个章。凡是盖了「模型推断」的格子,你就知道这句话不能当事实用。

同样要拆开的还有「数值」和「口径」。两家公司都写「营业成本」,含义未必一样;同一家公司换了会计准则,前后年份也未必可比。口径(口径就是这个数字是按什么范围、什么标准算出来的)单独一列,比藏在括注里安全得多。

缺的必须有一种固定写法

这是全篇最实用的一条。你要在提示词里规定:任何一格都不许空着,也不许自己填。

给它三种写法,只能三选一:

  • 原文未披露——我在指定材料里找过,确实没有
  • 未取数——这一项我这次没去查
  • 口径不同,无法直接比——数是有的,但和同列其他行不是一回事

为什么非要分这三种?因为它们对你的下一步动作要求完全不同。「原文未披露」意味着你得换个材料源,或者接受这里就是有个洞;「未取数」意味着补一次工就有了;「口径不同」意味着你要么统一口径重算,要么这一列的横向对比整个作废。三种情况混成一个空格,你就没法安排下一步。

同时要禁掉三种行为:不许留白(留白你分不清是没查还是漏填)、不许用「约」「预计」「大致」这类模糊词填数不许拿同行数据或常识数值补位。最后这一条尤其要写死——用行业惯例的数字去填一家公司的空格,是幻觉里非常常见的一种形态(幻觉指的是模型生成了流畅但与事实不符的内容,常见形态在概念库的 AI 幻觉的常见形态与核验清单 里有整理)。

来源列要写到「能翻回去」

「来源:年报」这四个字,和没写一样。

判据只有一条:你拿着这一格的来源,能不能在两分钟内翻到那句原文。 达标的写法长这样——文件名 + 章节或报表名 + 页码或表号,能引一句不超过一行的原文更好。不达标的写法是「公司公告」「财报数据」「公开信息」。

这一列还有个副作用,是我觉得比它本身用途更大的:当一格的数字是编的,它的来源列往往写不具体。 因为编数字很容易,编一个能对得上的位置很难。你不需要逐格核对,先扫一遍来源列,把写得含糊的那几格挑出来重点查,效率高得多。核验动作该卡在流程的哪一步,核对这件事,放到最后做就已经晚了 讲得比这里细。

行的粒度先说清

一行代表什么,必须提前定死。常见的两种:一行一个主体(一家公司),或者一行一个主体加一个期间(某公司某一年)。

粒度不定死,你会拿到「近三年应收账款持续上升」塞在一个格子里这种东西——它把三个数压成了一句趋势描述,而趋势描述是不能核对的。规定「一行一个期间」,它就必须给出三个具体数值,你也才有机会发现其中某一个是错的。

还有一条相关的:表里不放结论列。 别设「是否值得关注」「风险等级」这种列。一旦有了这样的列,AI 会先想好结论再去挑支持结论的事实,整张表就退化成了带格子的散文。表只负责装事实,结论是你看完表以后自己下的。

结构化本身就是一种防幻觉手段

前面几条都是操作。这一节讲为什么它们管用,因为想明白这个,你以后能自己设计表,而不是只会抄。

散文和表格的根本差别在于:散文里,「没有这个信息」和「没提这个信息」长得一模一样;表格里,这两者被强制区分开了。

一段话不提某项数据,读者感知不到任何异常——文本是连续的,缺口不留痕迹。而一张定死了列的表,每一行每一列的交叉点都必须有个东西。你规定了不许留白、规定了三种缺值写法,那这个交叉点上就一定会出现一个可见的信号:要么是数,要么是「原文未披露」。

这就是它的全部魔力:它把「没有」从不可见变成可见。

顺着这个思路,还有两个能白捡的检查点。

一是可加总的必须让它加总。分季度的数据要求它附上全年合计,分板块的收入要求它附上总收入,然后你自己拿计算器加一遍看对不对。编造的数字之间通常不满足加总关系,因为它们是一个一个「像那么回事」地生成出来的,不是从一套真账里抄出来的。这一招几乎不花时间,命中率却不低。

二是让它在表下单独列一份「不确定清单」,格式是「第几行第几列 + 为什么不确定」。注意别让它给每格打置信分数,那种分数是它自己编的,越看越像真的。让它点名具体格子就不一样了——点了名的你去查,没点名却出错的,下次你就知道这个信号不能全信。

严肃的工程实践其实早就在这么干。开源 AI 投研项目里那类校验模块的思路是一致的:把报告里的数字抽出来,逐个跟原始数据比对,比不上就不放行;算术单独交给一个只接收数字、自己不取数的工具去做。这些设计的共同前提是——先让信息变成一个个能被单独指认的格子,才谈得上校验。 一段行云流水的分析,是没有校验接口的。

🚧 避坑

坑:拿到一张填得满满当当的漂亮表格,就默认它比散文可信。 表格只是把问题暴露出来,不会自动把问题解决掉。填得越满越要警惕:一张全填满、来源全写「年报」、一个「原文未披露」都没有的表,比一张有五处缺失但来源具体的表更可疑。正常的调研必然有查不到的东西。

两份可以直接粘贴的模板

下面两份改改就能用。方括号里的部分换成你自己的。

模板一,多家公司横向对比。 适合初筛阶段,把几家放一起看结构差异。

你现在做资料整理,不做投资判断,不给结论,不做推荐。

对象:[公司A]、[公司B]、[公司C]
材料:仅限我提供的以下文件,不得使用文件之外的任何信息
[粘贴文件清单]

输出一张 Markdown 表格,行的粒度是「一家公司 + 一个会计年度」,
共 [3] 家 × [3] 个年度 = [9] 行,一行都不能少。

列固定为以下八列,顺序不许改,不许增删:
公司 | 年度 | 指标名 | 数值 | 单位与口径 | 来源位置 | 变动原因 | 原因性质

填写规则:
1. 一格只放一件事,不许把数值和解释写在同一格。
2. 「数值」列只允许出现数字或三种缺值写法之一:
   原文未披露 / 未取数 / 口径不同,无法直接比。
   禁止留空,禁止用「约」「大致」「预计」,
   禁止用同行数据或行业常识补位。
3. 「来源位置」必须写到我能两分钟内翻到的程度:
   文件名 + 报表或章节名 + 页码/表号。写「年报」「公开资料」视为不合格。
4. 「原因性质」只能填「原文表述」或「模型推断」二选一。
   凡是材料里没有原话支撑的解释,一律填「模型推断」。
5. 不要输出任何评价性列,不要在表内外写谁更好。

表格下面另起一段,列出「不确定清单」:
格式为「第X行·第Y列 —— 不确定的具体原因」。没有就写「无」。

模板二,单篇长材料摘录。 适合把一份几百页的文件压成能用的东西,配合几百页的材料怎么喂给 AI 里的分段方法用。

你现在做摘录,不做总结,不做评价。

材料:[文件名],本次只处理第 [X] 到第 [Y] 页/第 [N] 章。
任务:找出其中所有关于 [应收账款 / 关联交易 / 存货减值] 的表述。

输出 Markdown 表格,一行一处表述,列固定为六列:
序号 | 原文摘录(不超过两行,逐字引用,不许改写)| 所在位置 | 涉及数值 | 我的理解 | 是否需要人工复核

规则:
1. 「原文摘录」必须逐字,不许概括、不许润色。改写视为不合格。
2. 「所在位置」精确到页码或小节编号。
3. 「涉及数值」没有就写「本处无数值」。
4. 「我的理解」是你的话,允许出错,但不许写进前四列。
5. 只摘录本次指定范围内的内容。范围外的一律不写,
   哪怕你知道后面有更相关的内容,也只回复「本范围内未见相关表述」。
6. 如果本范围内确实一处都没有,就只输出这一句,不要凑数。

第二份里的第 6 条值得单独说一句:允许它交白卷,它才不会编。 你要是不给这条出路,它面对一段没有相关内容的材料,很可能会去别处找点像的东西填进来。这条规则的作用不是客气,是给它一个比编造更省力的选项。

更多场景的模板在 投研提示词模板库 里,那篇是按流程环节组织的,这篇是按输出格式组织的,可以搭着用。

拿到表之后,第一个动作做什么

别从第一行开始读。先竖着扫两列。

第一列扫来源位置:把写得不具体的挑出来。第二列扫缺值:数一数「原文未披露」有几处,分布在哪。这两下花不了一分钟,但基本能定位出这张表里最不牢靠的部分在哪儿。

然后才是横着看内容。而且看的时候记住一件事:表里的每一格都还只是待核对的草稿。 结构化解决的是「可核对」,不是「已核对」。这两个词差着一整道工序。

什么时候别硬上表格

也不是所有东西都该塞进表里。

商业逻辑的推演、一件事的来龙去脉、几个因素之间怎么互相影响——这些东西天生是链条形的,硬拆成格子会把逻辑关系切断,你拿到一堆碎片反而更难判断。让 AI 当抬杠对象、帮你找反面理由的时候,也不必要求表格,那个环节你要的是发散。

一个简单的分界:你打算事后逐条核对的,用表;你打算读一遍受点启发的,随它写。 前者是材料,后者是思路。材料必须可核对,思路不用。

分角色让不同环节各产各的格式,做投研,别让 AI 一个提示词问到底 里那套分工可以直接对上:取数和摘录的角色一律交表,唱反调的角色随便说。

⚠️ 风险提示

表格能让缺失和来源变可见,但它不能验证内容的真假——一格数字写得工工整整、来源写到了页码,依然可能是错的甚至是编的,最终仍需你回到原始文件核对。本站内容只讲方法与原理,不构成任何投资建议,完整边界见 免责声明

小结

  • 散文式输出能藏三样东西:藏缺失(没提你看不出来)、藏来源(「据年报」等于没说)、藏推断(解释和数据挤在一句里)。换成定死列的表,这三样藏不住。
  • 列必须你先定死再让它填。它自己设计的列,是它有把握填满的那几列。
  • 四条设计要点:一格一个事实(数值、口径、归因分列,归因后面再加一列标「原文表述/模型推断」);缺值只许三选一(原文未披露/未取数/口径不同)且禁止留白与模糊词;来源写到两分钟能翻回去;行的粒度提前定死,且表里不设结论列
  • 结构化之所以防幻觉,是因为它把「没有」从不可见变成可见——散文里「没这个信息」和「没提这个信息」长得一样,表里必须二选一地写出来。
  • 两个白捡的检查点:可加总的让它加总后自己核一遍;让它在表下点名具体格子的不确定处,而不是给每格打置信分。
  • 拿到表先竖着扫来源列和缺值列,一分钟定位最不牢靠的部分。表格解决的是「可核对」,不是「已核对」。
  • 推演逻辑、找反面理由这类发散环节不必上表;打算事后逐条核对的才上表。

一句话总结:让它写一段话,它可以什么都没说而你察觉不到;让它填一张你画好格子的表,缺的那一格自己会跳出来找你。

内容有错、看不懂、或想看下一篇?告诉我们 →

本文为投资教育整理,不构成任何投资建议;不荐个股/基金、不预测点位、不承诺收益。关键数据与结论请结合权威来源自行验证,并见风险免责声明