# Industry Map

> AI 数据中心的行业树与每一行的底层估值逻辑——从 AI 侧可观测量到这一行收入/价格的传导链、该用哪族倍数、这一行最常见的估值错法、以及最该盯的那几个先行指标。个股分析命中树里的公司时，用它把「这家公司」放回「这一行的量价驱动」里，而不是每家都从头讲一遍 AI 故事。

- Skill: `b-m-capital-research/industry-map` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add b-m-capital-research/industry-map`
- Raw SKILL.md: https://api.skillmd.com/api/skills/b-m-capital-research/industry-map/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: b-m-capital-research (https://skillmd.com/u/b-m-capital-research)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/b-m-capital-research/industry-map

---


## 行业本体（AI 数据中心八行 + 商业太空 + AI 应用与数据服务，共十行）

`references/industry-map.json` 是这棵树：根节点是 AI 数据中心，下面平铺 AI 芯片、存储、光通信、
电力、新云、半导体设备、AI 服务器与整机、云厂与 AI 平台。每一行有四块内容：

| 块 | 是什么 | 怎么用 |
|---|---|---|
| `ai_valuation_logic.driver_chain` | 从 AI 侧一个可观测量出发、一环扣一环落到这一行收入或价格的传导链 | 它是这一行的第一性公式。个股分析里「需求从哪来」那一段照它写，不要另起一套 AI 叙事 |
| `ai_valuation_logic.key_variables` | 链条每一环的可观测量，带取数位置 | 本轮该去取哪些数由它决定；取不到的写「本轮未核验」并说明它压住了链条哪一环 |
| `ai_valuation_logic.multiple_anchor` | 这一行该用哪一族倍数、锚在哪 | 交给 `valuation-audit` 当二问的对标锚先验；公司卡另有指定时以公司卡为准 |
| `ai_valuation_logic.anti_pattern` | 这一行最常见的估值错法 | 与公司卡的「不要…」同等对待：在真正选倍数或分母的那一句里点名对照 |
| `core_watch` | 这一行最该盯的先行指标与它的出现频率 | 触发条件与跟踪清单从这里取，不要写「持续关注行业动态」 |
| `upstream_signals` | **本体的边**：这一行的收入由哪几家上市公司的最近行为决定，以及写这一行之前该先取它们的哪几个读数 | 命中成员公司时，**先取上游再写公司**：`data_fetch(earnings_outlook, ticker=<上游>)` 拿最新一季收入/指引/毛利率，`analyst_actions` 拿评级与目标价变动，`transcript`/`press_releases` 拿管理层关于本行的原话。需求侧第一段写「上游最近做了什么 → 沿传导链到这家」，不是「关注英伟达财报」 |
| `valuation.upstream_summary` / `transmission` | **上游信号**（需求怎么从终端任务传到本行）与**变量传导与证伪**（先后顺序与下修条件，阈值按公司历史与合同定，不套全行业统一百分比）。 |
| `valuation.observables[]` | **可观测变量**：每条绑定定义与口径、取数、更新节奏、财务传导；未公开值标缺失，不能用行业代理量冒充本公司实测。 |
| `valuation.logic` | **底层估值逻辑（HOne V3）**：`summary` 一句从哪里出发、`paragraphs` 原文、`formulas` 量化关系、`forward_focus` 未来 1–3 年先看什么、`state_note` 这一行典型的 State。 |
| `valuation.anchor` | **倍数锚（HOne V3）**：`paragraphs` 原文、`upper_range_drivers` 倍数上沿由什么决定、`revision_optionality` 盈利上修期权、`forbidden` 禁止清单。 |
| `valuation.subtypes[]` | **子类型**：同一行里价值链位置不同的公司各自的 `primary` / `secondary` / `when` / `note`，`members` 是所属公司；注入时只带命中公司那一条。`inferred_members` 标记底稿按最近子类型推断归类、尚未人工确认的公司。 |
| 根 `methodology.technical_conventions` / `acceptance_cases` / `references` | V5.3 全局技术口径（有效任务与系统数、KV 缓存、HBM 晶圆强度、互连端口、功率电量、EV/Sales = EV/EBIT × 利润率、PE 与 EV 价格贡献计算）、20 条估值引擎验收算例、方法与核验来源。 |
| 根 `methodology` | V5.3 全局字段（21 节：页面总述、核心原则、事实与关系、前瞻期间与产能释放、经营预测与合同、方法选择与倍数校准、多方法定价与时间口径、利润与普通股资本桥、现金回报与资本风险、情景与反向估值、完整性与结论输出、异动与比较问题、来源与当前事实展示、远期收入的证据等级、共识与市场起点、倍数校准记录、估值贡献拆解、双重上修与不重估检验、收入倍数的资本检查、情景资本结构的闭合、结论与红绿灯边界）与 12 个估值回答执行字段。 |
| `brief` | **行业简报**（可选）：`question` 现在值得研究的问题、`body` 为什么是现在、`next[]` 接下来要确认什么、`as_of` 这份判断截至哪天。研究台页面每个行业打开先看到它；没写时页面用最新动作与第一条关注点自动归纳。管理员用 `industry_map_edit(action="set_brief" / "clear_brief")` 维护。本轮不注入模型。 |
| `core_watch[].as_of` / `key_variables[].as_of` | 那条 `why` 里的数字截至哪一天（或哪个月）；页面据此显示「数字截至」并在超过一个季度时标「可能已过期」。关注点用 `set_watch` 整条更新（连数字一起改，不单改日期）；变量表只随底稿发版更新。行级 `content_as_of`（API 派生）是这些日期与 `latest_as_of`、`sources[].date` 的最大值，`generated_at` 只是底稿版本日期。 |
| `upstream_signals[].latest` / `latest_as_of` | 那家上游**最近一季实际做了什么**（带数字、带日期的一段）与截至日期。注入时排在传导链之前，需求侧第一段就从它写起；管理员每季财报后用页面或 `industry_map_edit(action="set_upstream_latest")` 更新，过期就按截至日期注明。 |

## 怎么把行业接进个股分析

本轮系统提示出现【本轮相关行业】时，说明用户问的公司在树里。四件事，按顺序：

0. **先写上游最近动作，再核对更新，再按子类型执行卡定财年与倍数，再写公司。**行业块里每条上游信号带的「上游最近动作」是这一行的起点事实（带日期数字），对账表、增长来源、基准情景三处都要落它，写之前用 `earnings_outlook(ticker=X)` 核对有没有更新的一季。 行业块里列的「上游信号」是这一行收入的来源（存储、光通信、新云都挂在英伟达的财报上）。
   这一轮的第一批取数里必须有它们：最新一季实际数字与下季指引、毛利率、管理层关于本行的表述、评级与目标价变动。
   正文需求侧第一段写的是「上游**最近一季**实际做了什么 → 沿传导链传到这家」；上游没取到就明写「本轮未取到 X 的最新财报」，
   不得略过，也不得拿记忆里的旧季度代替。这一步做不到，后面的估值就还是「按标准模板答」。

1. **需求侧用行业的传导链，不要每家重讲一遍 AI 故事。**「AI 需求旺盛」不是论据；
   `driver_chain` 里那条链的**当前环节读数**才是。链条上游的量（token、集群规模、云厂 capex）
   对同一行的所有公司是共用的，差异出现在下游的份额、价格与产能环节。
2. **公司在这一行的位置决定它拿到多少。** 成员条目的 `role` 写的就是它和同行的差别；
   把行业的量传到这家公司，中间必须经过份额、认证、产能或合约这几个闸门中的至少一个，
   不能把行业增速直接当成公司增速。
3. **倍数先看公司卡，再看行业锚。** 公司卡的估值框架优先级最高（见 `valuation-audit` 第二步）；
   公司卡没指定时用行业的 `multiple_anchor` 当先验，仍要按 `valuation-audit` 的三问推导出本轮的倍数。
   两处的 `anti_pattern` / 「不要…」都要在选倍数那一句里被点名对照。

## 树的内容会变

管理员可以在对话里（`industry_map_edit`，只注册给管理员）或研究台「行业分析」页面的编辑模式里直接改这棵树，
包括新增/移除行业与上游信号。改动写进数据目录的
追加式日志，研究台与每轮注入下一次读取即生效，不需要重启或发版。所以：

- **不要凭记忆复述这棵树的内容**，每次都以本轮注入的【本轮相关行业】或本 skill 读到的 JSON 为准。
- 用户问「这一行为什么这么写」时，改动日志里有谁在什么时候改的与当时给的理由；
  研究台「行业分析」顶部的「最近改动」卡片展示同一份记录。
- 同一行里不同块的日期可能不一致（关注点的 `as_of`、上游的 `latest_as_of`、来源的 `date`）：
  引用时以最新的那个为准并注明截至日，不要把行级 `content_as_of` 当成每一条都刷新过。

## 边界

- 行业块是**结构与先验**，不是当前事实。里面的每个数字都带 `sources` 里的出处与日期；
  引用时要么标明出处与日期，要么用本轮工具重新核实。行业结论与本轮一手证据冲突时，以一手证据为准。
- 树里的公司名单不是推荐名单，`role` 也不是评级。从板块挑标的与配比走 `sector-to-stock`。
- 树里只收美股与 ADR。非美股同行的作用由传导链、关注点与上游信号承载，不给它们估值或买卖判断。
- 一家公司可以同时落在多行（例如博通同时是 AI 芯片与网络）。命中多行时，
  先说清它主要靠哪一行赚钱，再说另一行是期权还是拖累。

