# Earnings Read Pipeline v5 · Prompts

全流程只有这一份 Prompt 文件，按调用顺序排列。

## 流程

```text
原始材料：公司材料 + 业绩会讨论（含会前）+ 带时间戳的价格
→ 1 写        事实底表、观点库存、主线、初稿          → pass1.md
→ 2 审        新上下文，查事实、遗漏、重心            → reviewed.md
→ 3 速记      压成交易台速记                          → desk-notes.md
→ 4 文风编辑  新上下文，只看速记稿                    → final.md
→ 5 分组      大分类下加小标题，正文一字不改          → article.md
→ 6 核心卡片  从 article.md 选问题、取证据            → cards.json
→ 构建 QA     不调用模型                              → 核心卡片页 + 完整导读页
```

两处上下文隔离不能省：第 2 步不能和第 1 步同一上下文；第 4 步只看第 3 步的输出，不看已审核稿和原始材料。

第 1–4 步和第 6 步都附加下面的「内容红线」。第 5 步不改文字，不需要。

---

## 内容红线

```text
内容红线：

- 成品是我们的独立观察：不暴露聊天、群组、发言人或原话。
- 不给买卖、仓位或目标价建议；可以描述市场结构和声量，不写操作判断。
- 公司材料约束事实；标注清楚的合理推演不受此约束。
- 公司事实、公司指引或目标、外部估算和我们的推算保持原属性；不把推断写成公司事实，不改变观点强弱。
- 精确保留公司名称、Ticker、日期、百分比、币种、单位和重要数字。
```

---

## 1 · 写

```text
你要把一场业绩会写成一篇对外发布的导读：读者感受不到它来自聊天，也感受不到我们在给投资建议。讨论决定重点和推理，公司材料约束事实，判断由你来下。读者是熟悉科技行业的专业投资者。

按顺序交出四样东西。前三样是工作底稿，要写全，第二步会拿它们核对文章有没有丢东西。

一、公司事实底表。只依据公司材料，按“专业读者默认要知道”筛选，不按“讨论里有没有人争”筛选：本季核心结果和剔除一次性项目后的口径；下季和全年指引及相对上次的变化；一次性项目、诉讼和监管；资本开支、现金流、资产负债表、融资和股东回报；管理层拒绝回答或推迟给出的问题。每条注明口径、出处，以及它是公司事实、指引还是目标。价格单列：每个报价标注时间，以及在业绩发布和电话会之前还是之后；拿不到时间的标“时点不明”。

二、观点库存。从讨论（包括会前讨论）里留下所有会改变专业读者对收入、利润、估值、资本或定价理解的观点。每条保留：结论、为什么重要、推理链、依赖的数字、反方解释、怎样验证。特别留下两类最容易蒸发的东西：管理层的信息行为（回避了什么、比以前少说了什么），以及会前的门槛（市场原本预期什么，街上和买方分歧在哪）。删掉玩笑、情绪、无逻辑的裸预测和重复；但玩笑和吐槽里如果藏着判断（对管理层口径的评价、半开玩笑提出的另类路径），把判断留下。

三、主线。一句话点名市场此刻在争的问题，通常是“这份好或坏能不能撑住、什么还没出清”，而不是“这季好不好”。写清会前门槛和预期差，再拆成 2–4 根支柱。重心由市场在押什么决定，不由哪个子话题分析面最大决定。

四、文章初稿。
- 标题服务主线；开篇两三句话说清主线判断。
- 常见大分类：关键数字、会前门槛、价格反应、多头读法、空头读法、延伸判断、等什么出清、口径核对。按这家公司的主线增删，不为栏目完整制造内容。
- 多头和空头是正文主体，各自是一套完整的读法，各写最强版本：先用对方也认可的事实，再推到最远的合理结论；大胆的估算和类比保留并标注，反驳留给对方那一栏，不在本栏自我拆台。
- 延伸判断写二阶影响和对竞争对手、上下游、其他公司的含义。
- 收尾写“市场在等什么出清”：决定主线的开放问题，以及什么信息会让它出清，而不是罗列监控指标。
- 底表每一条都要在文中有位置：正文或文末“口径核对”。价格反应按时间顺序，一个时点一条，发布前和发布后分开。
- 会前预期和讨论里的估算是判断材料，放正文、标注一次；口径核对只放口径细节。
- 用要点写：每个要点开头一句加粗的判断，后面两三句交代理由、机制和关键数字。正文只留支撑判断必需的数字。
- 先给判断，再给理由。不解释专业投资者已经知道的基本市场关系。
- 来源边界在正文里用括号短标，例如“（外部估算）”“（管理层目标）”“（按指引推算）”“（盘中近似）”，同一个边界只说一次；需要展开的口径说明放文末“口径核对”。
- 功能删除测试：删掉一处表达后，如果不会改变读者对事实、数字、判断强弱、因果与比较、时间与状态、来源边界、反方解释或验证条件的理解，就删掉。这不是越短越好，信息完整优先。
- 这一步不打磨文风，文风由第 3、4 步处理。

{{内容红线}}

【公司材料】{{COMPANY_MATERIALS}}
【投资者讨论（含会前）】{{EXPERT_CONTEXT}}
【市场价格】{{MARKET_DATA}}
```

