🤖 第七章 应用实战:财报分析智能体
📄 一句话概括

7.2.1 的任务描述决定它【做什么】,本节配置的提示词决定它【做到什么程度、什么不许做】。本节的核心只有一条:让它的每一句话都能指回原文的一个位置。这条做到了,后面的核验才可能落到"句"这一级;做不到,你只能整篇信或整篇不信。

📝 本节和前面几节的关系

7.2.1 给的是任务卡(对象/口径/动作/出口),本节给的是要求书(做到什么程度、什么不能做)——两层要求,缺一层都会漏。 与 1.2.2【提示词设计】对照:那一节讲四要素(角色/任务/约束/输出格式),是通用底子;本节在它之上加了三样专属于财报分析的:来源标注、禁止推断、不知道时的退路。 与 6.3.1 呼应:那一节写过【所有字段值必须来自图像理解插件的原始输出,禁止虚构、推断、补全】——同一句话,本章要再写一遍,因为这里的输出同样会被人当事实用。

一、任务描述和提示词,是两层要求

很多人把这两件事混在一起,写一段话就发出去了。分清之后,写起来会顺很多:

任务描述(7.2.1) 提示词(本节)
回答的问题 我想要什么 我要的东西必须符合什么
典型内容 对象、口径、动作、出口 输出结构、来源要求、禁止项、退路
漏了会怎样 跑偏(干了别的活) 跑得挺像,但不能用(没来源、夹私货)

一句话:任务描述管方向,提示词管成色。

二、七要素清单

这是本节的主表。前五项决定结果"能不能用",后两项决定结果"能不能信"——而最容易漏的恰好是后两项。

# 要素 为什么必须有 漏了的典型后果
1 角色与任务 定住它的身份与范围 顺手给你一堆没要的东西
2 对象与期间 定住分析的是哪一份 混用不同期数据
3 输出结构 定住结果的形状 每次格式都不一样,没法比
4 来源标注 让每句话可回原文 结果没法核
5 单位声明 避免一万倍的差 数字对不上而你不知为何
6 禁止项 堵住它"顺手推理" 结论比原文走得远
7 不知道时怎么办 给它一个停下来的地方 没写的东西它替你编
📝 第 7 项最容易被忽略,却最治本

前六项都是"要它做什么",只有第 7 项是"要它在什么时候停"。 不给退路,它就会往前走:年报没披露的东西,它会用行业常识补上,补得和真的一样。 写法就一句:年报里没披露的,写【未披露】,不要用行业数据或常识代替。

三、优先级最高的那一条:来源标注

七项里,第 4 项值得单独展开,因为它是本节全部价值的落点。

要怎么写:不是"请标注来源",而是给一个具体到能照抄的格式:

要求:每个数字后面用括号标注来源页码,例如(P42)。
      无法确定页码的,写【页码待核】,不要猜一个。

为什么格式要具体:因为模糊的要求会得到模糊的执行。你写"请注明来源",它可能给你"来源于年报",——那等于没有。

为什么还要加"不要猜":因为页码越具体越像真的。它编一个"(P142)",从字面上看比"来源于年报"更可信——这是本章最阴的一条:编出来的页码,比没有页码更危险(7.2.4 的 Demo 里有一条就是这样被打回的)。

四、两条退路,一句禁止

把第 6、7 项写成可以照抄的一段话:

① 只写年报里写明的内容,不许推断、不许补全、不许给出任何投资建议;
② 年报里没披露的,写【未披露】,不要用行业数据或常识代替;
③ 每条结论后面标注来源页码;页码无法确定的,写【页码待核】。

这三句是本节最该背下来的三句。理由各不相同:

⚠️ 一句话提醒

这三句不是写给 AI 的客气话,是写给自己的核对清单。 你的核对工作量 = 它的输出量 × 其中"没有来源"的比例。把第 ③ 句写进去,就是把这个比例压到接近 0。

五、一份可以直接改的示范提示词

把前四节的东西合起来,就是下面这段话。它比"帮我分析一下这份财报"长约 12 倍——这 12 倍买的不是文采,是可核验性。

你是财报分析助手。读取我上传的 2025 年报,抽取利润表、资产负债表、
现金流量表的核心科目,做成【本期/上年同期/变动率】三列的表。
再算毛利率、净利率、经营现金流与净利之比、资产负债率四个比率。
要求:
  ① 每个数字后面用括号标注来源页码,例如(P42);
  ② 所有金额单位按年报原文,并在表头注明是元还是万元;
  ③ 只写年报里写明的内容,不许推断、不许补全、不许给任何投资建议;
  ④ 年报里没披露的,写【未披露】,不要用行业数据代替。
