forecast)展示 WorldMonitor 预测管道产出的预测。每条预测是一个结构化的预言,包含概率、领域分类、时间范围和支持信号;面板提供两个筛选维度(领域和宏观区域),让你聚焦于关心的切片。
面板显示内容
一个活动预测列表,通过两行标签筛选:领域筛选
All / Conflict / Market / Supply Chain / Political / Military / Cyber / Infra
区域筛选
All Regions / MENA / East Asia / Europe / South Asia / Africa / LatAm / N. America
区域无法归类(未知或 global)的预测仅出现在 All Regions 下。面板的最低概率阈值为 0.1(10%)— 低于该阈值的预测不在面板视图中显示。
每条预测行显示预测文本、事件概率、领域(颜色编码)、时间范围和精简的来源溯源链。深度模拟路径置信度单独显示为置信度,而非事件概率。
校准与投射说明
预测概率来自scripts/seed-forecasts.mjs 中确定性的、基于规则的信号检测器,并在存在匹配的市场锚点时可选地与预测市场混合。LLM 调用不设定数值概率。它们在已评分的预测周围生成叙事场景、案例文件、分支和视角文本。种子器中默认由源支持的 LLM 路由为 OpenRouter deepseek/deepseek-v4-flash(主,推理已禁用)和 Groq llama-3.3-70b-versatile(回退)。一个被跟踪的例外:关键信号提取阶段向状态派生(市场/供应链)预测的确定性评分贡献信号强度/置信度,因此在校准问题解决之前,该阶段保持锁定在其旧有模型上(见 issue #4963)。
仅当种子器能将预测匹配到预测市场锚点时,预测概率才经过市场校准。在那些情况下,calibration 对象包含市场标题、市场价格、漂移和来源,显示的概率与该市场锚点混合。calibration: null 的预测是源自 WorldMonitor 信号规则的内部/旧有估计,而非外部市场校准的概率。
种子器还从 scripts/seed-forecasts.mjs 中领域专属的投射曲线发布时间范围投射(24h、7d、30d)。市场预测在展开三个时间范围之前,会针对其领域曲线中的最强乘数进行归一化,因此 30 天的市场发射不会夸大 24 小时的投射。其他领域将发射的时间范围保留为语义锚点。投射概率随后被钳制到 1% 下限和 95% 上限(0.01 / 0.95)作为展示启发式,因此投射端点应被解读为有界的场景路径,而非无约束的校准概率。
GET /api/forecast/v1/get-forecasts 响应包含 degraded、stale 和 error 字段,以便客户端区分后端/缓存中断与健康的空预测集。
面板 id 为 forecast;规范组件为 src/components/ForecastPanel.ts。
如何访问
- Cmd+K:输入 forecast、ai forecast 或 predictions ai。命令面板标签为 “AI Forecasts”,尽管内部面板 id 为
forecast。 - 按变体的可用性:仅在 full/geopolitical 变体中注册并默认启用。在 tech、finance、commodity 或 happy 变体中不存在。来源:
src/config/panels.ts中的FULL_PANELS。
数据来源
主要 RPC:GET /api/forecast/v1/get-forecasts。面板还消费相邻 RPC 以支持更丰富的深度模拟界面:
GET /api/forecast/v1/get-simulation-package— 最近的模拟输入包。GET /api/forecast/v1/get-simulation-outcome— 最近的模拟结果。POST /api/forecast/v1/trigger-simulation— 在缓存的 cron 输出之外启动一次新的模拟运行。
forecast:predictions:v2。宏观区域分类来自 shared/forecast-macro-regions.js。
评分与校准
已发布的预测在到达面板之前会被封顶和去重:| 规则 | 上限 |
|---|---|
| 每个情境的预测数 | 3 |
| 每个情境/领域对的预测数 | 2 |
| 每个族的预测数 | 4 |
| 每个族/领域对的预测数 | 2 |
| 目标发布数量 | 10-14 |
| 冲突基线检测器概率上限(速度尖峰之前) | 0.90 |
| UCDP 冲突区在 10 事件时的门槛下限(速度尖峰之前) | 0.35 |
| UCDP 冲突区基线概率上限(速度尖峰之前) | 0.85 |
| 冲突速度尖峰覆盖上限 | 0.99 |
| 市场概率上限 | 0.85 |
| 供应链 / 海事概率上限 | 0.85 |
| GPS 供应链检测器概率上限 | 0.60 |
| 政治概率上限 | 0.80 |
| 军事概率上限 | 0.90 |
| 基础设施概率上限 | 0.85 |
| 网络概率上限 | 0.72 |
0.4 * market_probability + 0.6 * internal_probability。
市场分桶场景校准是 scripts/seed-forecasts.mjs 中的一个编辑校准层,而非学习到的市场模型。它偏置市场上下文模拟状态如何贡献到预测压力和置信度,使得直接的能源/运费传导获得更多抬升,宽泛的宏观分桶保持适度,而国防重新定价除非证据充分否则被抑制。
| 分桶 | 模拟偏置:confirmation / pressure / edge / contradiction | 状态校准:edgeLift / macroLift / confidenceLift / dampener | 依据 |
|---|---|---|---|
| 能源 | 0.20 / 0.12 / 0.10 / 0.14 | 0.08 / 0.14 / 0.05 / - | 强劲的直接路线、大宗商品和宏观传导。 |
| 运费 | 0.18 / 0.12 / 0.10 / 0.14 | 0.09 / 0.12 / 0.04 / - | 航运成本冲击被视为高信号供应链压力。 |
| 主权风险 | 0.17 / 0.11 / 0.09 / 0.15 | 0.07 / 0.10 / 0.04 / - | 宏观压力很重要,但确认仍需国家/市场证据。 |
| 利率 / 通胀 | 0.16 / 0.10 / 0.08 / 0.16 | 0.06 / 0.12 / 0.05 / - | 政策和通胀传导宽泛但事件针对性较弱。 |
| 外汇压力 | 0.15 / 0.09 / 0.08 / 0.14 | 0.05 / 0.10 / 0.04 / - | 货币压力被允许抬升风险,置信度适中。 |
| 半导体 | 0.13 / 0.08 / 0.09 / 0.12 | 0.04 / 0.04 / 0.02 / - | 半导体冲击需要针对性的基础设施或航运证据。 |
| 加密货币 / 稳定币 | 0.11 / 0.07 / 0.08 / 0.12 | 0.03 / 0.05 / 0.02 / - | 数字资产压力是有用的上下文,但获得较轻的宏观抬升。 |
| 国防 | 0.08 / 0.04 / 0.05 / 0.10 | -0.03 / 0 / -0.03 / 0.12 | 国防信号被有意抑制,以避免对嘈杂的安全头条过度反应。 |
0.35,并在 100 事件时升至 0.85 基线上限。当匹配的 EMA 风险评分具有 velocitySpike 时,种子器在基线上限之后添加 +0.08 概率覆盖,并将结果钳制到 0.99。
国防状态校准在表格之外有额外的直接确认项:每单位直接 defense_repricing 确认添加 +0.12 压力和 +0.08 置信度。当该直接国防确认缺失时,压力减去表格驱动的 dampener(0.12),置信度减去单独的 0.04 缺失惩罚。
概率投射通过领域曲线扩展到 24h、7d 和 30d。市场投射使用曲线的峰值乘数作为锚点;其他领域使用预测发射的时间范围:
| 领域 | 24h | 7d | 30d |
|---|---|---|---|
| 冲突 | 0.91 | 1.00 | 0.78 |
| 市场 | 1.00 | 0.58 | 0.42 |
| 供应链 | 0.91 | 1.00 | 0.64 |
| 政治 | 0.83 | 0.87 | 1.00 |
| 军事 | 1.00 | 0.91 | 0.65 |
| 网络 | 1.00 | 0.78 | 0.40 |
| 基础设施 | 1.00 | 0.50 | 0.25 |
rising、falling 和 stable,基于相对前一个预测快照的 +/- 0.05 概率 delta。
结算规范
每条已发布的预测都带有一个结算规范 — 一份机器可校验的合约,定义在结算时点“应验”的含义。该规范要么是hard(可通过比较检测器评分所用的同一 WorldMonitor 源中的一个指标来自动结算),要么是 judged(留给后续 LLM 裁判的一个结算问题,仍有硬性截止日期)。截止日期始终存在,以纪元毫秒编码:发射时间加上预测所声明的时间范围 — 预测市场预测除外,后者在市场自身有结束日期时按市场结束日期结算。
硬性规范适用于具有干净指标支撑的预测:
- 冲突:预测区域内的 UCDP 冲突事件计数。
- UCDP 区域:UCDP 冲突区事件计数。
- 市场:自发射时基线衡量的商品期货价格变动。
- 预测市场:市场自身的结算;截止日期为市场结束日期,若市场无结算日期则回退到时间范围截止日期。
- 供应链:咽喉要道中断评分。
- GPS 干扰:某区域内的干扰活动计数。
- 基础设施:预测所在国家的已报告中断事件。
- 政治:政权稳定、谈判、政策转向。
- 军事:姿态转换、部署模式。
- 网络:归因和影响严重性。
- 所有状态派生预测,它们混合多个信号源并携带复合来源溯源(若信号单独产生了干净指标,来源优先级仍会将其路由到裁判而非硬性)。
- 硬性族中无法导出有限阈值的预测,尽管其领域如此(例如,没有可交易锚点的市场预测)。
刷新频率
种子器大约每小时运行一次。该键在api/health.js 中允许最多 90 分钟(maxStaleMin: 90)后健康面才会升级告警。
结算与成绩单
已发布的预测携带机器可校验的结算规范。一个每日结算器将这些规范预注册到forecast:resolutions:v1,在截止日期前采样硬源指标,然后带着证据将每条已发布预测结算为 YES、NO 或 VOID。派生的 forecast:scorecard:v1 报告 Brier 评分、对数评分、校准分桶、VOID 率、发布覆盖率和市场锚点技能。裁判规范被跟踪为待处理,留给快速跟进的裁判,并在结算之前从首个硬源成绩单中排除。
层级与门控
在 Web 端,AI Forecasts 目前处于 试用 阶段 — 对所有人免费,包括未认证读者。在 桌面 端,同一面板在src/config/panels.ts 中以 premium: 'locked' 发布,因此在那里是门控的。此拆分反映了产品当前的试用定位;预计 Web 端门控将随时间收紧。
API 参考
- Forecast service — 涵盖
get-forecasts、get-forecast-scorecard、get-simulation-outcome、get-simulation-package和trigger-simulation。 - 关于程序化预测生成(在缓存的 cron 输出之外生成新概率),请参见 MCP
generate_forecasts工具。