---

## 2 · 审

新上下文执行。

```text
你拿到一篇业绩会导读的初稿、它的工作底稿（公司事实底表、观点库存、主线），以及全部原始材料。你的任务是把它改成可以发布的终稿。你没有参与写作，用怀疑的眼光读，但只改会实质误导或实质遗漏的地方。

依次查三件事：
1. 事实：数字、时间、单位；公司事实、指引、目标和外部估算有没有混淆；法律和融资工具的状态；每个报价是在业绩发布前还是后。回到原始材料核对，底稿本身也可能错。
2. 遗漏：底表和库存里的高价值条目是否在文中出现；会前门槛和预期差是否在正文；对其他公司的含义有没有丢。
3. 重心与多空：重心是否压在主线上；多空是否都有正文级权重、都是最强版本，有没有在本栏自我拆台；收尾是否框成“市场在等什么出清”。

要求：
- 不削弱判断。证据不完美时，可以把确定语气改成倾向性判断，但不要删掉合理推演，不要把判断改成“信息不足”。已标注来源的大胆估算只查标注是否清楚。
- 不重写全文，不改结构，不改文风。文风由后面两步处理。

{{内容红线}}

交出两样东西：
一、终稿全文。
二、改动清单：每条写改了哪里、为什么、依据哪段原始材料。拿不准的单独列出，交给人裁决。

【原始材料】{{COMPANY_MATERIALS}} {{EXPERT_CONTEXT}} {{MARKET_DATA}}
【第一步全部输出】{{PASS1_OUTPUT}}
```

---

## 3 · 速记

```text
把下面已审核的文章改写成交易台速记稿：就像你看完业绩和盘面后，在交易台给同事发消息。

- 一条一个判断，先说结论，只放支撑这个判断的数字。
- 可以不写完整句，可以用行话和简称。
- 不铺垫，不总结，不解释读者已知的关系，不写免责声明。
- 直接陈述事实和判断，不给判断套一层修辞包装。删掉“真正、核心、最大、最硬”等强调词后含义不变，就删掉。
- 不主动制造“不是 X，而是 Y”“是 A 还是 B”“从 X 转向 Y”式的二元对立。能直接说明 X、A、B 各自是什么，就直接说明。
- 每句话都问：这句是在提供信息，还是在教读者如何接收信息？只是在提示“这里重要”“应该这样理解”的句子通常删除，把重要性放进事实、数字和判断本身。
- 来源属性用最短的括号标注，同一个边界只标一次。
- 保留原稿所有事实、数字、判断强弱、反方解释和验证条件；可以合并、换序和压缩，但不能丢。
- 原稿里需要展开的口径说明，挪到末尾“口径核对”一节，同样用速记写。
- 保留原稿的章节主线；章节名可以改短。

{{内容红线}}

直接交付速记稿。

【已审核稿】
{{REVIEWED}}
```

---

## 4 · 文风编辑

新上下文执行，只看速记稿。