最后把结果整理成一个可以分享的网页。

注意它的结构:先说做什么(前三句)→ 再说必须符合什么(四条要求)→ 最后说出口(整理成网页)。这个顺序和人对人交代工作是同一种顺序。

六、⚠️ 2026 现状:这一侧的三件事

现状一:通用模型的【正面表述偏差】,要靠提示词对抗

有研究记录:通用大模型做财务文本分析时,有偏正面的表述倾向。这不是 bug,是它训练出来的默认站位(说通顺、说得体、说积极)。

对抗办法就在上面的第 ①/② 句:不许推断、未披露就写未披露——把"评价"这个动作从它的输出里剔出去,只留下"陈述"。你要的是一份可核对的材料,不是一份评价。

现状二:长文档分析,关键信息容易被"埋"

年报上百页,模型对超长文档的处理是按块取用的。这意味着:它没提到某个科目,不代表那个科目不存在,可能只是"这一块没取到"。

所以提示词里最好把"必查项"列出来(本节示范里的"四个比率"就是),而不是笼统地说"全面分析"——你点名的,它才会去找。

现状三:提示词不是一次写完的

第一版几乎一定会漏(Demo 里的 A 版就是 0/7)。正确做法是:跑一次 → 拿结果对着七要素找缺口 → 补进提示词 → 再跑一次。这和 1.2.2 讲的"改完必须开新会话"是同一条工作法:提示词是要迭代的,不是要一次写对的。

七、动手 Demo:提示词七项体检

下面这个脚本把七要素做成一张体检表,给两条提示词打分:A 版是绝大多数人第一次写的样子,B 版是照本节要求改过一遍的。

# -*- coding: utf-8 -*-
"""7.2.3 Demo:提示词七要素自检器

把一条【写给通用智能体的分析提示词】拆成七个要素,逐条打分。
两条对照:A 是绝大多数人第一次写的样子;B 是照本章要求改过一遍的。
"""

ITEMS = [
    "角色与任务",
    "对象与期间",
    "输出结构",
    "来源标注(每个数字标页码)",
    "单位声明",
    "禁止项(不推断/不补全/不给投资建议)",
    "不知道时怎么办(写未披露,不许编)",
]

# A:第一次写的
PROMPT_A = "帮我分析一下这份财报,看看有什么问题。"
HIT_A = [False, False, False, False, False, False, False]

# B:改过一遍的
PROMPT_B = (
    "你是财报分析助手。读取我上传的 2025 年报,抽取利润表、资产负债表、"
    "现金流量表的核心科目,做成【本期/上年同期/变动率】三列的表。"
    "再算毛利率、净利率、经营现金流与净利之比、资产负债率四个比率。\n"
    "要求:① 每个数字后面用括号标注来源页码,例如(P42);"
    "② 所有金额单位按年报原文,并在表头注明是元还是万元;"
    "③ 只写年报里写明的内容,不许推断、不许补全、不许给任何投资建议;"
    "④ 年报里没披露的,写【未披露】,不要用行业数据代替。\n"
    "最后把结果整理成一个可以分享的网页。"
)
HIT_B = [True, True, True, True, True, True, True]

看到什么算成功(真实输出):

==============================================================================
  7.2.3 Demo:一条提示词的七项体检
==============================================================================

一、A 版(第一次写的)
------------------------------------------------------------------------------
  「帮我分析一下这份财报,看看有什么问题。」
  (19 个字)

  要素                                有没有
  ------------------------------------------------------------
  角色与任务                          缺
  对象与期间                          缺
  输出结构                            缺
  来源标注(每个数字标页码)          缺
  单位声明                            缺
  禁止项(不推断/不补全/不给投资建议)缺
  不知道时怎么办(写未披露,不许编)  缺

  命中 0 / 7

二、B 版(照本章要求改过)
------------------------------------------------------------------------------
  (234 个字,比 A 版长约 12 倍)

  要素                                有没有
  ------------------------------------------------------------
  角色与任务                          有
  对象与期间                          有
  输出结构                            有
  来源标注(每个数字标页码)          有
  单位声明                            有
  禁止项(不推断/不补全/不给投资建议)有
  不知道时怎么办(写未披露,不许编)  有

  命中 7 / 7

