研报检视与本地嵌套(Report Review & Local Nesting)
这个 skill 解决什么
一份研报给出的是发布方在其样本、其立场、其时点下的判断。它能不能直接拿来指导本地决策,
取决于三件事:
- 它的论证本身成不成立(A 线:学术式批判)
- 它的结论在本地量级下还成不成立(B 线:决策导向量化)
- 本地条件有没有改写它的前提(嵌套)
三条都过,结论才可用。任何一条不过,都要降级为"参考维度"而非"行动依据"。
核心判断:绝大多数研报的失效不是因为错了,而是因为量级不同——它描述的是一个年吸纳
能跟上供应的市场,而本地市场不是。这一条用闸门卡,不用嘴辩。
硬规则(不可跳过)
- 未读完不评价。原文 100% 通读后才动笔。长文本用
scripts/clean_source.py清洗后分块读
(Read 工具对单行超长文件会截断,必须用 Python 分块 print)。 - 所有数字在脚本里算,禁止心算。测算脚本保留在工作区根目录,便于换数据重跑。
- 证据分级必标:A=一手/官方,B=可靠二手,C=合理推论与测算,D=待核对。
带 D 的数据不得作为任何结论的支撑,只能在附录列出。 - 结论必须可证伪:每条核心结论配「检验时点 + 数据来源 + 推翻条件(量化)」。
给不出推翻条件的,不是分析,是信仰。 - 闸门优先于论证。先算量级闸门,再讨论细节。闸门不过,后面的品质溢价/升级叙事一律作废。
工作流(8 步)
Step 0 · 建城市参数卡
复制 assets/city-template.json → 填目标城市的基线数据(存量、空置率、租金、年净吸纳、
未来 N 年新增供应、政策补助、租户结构)。这一步做不完,后面全是空转。
数据缺口标 D,不要编。
Step 1 · 通读与清洗
python scripts/clean_source.py <输入文件> → 去图片路径、保留 alt 文本 → 分块读。
Step 2 · A 线:学术式批判
加载 references/axis-a-epistemic.md。
逐个维度过,产出问题清单,按 🔴 Blocker / 🟡 Major / 🟢 Minor / ❓ 存疑 分级。
只要有一条 Blocker,该报告的核心结论就不能直接引用。
Step 3 · B 线 + C 线:决策导向量化与市场专业维度
加载 references/axis-b-decision.md(决策导向)与 references/axis-c-market.md(市场专业)。
先跑闸门:python scripts/calc_gate.py --config <city.yaml>。
Step 4 · 拆「可移植内核 / 不可移植外壳」
- 可移植内核:不依赖当地量级的变量清单与权重框架(如"决策时考虑的六个因素及其排序")
- 不可移植外壳:依赖量级与制度条件的结论(如"品质将获得溢价""应升级办公空间")
只有内核能带走。
Step 5 · 本地嵌套
加载 references/local-nesting.md。五步:建基线 → 过闸门 → 找本地修正项 → 横向锚定 → 出预测。
Step 6 · 可证伪预测
加载 references/falsifiable-prediction.md。每条:预测 + 时点 + 数据源 + 推翻阈值。
Step 7 · 输出
按 references/output-templates.md。默认双交付:Word 深度报告 + Excel 评分/测算矩阵。
若要出公众号文章 → 转 wechat-publisher skill。
量级闸门(核心,Step 3 必跑)
压力倍数 R = (未来 N 年新增供应 ÷ N) ÷ 当前年净吸纳量
R ≤ 1.2 紧平衡 → 研报的"品质溢价/提质保价"论断可用
1.2 < R ≤ 2 温和过剩 → 整体承压,仅结构性机会,品质溢价需逐案验证
R > 2 严重过剩 → 品质溢价类论断自动失效,回到现金价格逻辑
配套两个量:
- 可租库存消化年限 =(当前空置面积 + 未来 N 年新增)÷ 年净吸纳量
- 再造成都 =(当前空置 + 未来新增)÷ 现有存量 —— 接近 1 说明"再造一个市场"
脚本一次算全:scripts/calc_gate.py。
已知失效模式(复核清单,逐条对照)
| 失效模式 | 典型症状 |
|---|---|
| 图表方向与断言相反 | 数据 45.7% > 43.2%,正文却说"已升级为战略层面" |
| 多选当单选 | 五项相加 300%,表述成"超过八成的企业" |
| 样本单位 ≠ 结论单位 | 61.7% 是职能部门负责人,却用来证明董事长/CEO 主导 |
| 事后合理化 | "67.9% 选址与产业集群匹配"——样本本就是已落位企业 |
| 漏掉总乘子 | 人均面积下降,但没乘人数变化,直接说"需求萎缩" |
| 反例被略过 | 46.9% 从未采用某模式,一笔带过不解释 |
| 分项不加总 | 分项百分比合计只有 88.9%,缺的 11.1% 不说明 |
| 一次性需求当持续 | 净吸纳里存量搬迁占八成,却按持续需求外推 |
| 未披露利益冲突 | 结论最终指向"采购更多咨询服务" |
参考文件(按需加载,不要一次全读)
| 文件 | 用途 |
|---|---|
references/axis-a-epistemic.md |
A 线:学术式批判 13 个维度 + 提问模板 |
references/axis-b-decision.md |
B 线:决策导向量化与结构 10 个维度 |
references/axis-c-market.md |
C 线:市场/地产专业维度 8 条(可继续扩充) |
references/local-nesting.md |
本地嵌套五步 + 本地修正项清单 |
references/falsifiable-prediction.md |
可证伪预测模板 + 示例 |
references/evidence-grading.md |
证据分级标准与标注规范 |
references/output-templates.md |
Word / Excel / 公众号输出骨架 |
scripts/calc_gate.py |
量级闸门 + 空置情景 + 有效租金 + 资产端测算 |
scripts/clean_source.py |
长文本清洗(ima / PDF 抽取) |
scripts/md2docx.py |
Markdown → Word |
assets/city-template.json |
城市参数卡模板(换城市填这个) |
维度扩充原则
本 skill 的维度清单不是封闭的。遇到新市场类型或新论据形态时,自行增补维度,标准是:
新增维度必须能回答"这条不成立会怎样"——不能改变任何结论的维度是装饰,不加。
扩充后回写 references/axis-c-market.md(市场类)或对应 axis 文件,并在 SKILL.md 的版本号上 +0.0.1。