```text
把下面的交易台速记稿理顺，保留全部事实、数字和投资判断。

读者是专业 TMT 投资者。成品要像一个有经验的投资者看完业绩和盘面后，快速但清楚地写给同行：口语、简洁、懂行，不像 AI、新闻稿或卖方研报。

- 速记已经自然的地方不动，不要为了改写而改写；但速记稿是中间产物，不要把其中的修辞包装误当成作者声音。
- 太压缩、看不懂的地方补成自然的话；读得懂的短句和行话保留，不要把每个短语都改成完整书面句。
- 像一个投资者给另一个投资者解释盘面，不要写成完整的书面论证。
- 用正常投资者语言，不要精修成金融公文。
- 句式要有变化，节奏保持紧凑。该短就短，需要解释机制时可以稍长。
- 能直接说清的，不使用二元对照、反问或强调框架。删除修辞包装后若不影响事实、判断、因果、强弱、边界或验证条件，就改成直接陈述。
- 每句话都问：这句是在提供信息，还是在教读者如何接收信息？后者通常删掉，或把它改成具体事实和判断。
- 不解释显而易见的市场关系，不新增事实、结论、因果关系或解释。
- 来源属性保持括号短标，同一个边界只说一次；末尾“口径核对”保留。
- 中文是句子的主体。只保留单位、缩写、产品名和定义明确的指标，例如 GW、GPU、HBM、NAND、ARR、GAAP、CapEx、EPS、Ticker 和公司产品名；compute、headline、pricing、beat、guide、pipeline、upside 这类普通词改成中文，例如算力、表面利润、定价、超预期、指引、在建项目、上行空间。
- 篇幅与速记稿相近，最多比速记稿长三成；可读性优先。
- 最重要的是保留这份速记里的事实、判断方式和自然语气，而不是保留模型生成的句法。

{{内容红线}}

直接交付编辑后的全文，不解释编辑过程。

【语气参照：作者本人的两三段文字，只学节奏和判断方式，不学内容；没有时省略本节】
{{VOICE_SAMPLES}}

【速记稿】
{{DESK_NOTES}}
```

`{{VOICE_SAMPLES}}` 只放作者本人写过的短评，不放模型生成的文字。

---

## 5 · 分组

只加小标题，正文一字不改。构建时逐条比对原文，任何改字、遗漏或重复都会让构建失败。

```text
下面是一篇业绩导读的终稿。你的唯一任务是在每个大分类（## 标题）下面主动分出小分类，让读者扫一眼就知道这一节讲了哪几件事。

- 每个大分类按内容分成 2–3 个小分类，用 ### 写小标题。内容只有一两条的大分类不分。
- 小标题是 2–6 个字的名词短语，只负责定位，不写判断，不重复大标题。
- 你只能做两件事：新增 ### 小标题；在同一个大分类内调整要点和段落的先后。
- 原文每个要点、段落和子要点逐字保留：不改字、不删、不合并、不拆分、不跨大分类移动。标题、开篇和 ## 大标题不动。

交出两样东西：
一、分组后的全文。
二、归类说明：每个大分类一行，写分了哪几组、按什么归类。

【终稿】
{{FINAL}}
```

---

## 6 · 核心卡片

这一步的 Prompt 已定稿，不再修改。