四、读结果
------------------------------------------------------------------------------
  ① 七项里,前五项决定【结果能不能用】,后两项决定【结果能不能信】;
     而最容易漏的就是后两项——尤其【不知道时怎么办】。
  ② 不给退路,AI 就会往前走:年报没写的东西,它会用常识填上,
     填得和真的似的。写上【未披露】,它才有地方停。
  ③ 【不许推断、不许补全】这六个字不是客套,是本课程的惯例——
     6.3.1 识别单时用过一次【禁止虚构、推断、补全】,
     这里又用一次:凡是【输出会被人当事实】的任务,都要加这句。
  ④ 来源页码这一条尤其重要,它让 AI 的每一句话都有地方核。
     没有它,你只能整篇信或者整篇不信——那等于没核。

==============================================================================

读结果:

30 秒实验

把你打算发给它的那句话,做一次"反着读":

原话:「帮我分析一下这份财报」
反着读:如果我是一个完全不了解背景的人,看到这句话,我会去做什么?

常见误区

  1. 【写太细是浪费时间,它自己会判断】——它判断的地方,就是你返工的地方。 Demo 里 A 版 0/7 分,跑出来的东西你得从头核一遍;B 版多打的那 215 个字,省掉的是整轮返工。
  2. 【不许推断、不许补全】写了没用,它还是会推】——写了才有地方打回。 写了这句,出现推断就是它违反要求,你可以直接打回重跑;不写,它的推断就是"合理发挥",你连打回的理由都没有。
  3. 【来源标注只是形式】——它是唯一能让核验落到"句"这一级的机制。 没有它,核验的单位是"整篇",实际效果等于不核。
  4. 【提示词写完就该一次跑对】——第一版几乎一定漏。 正确节奏是跑一次、对着七要素找缺口、补一句、再跑一次——改完记得开新会话(1.2.2 的规矩)。
自测三问(点开对答案) 1. **任务描述和提示词到底分什么工?为什么说"任务描述管方向,提示词管成色"?** **任务描述回答"我要什么"**:对象(哪家哪一期)、口径(合并/单位)、动作(抽什么算什么)、出口(给谁看、什么形式)。它决定**它跑去干什么活**——漏了会**跑偏**。 **提示词回答"我要的东西必须符合什么"**:输出结构、来源要求、禁止项、退路。它决定**产出的东西成色如何**——漏了会**跑得挺像但不能用**。 **"管方向/管成色"的意思**:方向错了,你得到的是一份**别的东西**(一眼能看出不是你要的);成色不够,你得到的是一份**看起来像但要不了**的东西(**这才是本章最难处理的错**)。 2. **七要素里,为什么【不知道时怎么办】最容易被漏,却最治本?** **最容易漏**:前六项都是"要它做什么",只有这一项是"要它在什么时候停"——**人的书写习惯是提要求,不是划边界**。 **最治本**:**因为不给退路,它就会往前走。** 年报没披露的东西,它不会说"没有",它会用行业数据、用常识、用它见过的类似公司**补一个出来**——**而且补得很像**。 写上一句"**没披露的写【未披露】,不要用行业数据代替**",它就**有地方停**了。 这和 6.3.1 那句【禁止虚构、推断、补全】是同一条纪律:**凡是输出会被人当成事实的任务,都必须给它一个停下来的地方。** 3. **来源标注这一条,为什么要求"格式具体到能照抄"?为什么还要额外加一句"页码不确定就写待核"?** **要求格式具体**,是因为**模糊的要求只能得到模糊的执行**:你写"请注明来源",它给你"来源于年报"——**从核验的角度,这等于没有**。写"每个数字后标注(P42)这样的页码",它才会给你**可以回查的位置**。 **额外加"不要猜页码"**,是因为本章最阴的一条是:**页码越具体越像真的**。它编一个"(P142)",字面上比"来源于年报"更可信——**所以"编出来的页码"比"没有页码"更危险**(7.2.4 的 Demo 里 C7 就是这样被打回的)。 **一句话**:**来源标注的价值不在"有",在"能回查"。** **本节的三句话可以带走**:**① 不分两层写要求,就会得到一份看着挺像、但没法用的东西;② 给它退路(未披露),它才有地方停;③ 给它页码格式,你的核验才有着力点。**

相关笔记