danielrosehill/Geopol-Forecast-Council

GitHub: danielrosehill/Geopol-Forecast-Council

一个轻量级多模型地缘政治预测框架,用确定性报告替代高成本的行为体模拟。

Stars: 0 | Forks: 0

# 地缘政治预测委员会 一个精简的地缘政治预测委员会。是 [Hypothesis-Council](https://github.com/danielrosehill/Hypothesis-Council) 的衍生分支,也是我那个基于雪球风格的 [Geopol-Forecaster](https://github.com/danielrosehill/Geopol-Forecaster) 的低成本版本——后者会模拟约 40 个行为体并跨多个时间步迭代,成本迅速上升。 它跳过了行为体模拟。取而代之的是: 1. **Grounding stack** — 默认并行运行 RSS 源(Times of Israel、Al Jazeera、BBC World)、Perplexity Sonar 简报与 Tavily 新闻搜索,作为明确的工具列表。结果逐字传递给下一阶段。 2. **Council_Head** 生成一个带时间戳的单一 **SITREP**、一份关键行为体及其立场的列表,以及最可能改变预测的承重不确定性。 3. **Council_Members** — 一个谱系多样的专家组(默认:GLM、DeepSeek、Gemini、Claude、Kimi)各自独立返回恰好 **三个每个时间范围的具象预测**。每个预测包含支持性推理、支持性历史先例、抵消性历史先例、单一可观测变化因素和置信度。 4. **Report_Author** 聚类各成员的预测,给出共识强度,标记尖锐分歧,并撰写综合报告。 5. **Deterministic rendering** — Typst 报告从检查点数据构建,包含计算出的可视化(置信度条、语气分类、发散热图)以及每个时间范围的绝对 UTC 时间戳。完整变体会追加每个模型的全文响应作为格式化文本。 适用于对快速发展的局势进行短时域预测(24小时 / 1周 / 1月)。更长时域或反事实场景仍更适合行为体模拟方法。 ## 用法 ``` cp .env .env.local # or edit .env; OPENROUTER_API_KEY required, TAVILY_API_KEY optional pip install -e . python -m forecast "How will the Iran-Israel-US conflict evolve?" # 参数化视野、供给、基础工具与榜样模型: python -m forecast "…" \ --horizons "24h,72h,1w,1m" \ --grounding-tools "rss,sonar,tavily" \ --rss "https://www.timesofisrael.com/feed/,https://www.aljazeera.com/xml/rss/all.xml" \ --council-head anthropic/claude-sonnet-4.6 \ --council-members "z-ai/glm-5.1,deepseek/deepseek-v3.2,google/gemini-3-flash-preview,anthropic/claude-sonnet-4.6,moonshotai/kimi-k2.5" \ --report-author anthropic/claude-sonnet-4.6 # 恢复中断的运行(加载现有检查点,仅运行缺失阶段): python -m forecast --resume-latest python -m forecast --resume 2026-04-18_235440 ``` 输出结果位于 `reports//`: - `meta.json` — 运行参数 - `grounding.json` — 原始工具结果(RSS、Sonar、Tavily) - `head.json` — SITREP + 关键行为体 + 不确定性 - `members/.json` — 各成员独立响应(每个文件一份) - `synthesis.json` — Report_Author 聚类输出 - `report.typ` / `report.pdf` — 带封面页、页脚编号和可视化的主报告 - `report-full.typ` / `report-full.pdf` — 主报告附录,含所有模型的全文响应 - `raw.json` — 包含上述所有内容的单体转储 阶段检查点意味着中断后可恢复运行而无需重复已完成阶段。删除任意检查点即可仅重新运行该阶段。 ## 设计说明 - **SITREP 优先。** Head 阶段在预测开始前先锚定当前世界状态,确保所有成员基于同一框架推理。 - **结构化成员输出。** 每个预测包含六个统一字段(`prediction`、`supporting_reasoning`、`historical_precedent_supporting`、`historical_precedent_counterveiling`、`change_factor`、`confidence`),通过 OpenRouter 的 JSON Schema 响应格式验证,并对不支持该 Schema 的模型使用正则回退。规范化阶段处理常见结构漂移。 - **盲并行成员预测。** 成员彼此不可见,最终报告中的分歧是信号而非群体思维。 - **三个可替换角色** — Council_Head、Council_Member、Report_Author,可独立替换。 - **语气启发式。** 每个预测通过透明关键词匹配分类为升级 / 缓和 / 混合,用于检测面板整体偏向并可视化各成员语气分布。该启发式较粗略;详见任意生成报告的方法论章节。 - **绝对时间范围。** 时间范围字符串(`24h`、`1w`、`1m`)被解析并在封面页及聚类预测部分以具体 UTC 时间戳呈现。 ## 运行记录 每次运行均为完整记录——检查点、Typst 源码及两种 PDF 变体均被提交,以便实验可复现。 | Date (UTC) | Scenario | Panel | Horizons | Main PDF | Full PDF | |------------|----------|-------|----------|----------|----------| | 2026-04-18 23:54 | Iran-Israel-US conflict evolution | GLM · DeepSeek · Gemini · Claude · Kimi | 24h / 1w / 1m | [report.pdf](reports/2026-04-18_235440/report.pdf) | [report-full.pdf](reports/2026-04-18_235440/report-full.pdf) |
标签:1周预测, 1月预测, 24小时预测, Claude, CVE检测, DeepSeek, DNS解析, Gemini, GLM, Kimi, OPENROUTER_API_KEY, Perplexity Sonar, Python CLI, RSS聚合, SITREP, Tavily搜索, Typst报告, UTC时间戳, 共识聚类, 历史类比, 反事实分析, 可复现报告, 可视化图表, 地缘政治预测, 多模型面板, 开源项目, 快照分析, 新闻搜索, 时间序列预测, 模型多样性, 熵值分析, 短周期预测, 短时预测, 确定性报告, 确定性渲染, 置信度评估, 逆向工具, 预测分析