```text
你要把下面这份已经核对过的完整业绩导读，编辑成一组“核心卡片”。

先不要写卡片。先通读全文，找出：

1. 这季真正改变了什么；
2. 市场原来在押什么，结果和门槛差在哪里；
3. 哪两套解释构成真正的多空分歧；
4. 哪些问题仍未回答，什么披露最能改变判断；
5. 哪些公司外影响足够重要，值得占用核心卡片空间。

然后再决定需要几张卡、每张卡回答什么问题。不要先套固定栏目，也不要为了凑齐“关键数字、预期差、产业影响”等栏目制造内容。通常会有 5–7 个核心问题，但这不是配额；内容需要更少或更多时，以判断完整为准。

多空规则：

- 如果全文存在两套基于同一组事实、但导向不同结论的完整解释，保留一张独立的“多空分歧”卡。
- 只要多空卡成立，就把它排在全部核心卡片的第一张。读者先看到争议对象，再读经营证据、机制和验证条件。
- 多空不是情绪标签。两边都要写出最强版本：共同事实、推理链和最远的合理结论。
- 不要把多空拆散到多张卡后，让读者自己拼。
- 如果没有真实分歧，不得为了经典格式虚构一张多空卡；在编辑说明里写明为什么省略。

每张卡：

- 标题必须是读者真正会问的问题。
- 紧接一句明确回答。回答要能独立成立，不是栏目摘要。
- 下面用若干信息模块解释“为什么”。模块数量和长度由问题决定，不强求每张一样。
- 一个模块只承担一个功能，可以是事实、机制、对照、反方解释、来源边界或验证条件。
- 该用“会前 → 结果”就用对照；该用“已经证明 / 尚未证明”就用双栏；该用时间顺序或验证门就用对应结构。不要把所有卡都写成相同的三条 bullet。
- 允许省略完整导读里的次要细节，但不能省略会改变主线、判断强弱、因果关系、来源边界、多空结论或验证条件的信息。

卡片只放“最小充分证据”，不是把完整导读的证据库存重新搬一遍：

- 对每个候选模块再问一次：删掉它，会不会让一句回答失去依据、改变强弱、混淆边界，或使读者无法判断下一步怎么验证？
- 如果不会，放回完整导读，不进核心卡片。
- 同一数字不要在多张卡里重复，除非它在两张卡中承担不同的推理功能。
- 一张卡已经能证明结论后，不再用更多同方向例子堆高置信度。
- “对应的导读章节”是复现元数据，不是卡片正文，不计入页面信息量。

来源边界：

- 只使用导读中已有的事实、数字、判断和推理，不新增外部信息。
- 公司事实、管理层目标、外部估算和我们的推算必须保持原属性。
- 数字原样保留；不能把授权上限写成发行计划，不能把目标写成正式指引，不能把相关性写成因果。
- 不暴露聊天、群组或发言人，不给买卖、仓位或目标价建议。

语言职责：

- 这个步骤负责问题选择、证据取舍和卡片结构。
- 读者是熟悉科技行业的专业投资者。不解释读者已经知道的基本市场关系。
- 保留自然的投资者速记、行话和短句；不要为了完整句式，把有效速记扩写成金融公文。
- 原文已经自然、准确的表达尽量保留，不为改写而改写，也不为了显得像人添加口头禅、比喻或金句。
- 直接陈述问题、答案和证据。能直接说清时，不用“不是 X，而是 Y”“是 A 还是 B”“真正/核心/最大”等修辞框架替读者标重点。
- 每句话都应提供信息，而不是教读者如何接收信息；删除修辞包装后含义不变，就删除。

编辑原则：

对每个词、句子、标签和结构执行“功能删除测试”。

如果删掉后，不会改变读者对事实、数字、判断强弱、因果与比较、时间与状态、来源与不确定性边界、反方解释或验证条件的理解，就删除。

这不是越短越好。保留的信息必须足够解释判断，只删除没有功能的铺垫、强调、教学、重复和为了形式整齐补出的表达。

交付三部分：

一、编辑选择
- 一句话主线；
- 选了哪些问题，为什么；
- 哪些常见栏目被省略或并入其他卡，为什么。

二、核心卡片
每张卡交付：
- 问题；
- 一句回答；
- 最适合该问题的结构；
- 页面可见的最小充分卡片内容；
- 对应的导读章节。

三、QA
- 每个数字是否能在导读中逐字找到；
- 是否混淆公司口径、外部估算和推算；
- 是否保留了最强多头、最强空头和主线出清点；
- 是否出现重复卡片；
- 是否有为栏目完整而制造的内容。

【已核对的完整导读】
{{ARTICLE}}
```

第二部分按下面的 JSON 交付为 `cards.json`，其余两部分写进 `card-notes.md`。每张卡的 `blocks`、`sides`、`gates` 合计 2–5 个模块，只用需要的那几种。

```json
{
  "title": "公司 Q3 关键卡片",
  "deck": "一句话主线",
  "cards": [
    {
      "question": "问题",
      "answer": "一句回答",
      "blocks": [{"label": "短标签", "text": "一个模块"}],
      "sides": [{"label": "多头", "tone": "up", "items": ["..."]}, {"label": "空头", "tone": "down", "items": ["..."]}],
      "gates": [{"name": "验证项", "when": "时间", "text": "看什么"}],
      "readthrough": "可选：对其他公司的影响"
    }
  ]
}
```

---

## 构建 QA

不调用模型，`build.py` 执行，任何一项失败都停止构建：

1. 分组：`article.md` 去掉 `###` 后，与 `final.md` 的内容块和数字逐一相等。
2. 卡片：卡片里的每个数字都能在 `article.md` 中找到；卡片数 4–8，每张 2–5 个模块。
3. 隐私与建议：所有公开内容不出现聊天来源和买卖、仓位、目标价用语。
4. 语言：公开内容不出现普通英文词（compute、headline、pricing、beat、guide、guidance、pipeline、upside）、“不是 X 而是 Y”“是 A 还是 B”和“真正 / 最大的信号 / 最硬证据”类强调框架。
