通道健康
输入 / 处理 / 产出与 worker 细节。给工程,不给晨读。
事件雷达未来催化与公司日程展开
AI / TMT 事件雷达
全球 AI、AI 供应链与美国重磅宏观事件
Input覆盖、来源与定时健康
125
覆盖公司
Tier A 34
96%
日历解析
120/125
99.0%
近次来源成功
95/96
70/91
已观察定时槽
缺失 21 · 重复 0
公共验证闸:通过 · 私有/受限明细进入公开输出:0 · 待解决来源:5 · Shadow 实时观察 129.4/168h(不回填、不模拟)
美国宏观白名单:34 个官方排期 · Fed 主席日历:实时 · 普通讲话与次级数据不进入读者页
Output未来事件 · 扫描重点与时间
下一项U.S. Personal Income and Outlays / Core PCE - Jul 202608/26 20:30 HKT · 美国宏观 · Fed 偏好的通胀指标;核心 PCE 会直接影响利率路径判断。
09/02Broadcom Inc. to Announce Third Quarter Fiscal Year 2026 Financial Results on Wednesday, September 2, 2026光通讯 / 网络 · 定制 AI 芯片与网络芯片公司;ASIC 和交换业务直接连接云厂 Capex。→09/03 15:30Dell Technologies Earnings 2026-09-03服务器系统 · 服务器与企业 IT 公司;AI 服务器订单和积压直接反映企业需求。→09/04 20:30U.S. Employment Situation / NFP - Aug 2026美国宏观 · 美国就业报告;同时看非农、失业率、工资与修正,是 Fed 双重目标的核心。→09/08Advanced Micro Devices Sell-side Conference 2026-09-08算力芯片 · CPU 与 AI 加速芯片公司;新 GPU 放量决定第二算力平台的份额。→
查看全部 49 项与完整审计 →群聊
TMTB Slack Daily · HKT 业务日
Input注意
业务日期2026-08-18最近成功2026-08-19 07:08 HKT消息276错误0
已发现线程抓取完成,但全历史 root 覆盖未知
Process正常
业务日期2026-08-18最近成功2026-08-19 07:08 HKTatoms35错误0
日报抽取已 finalized
Output正常
业务日期2026-08-18最近成功2026-08-19 07:08 HKTatoms35错误0
08:00 SLO、引用有效性与证据对账均通过
Input进入系统前
47 / 229
主帖 / 回复
posts / replies
52
活跃线程
thread replies
268 / 268
已发现线程回复
仅 discovered roots
0
抓取错误
必须为 0
来源覆盖率4.3%主帖2/47 被引用6.1%回复14/229 被引用19.2%线程10/52 被引用
root scan:bounded_3_day_overlap · complete:否 · history_has_more:否 · top-5 thread coverage:100% · fetched / expected 只代表已发现线程,不等于全频道回复完整度;话题覆盖率需先记录候选话题分母。
打开 TMT Breakout 人工评审台 首次需访问 key · →Output系统产出后
2026-08-18
最新已发布日
finalized manifest
35
原子
daily atoms
19
引用
reader citations
0
Invalid
必须为 0
达标
08:00 发布 SLO
内容截止 07:00 · finalized 08-19 07:08
最近一次尝试 · 与已发布结果分开显示
2026-08-18
最新尝试日
worker status
成功
尝试结果
run status
未记录
结束阶段
phase
未记录
初稿硬门
summary_draft_validation_status
未记录
修订终态
summary_revision_terminal_kind
最新尝试日与最新已发布日均为 2026-08-18。
证据对账:通过 · bullet cite coverage:100%
打开群聊日报 →打开日报测评台 →趋势与证据默认折叠
2026-08-18业务日 · Asia/Hong_Kong
cloudflare_primary08-19 07:08 HKT
2026-08-18
最新业务日
来自 manifest
47 主帖 + 229 回复
当日输入
52 active threads
268/268
回复完整度
fetched / expected
35
atoms
19
引用
当日 eval 未知
0
当日无效引用
必须为 0
达标
08:00 发布 SLO
内容截止 07:00 · finalized 08-19 07:08
需处理:回复完整度仅覆盖已发现线程;全历史 root 覆盖未知
近 14 日趋势与执行证据
| 指标 | 近14日 | 最新 |
|---|---|---|
| 输入消息 | ██▆▁▁▅▄▆▆▅▂▂▅▅ | 276 |
| atoms | ▇▃▃▅▄████▇▄▄▇█ | 35 |
| 引用 | ▆▆▆▄▅▆▅▇▅▆█▅█▇ | 19 |
Cloudflare Worker: success · 08-19 07:08 HKT · Top thread coverage: 100% · bullet cite coverage: 100% · rolling 14d invalid: 0/302 (0.0%) · tokens: 110310 · cost: ≈$0.20 · volume median 251.5 / MAD 71.5
Earnings
TMTB Slack Earnings · 独立 07:00 HKT 业务日
Input正常
业务日期2026-08-18最近成功2026-08-19 08:11 HKT消息3错误0
Earnings Slack 只读抓取完整
Process正常
业务日期2026-08-18最近成功2026-08-19 08:11 HKTatoms2错误0
Earnings 总结与原子化已 finalized
Output正常
业务日期2026-08-18最近成功2026-08-19 08:11 HKTatoms2错误0
Earnings reader 与证据对账通过
Input进入系统前
0 / 3
主帖 / 回复
posts / replies
1
活跃线程
含跨日续帖
5 / 5
抓取进度
fetched / expected
0
抓取错误
必须为 0
Earnings 来源覆盖率—主帖无分母33.3%回复1/3 被引用100%线程1/1 被引用—话题候选话题分母未记录
root scan:full_channel_history · complete:是 · top thread coverage:100%
Output系统产出后
2026-08-18
业务日期
Asia/Hong_Kong
2
原子
earnings atoms
1
引用
reader citations
0
Invalid
必须为 0
达标
09:00 发布 SLO
内容截止 07:00
状态:有内容 · 证据对账:通过 · bullet cite coverage:100%
打开日报 Earnings section →趋势与证据默认折叠
Earnings 执行证据
独立 lane 正常
X
来源级供数与原子化产出
Input待核对
业务日期未知最近成功未知raw 候选未知错误未知
raw 候选、最近采集成功与采集错误尚未接入
Process待核对
业务日期未知最近成功未知处理条目未知错误未知
抽取运行与失败明细尚未接入
Output异常
业务日期2026-07-03最近成功未知atoms285511错误未知
ledger 断档 47 天
Input进入系统前
—
raw 候选
运行时数据未装载
—
最近采集成功
尚未接入
—
采集错误
未知不能记为 0
Input 采集证据尚未接入;当前 ledger 日期只证明 Output 已写入,不能反推抓取健康。运行时数据未装载。
Output系统产出后
2026-07-03
最后入库
断档 47 天
47 天
距今天
ledger 口径
285,511
atoms 总量
近 7 天 +0
0%
推理链覆盖
0 条
0%
原文绑定
0 条 source_span
推特先看是该来源当前的消费出口;暂无独立日报。
趋势与证据默认折叠
| 业务日 | atoms |
|---|---|
| 2026-08-19 | 0 |
| 2026-08-18 | 0 |
| 2026-08-17 | 0 |
| 2026-08-16 | 0 |
| 2026-08-15 | 0 |
| 2026-08-14 | 0 |
| 2026-08-13 | 0 |
| 2026-08-12 | 0 |
| 2026-08-11 | 0 |
| 2026-08-10 | 0 |
| 2026-08-09 | 0 |
| 2026-08-08 | 0 |
| 2026-08-07 | 0 |
| 2026-08-06 | 0 |
卖方
Gmail 原文归档与卖方原子化产出
Input正常
业务日期2026-08-18最近成功2026-08-19 23:03 HKT全文142错误0
Gmail 全文归档完整
Process注意
业务日期2026-08-18最近成功2026-08-19 23:03 HKT当前规则正文142错误1
文本或图片待重试 1 项
Output正常
业务日期2026-08-18最近成功未知atoms18593错误未知
ledger 正常
Input进入系统前
2026-08-18
最新 Gmail
业务日期
142 / 142
全文归档
EML 141 · 缺 0 封
100%
正文覆盖率
142 份当前规则清洗
1,800
附图归档
112 封 · 0 vision 待重试
正文由密码保护的 Cloudflare Worker + 私有 R2 提供,不进入公开 Pages;本机备用入口为 http://127.0.0.1:8765/。文本抽取待补:1 封;R2 私有备份:142 / 142 份全文,141 / 141 份 EML,1,800 / 1,800 张附图 · 最近成功 2026-08-19 15:03。
Output系统产出后
2026-08-18
最后入库
正常
1 天
距今天
ledger 口径
18,593
atoms 总量
近 7 天 +992
13%
推理链覆盖
2,451 条
0%
原文绑定
0 条 source_span
全源日报是该来源当前的消费出口;暂无独立日报。
趋势与证据默认折叠
| 业务日 | atoms |
|---|---|
| 2026-08-19 | 0 |
| 2026-08-18 | 35 |
| 2026-08-17 | 137 |
| 2026-08-16 | 0 |
| 2026-08-15 | 0 |
| 2026-08-14 | 486 |
| 2026-08-13 | 334 |
| 2026-08-12 | 328 |
| 2026-08-11 | 286 |
| 2026-08-10 | 505 |
| 2026-08-09 | 120 |
| 2026-08-08 | 0 |
| 2026-08-07 | 245 |
| 2026-08-06 | 476 |
News
新闻候选、raw 母本与 story 原子化
Input异常
业务日期2026-08-06最近成功2026-08-06 12:30 HKT候选0错误1
19/20 feed sources non-empty; degraded: digitimes_en.
Process注意
业务日期2026-08-06最近成功2026-08-06 11:45 HKT本轮 atoms5错误0
Recent extraction logs and the latest local manifest were checked for item-level failures.
Output异常
业务日期2026-08-06最近成功未知当日 atoms0错误0
News result and health panels are visible; deployed snapshot freshness is checked against the current ledger.
Input进入系统前
0
全文候选
0 个 feed
0
raw 母本
去重后原文
2026-08-06
审计业务日
每小时错峰管线
Output系统产出后
0
入库 story
今天
0
atoms
今天
—
source_span
atom → 原文
0
quarantine
硬错隔离
趋势与证据默认折叠
通过
News 调度
云端 + 本机每小时错峰
失败
源抓取
RSS / 页面 / 本机全文
通过
写入完整性
ledger / seen / raw / manifest
通过
内容准确性
schema + source_span 原文绑定
0
全文候选
local_in
0
raw 母本
写入 state/news/raw
0
入库 story
0 atoms
0/0
source_span
atom → 原文句绑定
0
quarantine
硬错隔离
0
媒体
今日有入库
07/16
News 新鲜度
今天还没有 news 入库记录
微信
180K 微信语料 · 接入前队列
Input待接入
业务日期未知最近成功未知待处理消息2940错误未知
已有待接入登记,尚未完成身份授权与增量同步
Process待接入
业务日期未知最近成功未知处理条目未知错误未知
尚未建立去重、原子化与 ledger 写入流程
Output待接入
业务日期未知最近成功未知atoms未知错误未知
尚无 finalized 业务日与消费出口
Input进入系统前
2,940
待处理消息
待原子化
—
最近同步
尚未接入
—
抓取状态
尚未配置
现有数字来自待接入登记,不代表已进入主 ledger。
Output系统产出后
—
业务日期
尚无 finalized 日
—
atoms
尚未原子化
—
消费出口
尚未建立
Input 接通并通过数据契约后,再启用 Output 指标。
趋势与证据默认折叠
待接入项:身份授权、增量同步、原文母本、去重键、ledger 写入与 reader 出口。
系统
跨来源健康、配置和深度运维默认折叠;来源本身只在上方各自管理。
全 Fork 链路审计接通、累计数据、代码提交与 14 天供数异常
| Fork / 工作线 | 接通 | 最后供数 | 累计数据 | 代码 | 14天节奏 |
|---|---|---|---|---|---|
| 群聊 180K | 接通 | 2026-08-18 | 3,943 atoms | ✓ 已提交 | ▃▃▅▄████▇▄▄▇█· |
| 推特 | 断档 | 2026-07-03 · 断47天 | 285,511 atoms | ✓ 已提交 | ·············· |
| 卖方 | 接通 | 2026-08-18 | 18,593 atoms | ✓ 已提交 | █▄·▃█▅▆▆█··▃▁· |
| Wrap | 断档 | 2026-06-30 · 断50天 | 2,385 atoms | ✓ 已提交 | ·············· |
| 新闻·韩台 | 断档 | 2026/07/16 · 断None天 | 33,258 atoms | 6 未提交 | █▆▂▂▆▆▁······· |
| 作者画像 | 加工层 | 随主库更新 | 411 作者标 | ✓ 已提交 | — |
| 微信 180K | 加工层 | 未接入 | 2,940 条待原子化 | 无代码 | — |
全站产物与部署跨来源页面、派生产物与 worker 探活注意
| 产物 | 最后生成 | 距今 |
|---|---|---|
| 日刊 | 2026-07-27 | 23天前 |
| 关键数据 | 2026-07-27 | 23天前 |
| 群聊日报 | 2026-08-18 | 1天前 · 业务日 |
| 全源日报 | 2026-07-27 | 23天前 |
| 晋升 promotion | 2026-07-14 | 36天前 |
| 因果图 | 2026-07-14 | 36天前 |
| 估计带 | 2026-07-14 | 36天前 |
| 法庭MU | 2026-07-27 | 23天前 |
部署: worker ✓在线 · pages 静态
数据健康契约违规、向量欠账与字段覆盖异常
343,690
atoms 总量
近7天 +1,573
10,335
契约违规
0=全合规
308,853
向量欠账
已嵌 34,837
| 源 | atoms | 推理链覆盖 |
|---|---|---|
| 群聊 | 3,943 | 0% |
| 卖方 | 18,593 | 13% |
| Wrap | 2,385 | 0% |
| X | 285,511 | 0% |
| News | 33,258 | 15% |
质量闸账本契约、复制棘轮与 golden异常
| 账本契约 | ✕ ... 还有 10334 条 |
|---|---|
| 复制棘轮 | ✓ |
| 抽取 golden | 认知93.2% 立场75.7% |
Cron · 云端跑批每条 workflow 最近一次执行异常
| Workflow | 上次结果 | 时间(UTC) | 触发 |
|---|---|---|---|
| TMTB Slack · Cloudflare Worker | success | 2026-08-18 23:08 | cloudflare_primary |
| News Daily (韩台半导体) | failure | 2026-08-19 15:17 | workflow_dispatch |
X 采集监控采集 worker(x_monitor_runs)实时错误 · 非榜单管道注意
读 x_monitor_runs 失败: <urlopen error [Errno 8] nodename nor servname provided, or not known>
推特榜单 · 预评价 runner本机 SOL 预评价心跳、待预评积压与待人工复核正常
4 分钟前
最近成功
last_success_ts
0
待预评
left_for_model
healthy
runner 状态
本轮失败 0
40/40
待人工复核
human_labels_written
模型路由 · 规则 · Eval生产配置透明,只读注意
| 步骤 | 模型 | 提供方 | max_tok | temp |
|---|---|---|---|---|
| GENERATE 初稿 | Gemini-3.1-Pro | Poe | 8192 | 默认 |
| CRITIQUE 审 | Gemini-3.1-Pro | Poe | 8192 | 默认 |
| REVISE 改 | Gemini-3.1-Pro | Poe | 8192 | 默认 |
| EXTRACT 抽卡 | deepseek-chat | DeepSeek | 8192 | 0.3 |
output 侧 · 读者日报 (纯代码免费)
—
当日无效引用率
最新 finalized 日未评估
0.0%
rolling 14d
0/302 invalid
当日值用于阻断;rolling 值只看趋势,不能稀释最新一天的问题。覆盖率与 Input→Output 证据见 Slack Daily 首卡。
atom 侧 · 抽卡 eval · 2026-07-02 (48天前 · 该重跑)
93.2%
认知准确
75.7%
立场准确
规则版本
extraction_rules v1.1 · 来源 = origin/main cloudflare-slack-daily/src/worker.ts (线上真相) · 换模型/参数 = 改 Worker source, 过 eval 再 commit。Prompt 全文git 版生产 prompt 与 rubric空闲
线上读者总结用的 prompt (git 版 = Worker 打包的那份)。点开看全文。改它 = 改 git + 过 eval, 不裸写。
1) GENERATE — 出初稿 (输出 JSON) · 4,478 字
```
你是一位买方交易台的总结分析师. 下面是某金融 Slack 频道当天的完整对话流, 以及一份滚动记忆账本.
**输出**: 严格符合下面 JSON Schema 的对象. **只输出 JSON 对象** (以 `{` 开头, `}` 结尾), 不要用 markdown code fence 包裹, 不要任何 HTML 标签, 不要解释文字.
## 内容规则 (必须严格遵守):
{{RUBRIC}}
## JSON Schema (输出结构):
{{SCHEMA}}
## 字段语义详解:
- `h1`: 钩子式标题, **双 clause**抓全天 take, 不是 "交易台备忘录" 这种通用标题. 例: "开源 = AI capex 利空?群里第一次正面开吵;HDD 该比 NAND 贵远超 2 turns"
- `keypoints`: **一些重点 (页顶提纲)**, **每张 card 对应 1 句, 按 cards 显示顺序 1:1 映射**. 不跳卡, 不合并.
- **数量必须 = cards 总数**. 有 8 张 card 就 **必须** 8 条 keypoint; 有 3 张 card 就 **必须** 3 条. **零容差**.
- 排序: `sections[0].cards[0]` → `sections[0].cards[1]` → ... → `sections[1].cards[0]` → ... 严格按出现顺序.
- 读者扫一遍 keypoints = 拿到全页所有 card 的 take 速览, 决定哪些深读.
- **提交前自检**: 数一下 `len(keypoints)` 和 `sum(len(sec.cards) for sec in sections)`. **不等 → 改, 不许提交**.
- `chip`: 3-10 字加粗 prefix, 跟对应 card 主题对齐
- `rest`: 接续 1 句 take + 关键数字/名字, **≤ 40 字**
- `newin_label` / `newin_items`: **不再使用** (账本未接入, 写不出真正的"今日新增"). 不要输出这两个字段.
- `sections[].angle`: section h2 的 angle, **不是分类标签**. ❌ "AI/科技主线" / "公司情绪" 是分类; ✅ "超大厂被掀桌, 半导接捧" / "AMZN/META 弱 = positioning 不是基本面" 是 angle.
- `sections[].cards[]`:
- `h3`: 卡片标题文字, 3-15 字, **不带 emoji** (emoji 走单独字段).
- `emoji`: 主题 emoji 字符 (如 "🔓"/"💾"/"🛢️") 或 null.
- `hot`: true 表示当天最热线程之一.
- `flagship`: true = 旗舰卡 (`.card.full` 占两列宽). 每 section 通常 0-2 张.
- `tag_kind`: `"long"`/`"short"`/`"watch"`/`"debate"` 之一 (多/空/观察/争论).
- `tag_text`: 标签可见文字, 如 "争论·新叙事" / "观察·仓位信号" / "多·上游".
- `sw_head`: **判断先行**的核心句, 6-30 字, 立场/钩子. 整段加粗渲染. ❌ "同为 X, Y 与 Z..." 铺陈式; ✅ "WDC/STX 分化不是基本面, 是定价机制".
- `sw_rest`: 支撑/破折号补语, 可省. 可含 `[[cite:<ts>]]`.
- `bullets[]`: atomic bullets, 活跃日旗舰卡 5-8 条, 普通卡 3-5 条.
- `head`: takeaway chip, 3-30 字, 是 take 浓缩. 渲染为亮琥珀粗体. ❌ "事实"/"数据"/"现状" 空标签; ❌ "这代表什么?" 抽象问句; ✅ "建滔 ASP 提速" / "AVGO 在 v9 吗?" / "Apple 投降 → 盘后拉升".
- `body`: 支撑细节 + cite. 可含 inline `<b>` 和 `[[cite:<ts>]]`.
- `closer`: 可选 (旗舰卡建议加). `head` = "对 PM 来说 = ..." 类执行视角翻译. **只 paraphrase 卡内已有内容**, 不引入新数字/新动作 (违反 §0 严格基于源).
## Cite 规则 (重要, 防幻觉):
- 格式: `[[cite:<ts>|<figure>|<中文译文>]]` 嵌入 body / sw_rest / newin.body / top3.rest / closer.rest 文本.
- **`<ts>` 必须**是**下方对话流**里实际出现的 `[1781...]` 前缀 ID, **绝对不允许编造** (例: `1700000000.000001` 或 `1781790000.000000` 末尾全 0 这种序列号都是编造).
- **数字 / 文字 必须在 body 文本里正常写一遍**, 不能只放进 `<figure>` 字段!
`<figure>` 只是给 render_citations.py 做"原贴存在性"校验用, **不会显示给读者**. 标记被渲染成 `[n]` 上标.
- ❌ `"ASP 涨[[cite:ts|84%|]] 至 HKD230"` → 渲染后变 `"ASP 涨 [1] 至 HKD230"`, **84% 消失了**.
- ✅ `"ASP 涨 84% 至 HKD230[[cite:ts|84%|...]]"` → 渲染后 `"ASP 涨 84% 至 HKD230 [1]"`, **数字保留**.
- `<figure>` 必须**逐字复制原贴** (原贴 `1.75bn` 就写 `1.75bn`, 不补 `$`/`+`/`%`); **单值** (多值拆多个 cite, 别用 `/` 复合); qualitative 引用**省 figure** (用 bare `[[cite:<ts>]]`).
- 不确定原贴怎么写 → 省 figure 比写错好.
## 流程:
1. 对 transcript 做账本 diff: 标【增量】vs【背景】.
2. 按热度 (表情+回复) 排 Top-K (沉寂 K=2 / 常规 K=4 / 活跃 K=6); 前一半"必保"覆盖.
**重要 — "父帖空 / 问题帖" 不等于无信号**:
父帖**空文本/纯图/纯问题**的线程 (例: 某人空文本帖配 ticker, 或 "What are everyone's fav stocks for next week?" / "anyone see any news on $X?") **真信号在 replies 里**, 不在父帖. 不要看父帖没 take 就跳过.
判定规则:
- 父帖**空 / 短 / 是问题**但**总热度 ≥ 20** (反应数 + 回复数) → 必读完 replies 再决定要不要砍.
- 用**第一条高赞 reply** 或 **被反复点名的 ticker** 当 topic seed, 提炼成一张卡 (head 用 reply 里的核心 take, 不是父帖的问句).
- 例: 父帖空文本 + 票 TTWO + 11 个 heart → topic seed 用 "$TTWO nice move + IGV 跟随但 underwhelms" 这种 reply 含的 take, 写 TTWO 卡.
这是 6/18 漏 TTWO 必保线程的根因; 模型默认从父帖找主题 + 立场, 看不到空/问题就跳, 但 reply 是金子.
3. 板块归属 §1E: 按"reprice 对象"而非"信息来源域". AI 监管 / 模型访问限制 / Apple 关税 都归 AI 主线, 不归宏观.
4. 写 JSON: h1 → top3 → newin_items → sections (前段 AI/科技主线, 后段 宏观/其他).
5. **尽量挖掘深度** —— **深度 = 多角度发现, 不是凑 bullets**
写每张卡时, 主动找以下角度的信号(包括但不限于):
- **量化**: 数字 / 数量级 / 比率 / 价格 / 时间窗口 / 占比
- **机制**: "X → Y" 因果链, 物理/资本/政治/技术约束, 为什么会这样
- **共识 vs 分歧**: 多空、高赞反驳 (+N 投票)、群里一致 vs 各执一词
- **Catalyst**: 即将兑现的 trigger, 下一步可观察信号, 谁要先动
找到几个角度, 就写几个 bullets. **找不到 = 该卡少 bullets 是合理的; 找到了懒得展开 = 偷懒.**
**典型卡 3-5 bullets**(自检 anchor, 不是硬目标):
- 多数活跃卡(材料丰富)应该挖到 3-5 角度
- 真的单角度 topic → 1-2 bullets 完全 OK
- 真的丰富 → 6+ bullets 也 OK
- **如果你写出 2 bullets 但 transcript 这个话题有 5+ messages / 10+ reactions, 大概率是你漏挖了, 重新读一遍 replies**
**热度只影响"全天卡数 + 总篇幅", 不影响"单卡深度发现"**. **活跃日尤其要多挖**(材料多、信号密集, 别浪费). 其他天按材料里有的发现就好 —— 长帖照样挖深, 群里没人说话就少写卡.
❌ 凑数填充重复内容 (padding) —— 比少写更糟
❌ 拆碎同一个 take 凑成多个 bullets
❌ 找到了多角度但只写 1 句话
✅ 1 个角度 = 1 个 bullet; 多个角度 = 多个 bullets, 上限看材料
## 体量与档位:
{{BUDGET}}
## 记忆账本:
{{LEDGER}}
## 对话流 (cite ts 唯一合法来源):
{{TRANSCRIPT}}
只输出 JSON 对象.
```
---2) CRITIQUE — 按规则审查 (输出文本批评) · 1,852 字
```
你是一位严格的总结质量评审. 审查这份 JSON 草稿, 对照规格 / 原始对话流 / 记忆账本.
## 内容规则:
{{RUBRIC}}
## 原始对话流:
{{TRANSCRIPT}}
## 记忆账本:
{{LEDGER}}
## 待审 JSON 草稿:
{{DRAFT}}
按规格 §1 六维度扫描. **只列命中**, 没问题就静默通过.
重点扫描清单:
- **【cite ts 真实性·红线】**: 扫所有 `[[cite:<ts>]]` 标记, ts 是否在**对话流**里实际出现过. ts 编造 (如 `1700000000.000001` 序列号) → 红线, 最高优先级要求改.
- **【覆盖 Top-K §1A】**: 列出当天 Top-K 热门线程 (K 按热度), 逐条对照 JSON 标 ✅覆盖/➕已并入/⛔故意省略. 必保线程默默漏掉 → 要求补.
- **【板块归属 §1E】**: 按"reprice 对象"判. AI 监管 (KYC for AI / 模型访问限制 / AI 出口管制) / Apple 关税 → AI 主线; 被误丢宏观 → 要求挪.
- **【so-what 判断先行 §1D】**: 每个 card 的 `sw_head` 前 6-10 字是否立场断言. 若是 "同为 X, Y 与 Z..." 铺陈式 → 要求改写.
- **【元判断词 §1D】**: `sw_head` / `sw_rest` / `body` / `closer` 含元判断词 (市场/共识/仓位/拥挤/信念/一致预期/一边倒/恐慌/贪婪) 但同句无 `[[cite:<ts>]]` → 要求补 cite 或删句.
- **【发言人匿名 §1G】**: 扫整个 JSON (h1 + top3 + newin + sw_head + sw_rest + h3 + body + closer) 是否含 Slack handle (短英文别名). cite 标记里的 ts 不算. handle 出现且未加角色注 → 要求改为角色描述 ("卖方笔记" / "存储多头") 或被动语态.
- **【bullet 头】**: `bullet.head` 是否空标签 ("事实"/"数据"/"现状") 或抽象空问句 ("这代表什么?"/"为什么这个这么重要?"). 命中 → 要求改具体 chip.
- **【AI 套话 §0】**: 扫全文是否含 "综上所述/值得注意的是/在某种程度上/有迹象表明/体现了/反映了" 等. 命中 → 要求删或换大白话.
- **【closer 不过度总结】**: closer 里的数字/观点/动作必须**只来自卡内已有 bullet 或原贴** (§0 严格基于源). 引入新内容 → 要求删 closer 或改写.
- **【伪细节 §3.1】**: 看疑似命中条目 (二手新闻/盘中情绪/P&L 八卦/同义重复/技术口水/未完成思考). 触发"多人共振/positioning shift"等保留条件就明确标注成"群体情绪信号"/"仓位信号"; 不触发就要求砍.
- **【浅卡扫描 — 深度审视】**: 对每张 card, 估算**对话流**里这个话题相关的 messages 数 + reactions 数. 如果 **messages ≥ 5 + reactions ≥ 10 但 card 只有 1-2 bullets** → 浅了, REQUEST 加深: 让 REVISE 回去原贴找漏掉的 量化 / 机制 / 共识-分歧 / catalyst 角度 (规格 §0 多角度发现). **不是要求凑数 padding** —— 是抓"明明材料厚但写得浅"的偷懒.
- **【keypoints 1:1 检查】**: 数 `sections` 里所有 cards 总数 N, 看 `keypoints` 长度 M. **如果 M ≠ N → 红线, REQUEST 必须补**. 把漏掉的 cards 列出来, 让 REVISE 加上对应 keypoints (按 cards 顺序插入到正确位置).
不要打分数. 每条给【字段位置 (如 `sections[0].cards[1].bullets[2]`) + 为什么不行 + 怎么改】.
只输出 critique 文本.
```
---3) REVISE — 修订 JSON (输出 JSON) · 349 字
```
你是修订人. 把 JSON 草稿按 critique 改一遍.
## 内容规则:
{{RUBRIC}}
## JSON Schema:
{{SCHEMA}}
## 原 JSON 草稿:
{{DRAFT}}
## 评审意见:
{{CRITIQUE}}
优先级:
1. **【红线】先改** — 编造 ts / 数字 / 方向 / 板块归属错误.
2. cite 缺失 (元判断 / 元判断词类句) 补 cite, 或删句.
3. 增量性: 把套话换成带数字/分歧的增量; 被误砍的硬料捞回来.
4. 信号密度优先, 篇幅次要 (规格 §2). 不要为收篇幅砍硬料.
**只输出修订后的完整 JSON 对象**, 不要解释, 不要 markdown 包裹.
```
---4) EXTRACT — 抽 atomic claims 进 ledger (输出 JSON 数组) · 9,055 字
```
你的任务: 从已审核完成的 JSON 总结里, 抽出原子 claim, 准入 ledger.
## 准入规则 (rubric §F.5):
每个 claim 必须满足:
1. **(entity, predicate) 唯一原子**: 一个 claim 只讲一个实体的一个属性 / 行为 / 状态. 看到"并且 / +"几乎必拆.
2. **打 1+ 类标签** (好数字 / 好观点 / 好思考 / 好信源 / 好问题). **0 类 = 装饰文字, 不进 ledger.**
3. **直接复用 bullet 的措辞**, 不要重新生成 (避免跟 daily 的 voice 漂移).
## 5 类标签定义:
| 类别 | 含义 | 例子 |
|---|---|---|
| **好数字** | 量化锚点, 可对照 | "FY28 AVGO XPU $250-300B 营收" |
| **好观点** | 锐利立场 + 锚点, 不空喊 | "ALC: Warsh 偏鹰 + 任务小组拖延 = rate vol 回归" |
| **好思考** | 改框架 / 启发反思 | "Jevons 反驳: 超大厂托管开源毛利更高 = 开源利空论自相矛盾" |
| **好信源** | 独特一手, 难复制 | "Mei: Jensen 长驻韩国 = 内存供应紧张的间接证据" |
| **好问题** | **带逻辑的反问** —— 问题内嵌锋利观察 / 悖论 / 隐藏判断 | "如果开源 ARR 真利空, NVDA 为啥没反应?" / "Anthropic 烧 $X 但估值 $Y, 怎么合理化?" |
一个 claim 可多类 (好数字 + 好观点 都给).
**好问题 详解** (这类经常被漏抽, 重点找):
- ✅ "如果开源 ARR 真利空, 为什么 NVDA 价格没反应?" — 内嵌"前提→预期→观测反驳"逻辑链
- ✅ "Anthropic 烧 $X 但估值 $Y, 怎么合理化?" — 内嵌现金流跟估值的悖论
- ✅ "Cook 真的能压价吗?" — 内嵌"议价权可能已转移"隐藏判断
- ❌ "X 还有上涨空间吗?" — 纯打听, 无逻辑内核
- ❌ "这代表什么?" — 无观察, 无内嵌断言
- ❌ "明天 CPI 怎样?" — 通用预测请求, 无锐利点
**主动找好问题源**: transcript 里**带 `?` 但又含数字 / 名字 / 时间锚点**的帖子, 高概率是好问题. 不要只看陈述句.
## ⚠️ Tag 是**封闭 5 类 enum**, 不许发明
**只能用这 5 个**: `好数字` / `好观点` / `好思考` / `好信源` / `好问题`
❌ 不接受: 好事实 / 好比较 / 好数据 / 好分析 / 好洞察 / 好对比 / 好观察 (任何其他都是错)
看到 fact 含数字 → 选 `好数字`
看到对比 X vs Y → 选 `好观点` (有判断) 或 `好思考` (改框架)
看到事实 (无数字) + 有立场 → 选 `好观点`
看到一手信号 → 选 `好信源`
不能套上面任一 → 这条 claim 别抽, 是装饰文字.
## assertion_type 枚举 (严格边界, 5 类):
- **fact**: 已发生的事实陈述, 通常含具体数字 / 主体 / 时间 (例: Cook 公开表态; TEL 提价 +SD%; Mei 称 Jensen 长驻韩国).
- **forecast**: 未来预测, **必须有 value (qty / date / direction) 至少 1 项**. 没量化 → 不算 forecast, 改 narrative.
- ✅ "FY28 NVDA 数据中心 $250B 营收" (qty + date)
- ✅ "26 年 PCB 设备进入交付大年" (date)
- ✅ "存储进入紧缺周期, 持续 12-18 月" (direction + duration)
- ❌ "Google 可能补贴代币挤压前沿模型" — 无 qty / date / direction → narrative 类
- **position**: 立场 / 仓位 / 观点表态 (ALC 看多 NVDA; 群里普遍看空大厂; 卖方分析师加配 META).
- **narrative**: 叙事框架 / 解释模型 / 未量化展望 (开源拖累 ARR; AI capex 见顶; Apple 失去定价权).
- **refute**: 反驳 / 拆台已有叙事 (Jevons 反驳开源利空; "AVGO 丢单"被 JPM 否认).
## cognition_type ∈ {fact, take} — 三色 provenance 类型
跟 assertion_type **正交**. 关键判定: 这条 claim 的 information unit 是 verifiable fact 还是 author 解读.
🟦 **fact** = verifiable, 无 author 主观加工:
- 公司公告原话 / 财报数字 / SEC 文件 / 政府公告 / 价格 metric
- 央行声明 / 总统/官员公开陈述 (Trump tweet, Powell speech)
- 彭博/路透/WSJ confirmed news 转述
- 公司 official forward guidance ("公司指引 Q4 EPS $X")
- **管理层 (CEO/CFO) 对当下/已发生事件的公开表态**: "Cook 公开表态愿换内存供应优先级" / "Jensen 公开讲 5 层蛋糕" → fact (已发生 statement 事件)
- 群里**忠实转述**第三方 fact ("彭博: Apple 推迟 X")
- **可独立验证**: 打开 Bloomberg/财报能查到
🟥 **take** = 人原创判断 / framing / forecast / interpretation:
- 任何人对 entity 的 forecast / position / narrative / refute
- **管理层 forward judgment** (对未来 N 年的预测, 即便是 CEO 说的): Jensen "未来十年供应链难满足" → take
- **Sellside 报告里的 TP / rating / forecast** — analyst take
- 群友自己估算的数字 ("我估 35% 增速天花板") · framing-laden 表述
## stance ∈ {bullish, bearish, neutral, na} — atom 多空立场
从 author 视角对所讲 entity 的 directional take:
- **bullish** = 利好 / 看多 / 正面判断
- **bearish** = 利空 / 看空 / 负面判断
- **neutral** = 含 take 但方向不明
- **na** = **纯客观事实**陈述 (财报数字/价格), 无 author 立场
#### ⚠️ na 收紧
任何含因果 / 比较 / 趋势 / 状态词的 atom 必须给 bull/bear, **不能 na**:
- 比较: 低于/高于/超过/落后于/跑赢/低估/高估
- 因果: 受...拖累/受益于/驱动/侵蚀/支撑/挤压
- 趋势: 加速/放缓/恶化/改善/承压/见顶/触底
- 状态: 供不应求/供过于求/失衡/紧张/宽松
- 隐含 framing: 锁定份额 → bull; 失去定价权/资金提款机/投降信号 → bear
#### ⚠️ 持仓侧反向陷阱
任何关于"做空 X / 空头 X / 做多 X / 多头 X"描述, 看反方处境:
- "做空风险高 / 难做空 / 空头被轧" → **bullish** (空头不利 = 股价不跌)
- "做多风险高 / 多头止损" → **bearish** (多头不利)
## topic (1-3 短词组) — 主题 cluster
短词组, 名词性, 4-8 字, 不写句子. 让跨 atom 能按 topic group.
规则:
- 1-3 个 tag, 不要超
- 优先复用标准化短词组: `估值 / 营收 / 需求 / 产能 / 竞争 / 政策 / 并购 / 管理层表态 / 技术路线 / 供应链 / 财报 / 出货 / 库存 / 价格`
- **不把 entity 名当 topic** (包括 ticker/中文公司名/复合形式): ❌ ["TAM路径","NVTS"] · ❌ ["ASE营收预测"] · ✅ ["TAM路径","收入预期"] · ✅ ["营收预测","测试产能"]
- 想到 "X营收" 而 entity=X, 写 "营收预测"
## source_credibility ∈ {1, 2, 3, 4, 5} — atom 真正 originating author 的信用档
| 档 | 类型 |
|---|---|
| **5** | Primary source: 公司公告/财报/SEC · 央行/政府公告 · CEO/CFO/Founder 公开陈述 (Cook/Jensen/Pichai/Altman/Musk) · 总统/官员陈述 (Trump/Powell) · 顶级 wire confirmed (Bloomberg/Reuters/WSJ exclusive) |
| **4** | 顶级 sellside (JPM/GS/MS/Jefferies/UBS/BofA/Citi) · 知名 newsletter (Stratechery/Matt Levine/SemiAnalysis) · 知名独立分析师 |
| **3** | 群里 active 高质 contributor (ALC/Methodica/Loeb/Citrini/Sims/Mei 等被频繁 cite) |
| **2** | 一般群友 / handle 不出名 / 转发无明确出处 |
| **1** | wild guess / "I heard" / 无 source rumor / 模糊推测 |
## 抽取流程: 2 pass
### Pass 1: 主抽 — 从日报 (voice 一致优先)
- 扫 DRAFT.sections[].cards[].bullets[] 每个 bullet
- 抽 atomic claim, **直接复用 bullet 措辞**, 不重写
- 输出 section_idx / card_idx / bullet_idx (从 0 开始)
- sw_head / sw_rest 也是 claim 来源 (bullet_idx = -1)
- 一个 bullet 通常含 1-3 个 claim. 单角度 1 个; 多 entity / 多 predicate 必拆.
- closer 是"对 PM 翻译", 通常不抽.
### Pass 2: 补抽 — 从 transcript (召回率优先)
扫**下方对话流**, 找**日报里没充分呈现但群里有强信号**的 claim. 触发条件 (满足任 1):
1. **配对讨论的另一方**: 日报有 "SNDK vs MU 估值辩论" 卡, 但只抽了 SNDK 的 claim. → 把 MU 那侧也抽出来.
2. **群里反复提**: 同一 entity 在 transcript 里 ≥ 3 人提 / ≥ 2 个 thread 提, 但日报因 Top-K 落选 → 抽.
3. **高反应数被埋没**: transcript 里某条主帖反应数 ≥ 8 但日报没写 (Top-K 漏) → 抽.
4. **群里数字 / 论点细节** 日报泛泛带过没具体化 → 从 transcript 抠具体数字 / 论点入 ledger.
Pass 2 claim 格式 (用 `card_idx=-1` 标记"transcript 补抽"): `{"section_idx": -1, "card_idx": -1, "bullet_idx": -1, "claims": [...]}`
Pass 2 claim 仍要满足:
- 5 类标签准入 (好数字/好观点/好思考/好信源/好问题)
- entity 不在黑名单 (AI/市场/投资/AI Mode 等不抽)
- forecast 必须有 value
- **source_ts 必填** (直接从 transcript 的 `[ts]` 抠出来, 不能 null)
- text 措辞用 transcript 原文 (不是改写, 因为日报里没这句)
⚠️ **Pass 2 不是补遗一切**. 只补"群里真有共识 / 反应 / 双主体"的信号. 一对一闪现 / 无人响应 / 偏 P&L 八卦 / 二手新闻 → 不算.
### 通用规则 (两 pass 都遵守)
- 真不知道 source_ts 就填 null (但尽量从对应 `[[cite:...]]` 或 transcript ts 里抠)
- **source_span 必填** (2026-07-05, 原文↔atom 绑定): 从 transcript 里**逐字复制**生成该 claim 的那句原话 (≤400 字). 它是原文母本, 便于定位/审计保真; 定位不到才填 null. 跟 text 的区别: text 可以是你的浓缩措辞, source_span 必须是 transcript 里的原字.
## entity 跟 predicate 的边界 (常错, 必读):
**entity = 主体名词** (公司 / ticker / 板块 / 叙事 / 人物 / 抽象概念). **predicate = 关于 entity 的属性 / 状态 / 行为 / 预测**.
| ❌ 错: metric-style 当 entity | ✅ 对: 拆成 entity + predicate |
|---|---|
| entity="Nvidia 芯片总尺寸" / predicate="飙升至 322,040mm²" | entity="Nvidia" / predicate="芯片总尺寸" / value={qty: "Hopper 38,280mm² → Rubin Ultra 322,040mm²"} |
| entity="CCL ASP" / predicate="预计 26 年涨 84%" | entity="CCL (建滔)" / predicate="ASP 预期" / value={qty: "26 年 +84% YoY 至 HK$230/张"} |
| entity="ABF 产能利用率" / predicate="升至 100%" | entity="ABF" / predicate="产能利用率预期" / value={qty: "24 年 65% → 27 年 100%+"} |
| entity="单机架 CCL 价值量" / predicate="升至数万美元" | entity="CCL (in AI 机架)" / predicate="单机架价值量" / value={qty: "H100 几千美元 → Rubin 数万美元"} |
**判断**: 这个名字能不能跨多个 bullet 复用?
- "Nvidia" 可以 → entity
- "Nvidia 芯片总尺寸" 太具体, 一辈子就这一句 → 不是 entity, 应该是 predicate
**好 entity 名**: NVDA / Apple / AVGO / Warsh / AI capex / 内存涨价周期 / 开源拖累 ARR / CCL / Ibiden / 国内 PCB 厂 / 卖方分析师群体
**坏 entity 名 (metric / 句子 / 太具体)**: "Nvidia FY28 营收" / "26 年 PCB 设备需求" / "Apple 投降买内存" / "Warsh 鹰派表态"
## ❌ 禁用 entity 名 (太泛, 无法做 dossier — **见到直接跳 claim 或改成具体 entity**):
`AI` / `市场` / `投资` / `需求` / `供应` / `增长` / `利润` / `成本` / `产能` / `公司` / `板块` / `前沿模型` / `前沿实验室` / `投资规模` / `AI Mode` / `AI ROI` / `AI Infra` / `AI 推理需求` / `AI 工具解决方案` / `AI 投资` / `AI 基建` / `AI 数据中心建设` / `AI 支出模式` / `端侧 AI` / `AI 板块` / `AI 实验室`
→ 处理方式 2 选 1:
1. **能改成具体 entity** → 改 (例: "AI" → 具体公司 NVDA / Anthropic; "市场" → 具体板块 半导体板块; "前沿模型" → 具体模型 Claude / Gemini)
2. **改不成** → 整个 claim **不抽** (这是装饰文字, 不是信号)
具体的判断: 你能不能用"\<entity\> 在 \<predicate\> 上 \<value\>"造句, 并且 6 个月后接手的人立马 get 你在讲谁?
能 → entity 可以;
不能 (因为 entity 是抽象到无定指对象) → 不抽.
## 输出格式:
**JSON 数组**, 以 `[` 开头, `]` 结尾. 每个 claim 必带新加 3 字段 (cognition_type / stance / topic).
\{
"card_idx": 1, // sections[i].cards[j] 里的 j, 0-indexed
"section_idx": 0, // sections 里的 i, 0-indexed
"bullet_idx": 2, // bullets 里的 idx; -1 = 来自 sw_head/sw_rest; -2 = 来自 closer
"claims": [
\{
"entity": "Apple",
"predicate": "策略转向: 用资产负债表换内存供应",
"value": null,
"text": "Cook 公开表态: 愿用 Apple 资产负债表换内存供应优先级",
"assertion_type": "position",
"tags": ["好观点", "好信源"],
"cognition_type": "fact",
"stance": "bullish",
"topic": ["管理层表态", "供应链"],
"source_credibility": 5,
"source_span": "Cook: willing to trade Apple's balance sheet for memory supply priority",
"source_ts": "1781938174.846909"
\}
]
\}
如果 bullet **没有任何 claim 满足准入** (纯装饰 / 全 0 类), `claims` 设 `[]` (空数组). 不要硬凑.
## 待抽的 JSON 总结:
{{DRAFT}}
## 对话流 (源 ts 唯一合法来源):
{{TRANSCRIPT}}
## 最终输出 (零冗余, 严格):
**直接以 `[` 开头**, **以 `]` 结尾**. 不要打招呼, 不要"收到, 我理解了", 不要解释思路, 不要 markdown code fence, 不要任何中文 / 英文导语. **第一个字符必须是 `[`**.
例 (这就是合法输出, 一字不多): `[{"section_idx":0,"card_idx":0,"bullet_idx":0,"claims":[{"entity":"NVDA","predicate":"FY28 数据中心营收预期","value":{"qty":"$250-300B","date":"FY28"},"text":"FY28 数据中心营收 $250-300B","assertion_type":"forecast","tags":["好数字"],"cognition_type":"take","stance":"bullish","topic":["数据中心增长"],"source_credibility":4,"source_ts":"1781938174.846909"}]}]`
```
---5) RENDER — 渲染 HTML (确定性, 非 LLM) · 951 字
不是提示词, 是代码:
```bash
python summarizer/render_html.py <draft.json> # 输出 HTML fragment 到 stdout
```
正常 pipeline 由 `summarize.py` 自动调用. `render_html.py` 把 JSON → HTML, 保证 class 名 / 嵌套 / lead span / 容器结构全对.
随后:
```bash
python summarizer/render_citations.py <export.json> <out.html> # 展开 [[cite:]] 标记
python summarizer/build_site.py # 包外壳, 加 heat pill / sym 等
python summarizer/checks.py <export.json> site/<date>.html --day <date>
```
---
## 流水线顺序
```
抓 Slack → split_by_day → 读账本 →
GENERATE (JSON) → CRITIQUE (text) → REVISE (JSON) →
EXTRACT (JSON 数组 → ledger.jsonl + wiki/log.md) →
render_html.py (JSON → HTML fragment) →
render_citations.py (展开 [[cite:]]) →
checks.py (验证) → build_site.py (包外壳) → 发布
```
> 只跑一轮 critique → revise (多轮收益递减).
> EXTRACT 在 REVISE 之后, render 之前. EXTRACT 失败不阻塞 render (ledger 是辅助资产).
> render_html 在 render_citations 之前 (JSON → fragment → 展开 cite).rubric.md (内容规则 · 什么是好 take) · 5,870 字
# 总结质量规格 (rubric.md)
> **这是唯一的规格文件。** 它同时被三处使用:
> 1. **生成**时作为 prompt 的一部分(告诉模型什么是好总结);
> 2. **批评**时作为 judge 的判据(让模型按它挑毛病);
> 3. **你手评**时作为 👍/👎 的依据。
>
> 只维护这一份。任何对"什么是好总结"的认知更新,都改这里,三处自动同步。
---
## 0. 这份产物是什么
**读者**:买方 / PM / 决策者。
**产出物 = 给决策者看的逻辑清晰要点备忘录,像与领域专家对谈后整理的纪要。**
**目标**:替读者排序 + 下判断,不是把聊天记录压缩一遍。
**三条核心原则**:
- **去 AI 味** —— 直接、讲人话. 禁用 "综上所述 / 值得注意的是 / 体现了 / 反映了 / 在某种程度上" 等 AI 套话 (完整清单见 `checks.py AI_CLICHES`).
- **符号优先** —— 用 `→` / `=` / `+` 表达递进 / 等同 / 并列(见 §3.0)
- **严格基于源** —— 所有事实 / 判断 / 数字必须能在 `{{TRANSCRIPT}}` 里找到. transcript 之外的推测 / 添油加醋 / "看起来合理的脑补" 一律禁止.
**详细度跟着当天热度走**:
- 热度高 → 多挖、信息密度高、LLM 在重点话题多分配 attention
- 热度低 → 短而精;但**沉寂日也可能有高增量新叙事,该前置**
- **详细度不设上限**,内容质量优先于篇幅
**两个独立维度**:
- **depth**(挖多深)= 跟当天热度
- **order**(谁排前面)= 跟增量(首次出现 > 重述)
> 视觉 / HTML 结构 / 容器 / 颜色 → 由 schema.py + render_html.py 强制,不在本规格.
> checks.py 的"当天体量→档位"是评估期参考, 不是 LLM 写作时的约束.
**"体量" 定义**(操作层, 物理实现在 `checks.py HEAT_TIERS`):
体量 = **互动热度 + 源词量 // 30**
- 互动热度 = 回复数 + 反应总数
- 源词量 = 中文字符 // 2 + 英文词数
档位: `<150` 沉寂 / `150-550` 常规 / `≥550` 活跃
`summarize.py compute_heat` 跟 `checks.py day_weight` 必须用同一公式, 否则 prompt 告诉 LLM 的预算和 checks 评估的预算会跨档位.
---
## 1. 六个维度(批评和手评都按这几条)
每条给:✅ 通过长什么样 / ❌ 失败长什么样(例子来自真实迭代)。
### A. 覆盖度 Coverage
**当天最被讨论的话题必须进总结**. 按反应 + 回复数算热度, 越热的越没理由漏.
几种最易翻车的覆盖失败(包括但不限于下面):
- **漏头条写冷门** —— 跳过真正最热的, 选了好写的话题
- **跳过父帖空 / 纯图 / 纯问题的线程** —— 真信号在 replies 里, 不在父帖
- **漏无 ticker 的宏观 / 情绪线程** —— 它们没字符串锚点, 最易被默默忽略
### C. 忠实度 Faithfulness(红线)
§0 严格基于源的延伸: 数字 / 署名 / 观点方向 不能编, 不能写反.
### D. 结论性 So-what
每张卡的 `.sw` 必须**判断先行**: 前 6-10 字 = 立场/钩子, 不能是事实复述或"关于讨论的描述".
❌ "争的不是方向而是'该给多少溢价' —— HDD 因供给纪律更受偏好"
✅ "**HDD 该比 NAND 贵 2 turns, 没人反对** —— 争的只是数字大小"
### E. 优先级 Prioritization
板块顺序: **前段 AI/半导体/科技公司主线 → 后段 宏观/其他**.
**归属判定 = "受影响主体" 而非 "信息来源域"**:
- 关键问题: 这条信息主要 **reprice** 哪类资产?
- AI 监管 / KYC for AI / 出口管制 / Apple 关税 → 都归 AI/科技, 哪怕来源是政府
- FOMC / CPI / Iran 冲突 → 归宏观
例外: 宏观本身是 actionable 转变 (FOMC 落地 / 鹰派转向) → 可前置, 但要点明 actionable 部分.
### F. 增量性 Incrementality(每日产品头号维度)
**定义**: 频道时间线上是否**首次出现**. 基准是频道, 不是读者个人.
**价值梯度** (高 → 低, 包含以下但不限于以下):
1. **新叙事 / 首次框定** —— 例: 第一次把"散热"当瓶颈
2. **已知叙事下的新数据点** —— 例: 新目标价 / 新交易 / GPU 续约 $5.10
3. **实质变化 / 反转** —— 情绪翻转 / 共识破裂 / 预测兑现或打脸
4. **无新数据的重述** —— 零增量, 应砍
比较在**叙事 / 实体 / 数字**层面, 不是逐字. 换说法的同一叙事 ≠ 新.
> 当前状态: 账本未接入, 全靠 LLM 推断"频道时间线上是否新". 见 §5 TODO.
### F.5 Ledger 准入 — 5 类信号 + 三层架构
**Ledger 不是把所有 bullet 都丢进去**. bullet 是呈现单位, ledger 进的是**原子 claim** —— (entity, predicate, value) 三元组唯一, 信息浓缩.
**三层架构**:
- `claim` (机器索引层) — 1 entity + 1 predicate + 可选 value + 5 类标签, 自包含
- `bullet` (人读呈现层) — 1 个 bullet 可含 1-3 claim
- `narrative arc` (跨时空叙事层) — 跨多个 claim 的故事弧, 也是可追踪实体
**准入: 每个 claim 必须打 1+ 类标签, 0 类砍**.
| 类别 | 含义 | 例子 |
|---|---|---|
| **好数字** | 量化锚点, 可对照 | "FY28 AVGO XPU $250-300B 营收" |
| **好观点** | 锐利立场 + 锚点, 不空喊 | "ALC: Warsh 偏鹰 + 任务小组拖延 = rate vol 回归" |
| **好思考** | 改框架 / 启发反思 | "Jevons 反驳: 超大厂托管开源毛利更高 = 开源利空论自相矛盾" |
| **好信源** | 独特一手, 难复制 | "Mei: Jensen 长驻韩国 = 内存供应紧张的间接证据" |
| **好问题** | 引发探索 / inquiry | "如果开源 ARR 真利空, 为什么 NVDA 没反应?" |
一个 claim 可多类 (好数字 + 好观点 都给).
**时间衰减** (claim 不删, 只降权):
| 类型 | 半衰期 |
|---|---|
| fact | ∞ (除非被 supersede) |
| forecast | 锚到 forecast 日期 |
| position | 14-30 天 |
| narrative | 60-90 天, 再现刷新 |
**矛盾不仲裁, 显式建模**:
- 跨主体分歧 → 渲染成 "争论·X" 卡 (现有)
- 跨时间反转 → 渲染成 "立场翻转" 卡 (新)
- LLM 在 summarize 时跟 ledger 现有做语义匹配, 自动建 `contradicts` / `supersedes` 边
**编辑 = append-only revision, 原 claim 不可变**. 见 ROADMAP §3.6.
### G. 发言人匿名化
正文里**默认不写原始 Slack handle**(内部别名对外部读者只是字符串噪音)。
常见的替换(包括但不限于):
- **角色描述**:卖方笔记 / 存储多头 / 宏观空头 / 一位 PM
- **被动语态**:被反驳 / 有人指出 / 群里复盘
例外:当一段判断的关键 = 谁说的(已知高信誉账户)→ 第一次出现加角色注 "DCap(群内存储多头)".
Cite 弹窗仍保留原 handle, verification 不丢. 当前判断"谁是高信誉账户"靠 prompt + 人工经验兜底, 未来交给 §5.1 用户画像账本.
---
## 2. 操作性规则(备查目录)
规则层(篇幅档位 / HTML 结构 / class 名 / cite 格式 / 机密声明 等)由下游工具固化:
- `schema.py` / `render_html.py` / `build_site.py` / `render_citations.py` / `checks.py` / `prompts.md`
本规格只描述**内容质量原则**, 不重复操作性规则.
---
## 3. 什么"细节"算好细节
判断一个细节该留还是该砍, 问一句: **它是不是"赢得信任的数字"?**
- ✅ **留**: 能锚定判断的具体数字 (数量级阶梯 / 供需缺口比率 / 分级 TAM 等)
- ❌ **砍**: 没有判断附着、也没有新映射的罗列
- 例外: 清单本身**首次系统化** (如首次理出 Rubin 单板 MLCC 6 家供应商及份额) → ①级增量, 不是伪细节
**深度按热度分配**:
- **天内**: 当天 Top-3 旗舰主题给量化纵深; 长尾一句话带过
- **跨天**: 整体篇幅按热度走 (见 §0)
前提: 只用源里真实数字, 缺则不写.
### 3.0 表达密度 —— 优先用符号
当判断有清晰的因果/等价/并列关系时,**优先用符号替代汉字连接词**。密度高、消歧准、不像 AI 写法。
| 符号 | 含义 | 例子 |
|---|---|---|
| `→` | 递进 / 流程 / 因果 | "Anthropic 限制 → 企业转中国开源 → 利空 AI capex" |
| `=` | 等同 / 定义 / 结果 | "散热 = 新瓶颈" / "瓶颈交易没死 = 没看到 capex 下滑" |
| `+` | 并列 / 累加 | "WDC 涨 + STX 没涨 = LTA 一刀切了浮动定价" |
判断要不要用符号: 这段话能不能用 "X = Y" 或 "A → B → C" 一句话讲完? 能 → 优先用符号。不能(含多重转折/限定)→ 用汉字句。**不要硬塞符号让句子变碎**。
### 3.1 默认无信号的细节
没有绝对的伪细节, 只有"默认无信号"的. 这些**默认砍**, 但满足触发条件可保留:
- **默认砍**: 二手新闻 / 盘中情绪 / P&L 八卦 / 无依据预测 / 同义重复 / 看图无文 / 过期 catalyst / 技术分析口水 / 未完成思考 / 机制科普
- **触发保留条件**: 多人共振 / positioning shift / 高信誉账户 / 共识强度 / 新角度重新解读 / 首次机制揭示
- **永远砍**: 纯情绪表态 (+1 / this), 这是热度信号不是内容
## 4. 评分方式(刻意保持简单)
- **不打数字分**(7.3/10 没法行动)。批评一律输出**可执行的话**:"X 板块只列票没结论,建议……"。
- **手评只用 👍 / 👎 + 一句话原因**,记进日志。
- eval **反应式生长**:只有当输出**反复**栽在同一个点上,才把那条固化进本规格或 checks.py。没坏的不加检查。
---
## 5. 增量账本 (state/ledger) — 基础版本, 待迭代
§F 的"以时间为基准"需要"过去说过什么"的记忆.
**目标结构**: 滚动窗口内 (默认 14-30 天) 累积 `narratives` / `entities` / `figures`, 每条带首次出现日期.
**目标流程**: 今天 ⊖ 账本 = 增量; 发布后追加新增项; 淘汰超窗口旧项. 对比在**叙事 / 实体 / 数字**层面做, 靠语义而非字符串.
**冷启动**: 第 1 天空账本 → 全部算新.
**当前状态 (TODO)**: 账本未正式接入, 由 LLM 凭单日 transcript 推断"是否首次出现". 后续迭代:
- 落地 `state/ledger.json` 数据结构
- 渲染期填充 prompt 的 `{{LEDGER}}` placeholder
- 接入 UPDATE-LEDGER 闭环 (每天发布后更新)
### 5.1 用户画像账本(未来扩展,未实现)
`state/persona.json`:`handle → {角色 / 覆盖板块 / 信誉档 / 立场倾向}`。
当前**未实现** —— 正文匿名化(§1G)作为兜底。等积累足够数据后,能给三处升级:
- **§1G 例外条款**:"谁是高信誉账户"从经验判定 → 数据判定(首次出现自动配 "DCap(群内存储多头)" 角色注)
- **§3.1 条件规则表**:"高信誉账户首次表态"的触发条件有了实际依据
- **§F 增量性加权**:常被验证为正确的账户首次表态 → 自动升为 ① 级新叙事
数据来源:日积月累的总结里手动给 handle 打标(角色 + 信誉 + 立场),或者跑离线分析(某 handle 历史表态的命中率)。先 prompt 兜底,等数据上来再上系统。Twitter Selection v2帖子级筛选、重要度与人工校准注意
82/200
逐条标注
41% 完成
0
两两排序
用于校准相对重要度
2.0.0-baseline
规则版本
冻结前 baseline
在线
云端同步
waiting_for_labels
样本单位:source post · 数据截至 2026-07-03 · 来源与 atom provenance 覆盖率均为 100%。当前人工标签通过 Worker KV 持久化,并保留逐次写入历史。
打开 Selection v2 标注工作台 →权威配置:
profiler/selection_contract_v2.json · profiler/selection_rules_v2.json · eval profiler/reports/selection_eval_latest.jsonTaste Context筛选口味与判例正常
6
active beliefs
上限 50
7
current focus
上限 10
8
examples
正/反/边界
0
validation
schema
Charter
- 我们筛选的是能改变 TMTB 对核心实体、核心议题、产业节奏或市场叙事判断的信息。
- 好信息要能压缩成可追踪的 claim,或者能解释一个重要 claim 为什么正在变得重要。
- 作者权重只是先验;最终选择发生在单条内容层。
- `incremental` 必须说明相对谁增量:相对已有账本、市场共识、作者惯常内容,或当前研究主线。
- 不是只有新增事实才值得选;对当前重要叙事提供独立确认、反证、置信度变化、叙事压缩或传播放大的内容,也可以进入系统。
Current Focus
AI 基础设施与算力产业链:capex、芯片、内存、封装、服务器、…前沿模型与 AI 产品采用:模型能力、价格、API、agent、A…供应链与公司 read-through:订单、出货、产能、价格、客…市场叙事与预期变化:共识加强、反共识证据、争议点、估值叙事、关键投…数据和排名信号:流量、benchmark、份额、价格、榜单、第三方…官方与准官方信息:产品、路线图、客户、定价、指标、监管和政策,但需…早期线索和预警:rumor、leak、paywall teaser…
Active beliefs
| ID | Topic | Conf | Belief | What changes it |
|---|---|---|---|---|
b_ai_capex_not_slowing | AI capex | medium | AI compute buildout still appears to be expanding; isolated pause signals should be checked against ASIC, HBM, … | Multiple hyperscalers cut capex guidance or supply-chain order data weakens across GPU,… |
b_asic_supply_chain_readthrough | ASIC / Trainium | medium | Hyperscaler ASIC ramps matter because they shift the read-through from only NVIDIA GPU demand to ODM, networkin… | ASIC shipment evidence stays headline-only without order, supplier, capacity or timing … |
b_data_sources_need_topic_gate | data/rankings | high | Similarweb, Artificial Analysis, TrendForce and ranking/data accounts are high-trust inputs only when the measu… | Repeated off-focus data points become useful in downstream product decisions. |
b_paywall_teaser_can_be_signal | paywall teaser | medium | Paywall teaser is not automatically low value; teaser headlines with a clear claim, entity, timing, number or e… | Review shows teaser-only items usually cannot be followed up or converted to claims. |
b_persona_accounts_are_narrative_sensors | industry persona | medium | Some industry-known individuals are valuable because their views propagate; they should be judged by narrative … | Selection labels show persona-driven content rarely changes beliefs or downstream choic… |
b_official_accounts_need_marketing_filter | official accounts | high | Official accounts are useful for product, pricing, customer, roadmap, metric and partnership facts, but ordinar… | Marketing-only posts consistently reveal material adoption or market timing signals. |
Taste examples
| ID | Kind | Decision | Pattern |
|---|---|---|---|
ex_persona_strong_view | positive | narrative | 行业名人或 builder 对 AI coding、模型能力、产品方向提出新鲜且可能发酵的观点。 |
ex_official_marketing | negative | ignore | 官方号发布普通品牌文案、活动宣传或没有新产品/客户/价格/指标的 marketing 材料。 |
ex_teaser_with_claim | boundary | watch | paywall teaser 只有标题/摘要,但标题包含 AWS Trainium 拉货、供应链 QoQ、客户/订单或时间点。 |
ex_reinforces_active_belief | positive | fact | 内容不是全新主题,但来自独立来源,提供新的数字、时间点、供应商、客户或订单证据,加强一个 active belief。 |
ex_challenges_active_belief | positive | watch | 内容反对当前主线或 active belief,并给出可检查证据,例如订单放缓、价格转弱、客户推迟、产能过剩。 |
ex_repetition_without_impact | negative | ignore | 内容只是同源搬运或重复市场共识,没有新证据、新角度、传播意义或置信度变化。 |
Example kind
Decision
Context Budget
- Charter 保持 1-2 页内。
- Current Focus 保持 10 条以内。
- Active beliefs 保持 50 条以内,旧 belief archive。
- 每次 LLM 判断最多检索 3-8 条相关 belief/example。
- 系统可以建议新增/修改 belief,但不能无审核地无限写入 context。
管理文件:
TASTE_CONTEXT.md · taste/taste_beliefs.jsonl · taste/taste_examples.jsonl · 快照 taste/taste_context_snapshot.json项目备忘录尚未产品化的判断正常
低频有用作者
- 有一类作者平时没有稳定观点,但偶尔会有一两条有价值信息。不要直接排除,也不要给高权重。
- 默认放在 `偶尔参考` / B 档,低权重保留。
- 只有当内容碰到重要实体或重要议题时才放大权重。
- 重要实体例子:OpenAI、Anthropic、NVIDIA、AWS、Microsoft、Google、Meta、TSMC、SK Hynix、Micron、Broadcom。
- 重要议题例子:模型能力变化、AI capex、ASIC/Trainium/TPU、GPU 供需、HBM/内存、先进封装、数据中心电力、关键产品发布、业绩指引变化。
数据/榜单源
- Similarweb、Artificial Analysis、TrendForce 这类源的价值取决于话题交叉,而不是账号本身每条都重要。
- 先判断数据对象是否碰到当前主线实体或主线议题。
- 例如 Similarweb 分析 ChatGPT、Claude、Gemini、Perplexity、AI 搜索份额时重要性高。
- 例如 Similarweb 分析 Instagram 或普通消费 App 流量,如果当前项目没有这个主线,重要性低。
- 数据源可以高信任,但不是每条都高相关;`trust` 和 `relevance` 要分开看。
Rumor / leak 源
- 产品 leak、供应链 rumor、市场传闻要保留,但必须降低事实确定性。
- 未确认前标为 rumor,不直接进入事实层。
- 如果 rumor 触及核心实体或会影响市场预期,可以进入观察层。
- 后续若有公司公告、主流媒体、供应链多源确认,再升级。
行业名人 / 叙事源
- 有一类行业知名人士不是稳定新闻源,也不一定每条都是硬信息,但他们的观点会被行业/市场二次传播。典型特征是:别人会因为“这是某个人的观点”而专门去看,例如 Peter Steinberger 这类强人格从业者。
- 在作者画像里使用 `行业名人/叙事源` 预设,默认不排除。
- 账号层可以给 S/A 档和较高洞察分,但单条内容仍要过实体、议题、新鲜度门控。
- 高价值命中:OpenAI/Anthropic/模型能力、AI coding、产品方向、关键公司叙事、会被社区发酵的观点。
- 低价值过滤:纯闲聊、回复串碎片、人格化玩笑、没有可转述 claim 的情绪表达。
作者规则草稿 v1
- 作者画像字段应当是宽松路由提示,不是硬 taxonomy。不要把话题切得太细;例如 `Taiwan semi` 这类边界模糊的概念,应优先归到 `Asia supply chain` 或 `AI infra/semis` 这类宽域,再让 LLM 按单条内容判断是否命中。
宽字段
- `scope_hints`: 作者大致在哪些宽域有发言权,例如 `AI models/products`、`AI infra/semis`、`Asia supply chain`、`company official`、`data/rankings`。
- `content_modes`: 常见内容模式,例如 `original insight`、`official update`、`data point`、`news/alert`、`rumor/leak`、`interview/context`、`paywall teaser`、`personal narrative`。
- `noise_hints`: 常见噪音,例如 `marketing`、`personal rant/jokes`、`non-AI/tech`、`duplicate/aggregation`、`stale explainer`。
- `ingest_hint`: 默认入库层,例如 `fact`、`watch`、`narrative`、`alert`、`ignore`。
约束
- 这些字段只提供先验,不能直接决定单条内容是否入库。
- `paywall teaser` 不天然降权;如果标题/摘要本身包含观点、叙事、关键问题或市场关注点,应进入 `watch` 或 `narrative`。
- 官方号不天然高权重;marketing 材料要降权,但产品发布、模型能力、客户/合作、定价、路线图和指标应保留。
- 官方关键人物、行业名人和 builder 个人号需要区分人格化叙事和低信号发牢骚;前者可以进入 `narrative`,后者过滤。
- Selection Lab 应展示作者规则提示,但最终仍由人对单条内容标注“该不该选、为什么”。规则质量要从这些标注里反推。
完整规则见
PROJECT_MEMO.md;这些是可迭代判断,不是硬契约。成本 · LLM本地记账下限空闲
≥$4.02
已记账 (下限)
仅 2026-07-03 起主管道
1528
记账条数
漏: fork/历史/ClaudeCode
1,382,988
TMTB输出·Gemini token
51 次 · ≈$2.24
| 模型 | 调用 | 输入 | 输出 | ≈成本 |
|---|---|---|---|---|
| deepseek | 1,431 | 2,758,890 | 2,331,475 | $1.04 |
| gemini | 97 | 1,517,983 | 217,087 | $2.98 |
注意: 这不是真账单, 是严重低估的下限。 llm_usage 只从 2026-07-03 起、只记主管道 llm_lib 调用 — 不含: ① 之前的全量 enrich/抽取 (百万级 token) ② news/profiler 等 fork (无记账) ③ Claude Code 自身 (Anthropic 账单, 大头)。
策展层教义、模块与残料盒正常
| 教义判词 | 13 条 |
|---|---|
| 刊件模块 | 1 · keydata_memory_pricing |
| 合并持证率 | 45/150 (30%) |
| 刊读原文覆盖 | 150/150 (100%) |
燃料 · 瓶颈标注与沉淀正常
| 快标 (质量权重燃料) | 8 |
|---|---|
| 沉淀 (你留下的判断) | 2 |
0 = 排序在用默认权重盲跑
系统债待还的技术债与积压注意
- 90 commits 未推
- 微信2940条待原子化
- 休眠登记 5 项
TMTB Asia独立英文项目注意
| 工作区 | 14 未提交 |
|---|---|
| 最近提交 | 08-10 15:41|Cite TrendForce iPhone 18 Pro BOM tweet with 2027 memory h |
| 素材 / 样张 | 5 素材 · 4 html |
| 站点 | tmtb-asia.pages.dev · /drop |
操作 · 工具入口打标、问答、收料与站点空闲
实时推特先看当前 Profiler + Selection v3 的过去 24 小时排行榜标注推特打标给 X/Twitter 作者打标签校准帖子筛选 v2200 条 source post 盲标、重要度与两两排序旧版选择规则实验室 v1旧版 tweet/atom 分层标注工具查询问答 /ask查询账本与沉淀内容输入收料 /dropTMTB Asia 输入投递;提交后进入语料 Inbox处理收料 Inbox查看、改写、删除和标记已用素材健康Drop API开放投递 API 健康和 inbox 计数测评Slack 日报测评台逐日对比总结覆盖、遗漏、多写与证据问题输出消费站静态站与控制台输出TMTB Asia英文项目站点