2026-06-03 · 远端 sync 后剩余 1 / 4 + 3 条新增 = 4 条排好

下一步做什么

今天刚与远端完成 15-commit fast-forward sync · Phase 2.1 LLM 兜底 / Phase 3a 决策层 / Phase 3b PE 估值 / Phase 3c 多格式导出 / 多 Agent 辩论 skeleton / observability / 鉴权 / Docker / CI 全部已落盘。原 4 条菜单(A/B/D)已交付, 仅 C 前端打通 留下。本页把它和后续 3 条新增项重新排序成 P0-P3, 每条给出现状 / 任务 / 风险 / 验收。

原 4 条菜单3 / 4 已交付 本轮排4 条 P0-P3 预估工期10-15 工作日 下次盘点2026-06-17
阅读 markdown 版 → 回到文档总览 数据流转图
1 · 现状盘点

当前已经跑通了什么

展开下面 4 张状态卡看 Phase 进度;再看下方表格看每个阶段对应的代码模块。这是规划下一步的锚点 —— 任何"再做一遍"的提议都应该先在这里被排除。

DONE · Agent 全链路

Phase 1 / 2 / 2.1 / 3a / 3b / 3c

输入侧(规则 + LLM 兜底)+ 抓取管线 + 决策层 + 估值 + 多格式导出 · 64 tests 通过
DONE · Web 对外形象

落地页 + 工作台 demo

web/index.html + web/app.html + 4 张架构 SVG + 3 份 PRD + Cloudflare Pages 部署 pipeline
PARTIAL · Agent 横切

thesis / debate / observability

框架已就位但部分仅 skeleton · debate 3 角色用模板, RSS 真源未配, alerts 待真数据
TODO · Web 真后端

数据层 / 工具层 / 编排层

工程 PRD §10 6 个里程碑全部待开发 · 当前 web/ 是模拟数据闭环
阶段已交付主要模块
✅ Phase 1rules-based 输入侧 + 周报 + 30 条合成集回归 100% / 25 条真实集 64%classifier.py · ontology.py · report.py · regress.py
✅ Phase 2Source 抽象 + JSONL/Text/RSS · 中文金额提取 · 抓取管线sources/{base,jsonl,text,rss}.py · extract.py · ingest_pipeline.py
✅ Phase 2.1LLM 兜底层 · OpenAI/Claude 兼容 · 触发门 conf<0.55 或 ≥3 thread · stub 验证 64%→80%llm.py
✅ Phase 3a双视角决策周报(CEO 主驱动+战略 / 投资位势+仓位信号)decision.py
✅ Phase 3bPE 估值映射(透明可覆盖)+ 市场模型动态视图valuation.py · market_model.py
✅ Phase 3cHTML/CSV 零依赖导出 + DOCX/PPTX 可选 extraexport.py
✅ 横切thesis 实时评分 + 风险预警 · Prometheus /metrics · Bearer token · Docker · GitHub Actions CI · debate skeletonthesis.py · observability.py · api.py · debate.py
❌ Web 后端数据层 / 工具层 / 能力层 / 编排层 / 运行底座 / eval 数据集尚未开始
2 · 下一轮 4 条

按 P0 → P3 顺序排好

建议执行顺序:P0 先做闭环 demo(用户最早能看到价值)→ P1 扩公司数据底座(命中率提升)→ P2 让 debate 真跑(决策深度) → P3 把 RSS 接出去(真实数据流)。每条独立可起, 但顺序按"价值密度从高到低"。

P0 · 最高优先级

前端打通 web/app.html → agent API

web/app.html 里的模拟数据切到真实 agent REST 端点, 让用户在浏览器里就能看到 agent 跑出来的双视角决策。最小闭环: CEO brief + 投资 brief + 事件列表 + 风险预警 4 个区域用真数据。

工期
2-3 工作日
阻塞
价值
demo 闭环
现状
  • web/app.html完整可交互的纯前端 demo, 内置模拟数据, 五层接口示例在前端闭环
  • agent 端已有 Phase 3a 端点:/decision/weekly · /events · /thesis/state · /alerts · /valuation
  • 两端之间没有任何代码连接, 用户看不到真决策结果
任务拆解
  1. agent 端 FastAPI 加 CORSMiddleware, 暴露 web origin
  2. web/app.html 顶部加 API_BASE 配置(URL ?api= 可覆盖)
  3. fetchDecision / fetchEvents / fetchThesisState / fetchAlerts 4 个 async 函数
  4. 错误处理 · 后端宕机时 fallback 到 mock + 顶部 banner
  5. 加载状态 · 各区块独立 loading skeleton
  6. (可选)Bearer token 输入框, 配 SATAGENT_API_TOKEN 时用
风险 / 待决策
  • 跨域部署:web 在 Cloudflare Pages, agent 在本地或自托管 → 暴露方式(ngrok / VPS / 只本地)需用户决定
  • 数据敏感度:真实 events 可能含未公开分析, 上线前拍板是否所有访问者可见
  • schema 漂移:agent 14+ 端点仍迭代, 前端要松耦合
验收
  • 本地 uvicorn + ?api=http://127.0.0.1:8000 能看到 4 个区块全部真数据
  • 关掉 agent 后页面降级到 mock + 顶部警告
  • 至少 1 个真实驱动变量来自 samples/events.jsonl
  • web/DEPLOY.md 追加"如何配 API_BASE"小节
P1 · 数据底座

公司卡片扩容 6 → 20

把卫星互联网产业链上下游核心标的从 6 家扩到 20 家, 让公司命中率从"低个位数 %"提到"两位数 %"。配合 valuation 模块给出更全面的位势矩阵, 也给 decision 的反哺提供更稳定的主线归类。

工期
3-5 工作日
阻塞
价值
命中率 +30%
现状
  • seed.py 当前只塞 6 家公司(中国卫星 / 海格通信 / 信科移动 / 中国卫通 / 中兴通讯 / 华力创通)
  • companies 表 schema 13 列, 在 sync 时已扩好(orders / peer_rank / last_quarter_revenue_cny_yi)
  • 公司主线反哺命中率取决于种子库覆盖度
任务拆解
  1. 每家写 seed.py 的 dict(name / thread / products / customers / aliases / score / moat / risk / orders / revenue)
  2. 未上市标的(星网 / 时空道宇 / 国电高科)在 valuation 跳过, peer_rank 仍参与
  3. aliases 词典补全(简称 / 英文 / 旧名)
  4. 新增 tests/test_seed_expansion.py 验证 20 家全部能 match
  5. 真实集 25 条重跑, 验证 +30% 公司命中
风险 / 待决策
  • 数据真实性:moat / risk / orders 全 placeholder 占位会让用户误以为是真实数据 → 拍板"种子=占位"边界, 卡片注明时间锚
  • 未上市标的:国电高科 / 时空道宇 / 星网 没公开财务 · valuation 完全跳过还是用产业分析师估算?
验收
  • companies 表至少 18 家(含上市 + 未上市)
  • aliases 总计 ≥ 60 个
  • 真实集公司命中率 +30 个百分点
  • 新增公司在 /decision/weekly?view=investor 至少 5 家进入仓位信号
主线候选公司
核心网中兴通讯ⓘ · 烽火通信 · 信科移动ⓘ · 中国卫通ⓘ
终端海格通信ⓘ · 华力创通ⓘ · 中国卫星ⓘ · 上海瀚讯 · 七一二
芯片海格通信ⓘ · 振芯科技 · 国博电子 · 复旦微电 · 国光电气
运营支撑中科星图 · 航天宏图 · 超图软件 · 北斗星通 · 合众思壮
卫星制造中国卫星ⓘ · 上海航天电子 · 航天电子 · 航天发展
总集 (未上市)时空道宇 · 星网集团 · 国电高科 · 中国电信卫星
P2 · debate 接 LLM

debate 骨架填肉(Bull / Bear / Judge)

debate.py 的 3 个角色接到 LLM provider(复用 llm.py 的 OpenAI/Claude 兼容客户端), 让它们读窗口 events 后真实生成论点 / 反论点 / 裁决, 输出 confidence multiplier 反哺到 decision.py 的仓位信号。

工期
3-4 工作日
阻塞
需 LLM key
价值
决策深度
现状
  • debate.py 是 skeleton(143 行), 3 个角色都用 _default_arg_writer 拼模板
  • 已有端点 GET /debate?thread=终端, 输出格式定下来了:bull / bear / verdict / confidence_multiplier
  • 接口契约 + 数据流都通了, 只差 3 个角色背后的真实推理
任务拆解
  1. 抽象 ArgWriter Protocol — (stance, topic, evidence) → str
  2. LLMArgWriter 复用 llm.LLMClassifier 的 client, 不同 prompt
  3. _judge 改造接 LLM 裁决 → multiplier ∈ [0.5, 1.5]
  4. decision.py--debate-thread, 跑完把 multiplier 应用
  5. 测试 · test_debate.py 加 stub LLM 验证 round-trip
  6. debate.py 写 docstring + prompt 设计原则
风险 / 待决策
  • 成本:每次 /debate 跑 3-4 次 LLM 调用 · 高频要不要加缓存层
  • 裁决偏置:LLM 倾向给 multiplier=1.0 中性 → prompt 强制选边
  • 可解释:verdict 文本要完整保留
验收
  • SATAGENT_LLM_API_KEY/debate?thread=终端 输出真实自然语言论点
  • 无 key 时回退到 default 模板, 不报错
  • decision.py --debate-thread 终端 multiplier 至少应用到 1 家公司
  • test_debate.py 至少新增 4 个测试覆盖 LLM stub + fallback
P3 · 真实数据流

真实 RSS 源 落地

选 3-5 个真实 RSS / Atom feed 配进去, 让 satagent fetch --source rss 跑真数据进 events 表, 验证整条 ingest 链路在真实数据上闭环。不依赖前 3 条, 但需用户先拍板候选源 + 出网策略。

工期
2-3 工作日 + 7 天观察
阻塞
出网策略
价值
真实数据流
现状
  • sources/rss.py 是通用 publisher-agnostic 框架, UA / 重试 / 关键词过滤齐, 离线 fixture XML 全测试已过
  • 没有任何真实 feed URL 在用
  • 当前环境出网被拦, sync 时记录"待放开 egress"
任务拆解
  1. 用户拍板候选源(建议先 2-3 个)
  2. agent/config/rss_feeds.json
  3. CLI satagent fetch --source rss --config rss_feeds.json
  4. 加 cron 定时(cron / systemd / GitHub Actions 任选)
  5. 长期跑 1 周观察 events 增长 + 失败率
  6. 失败重试与去重(url + occurred_at)
风险 / 待决策
  • 出网策略:沙箱 / 公司网络出网拦截 · dev + production 是否同环境
  • 法务:公开 RSS 可抓但商业化要授权, 拍板 placeholder 标注
  • 数据噪声:RSS 可能 80% 非卫星 · 关键词过滤要狠
验收
  • 至少 2 个真实 feed 接入, 连续跑 7 天无 crash
  • events 表至少新增 50 条真实事件
  • 真实集失败 case 重检, LLM 触发率与 stub 估算一致 ±5%
  • agent/docs/regression-real.md 追加"真实环境 7 天数据"小节
候选源URL 提示优先级
工信部 RSSmiit.gov.cn 各栏目高 · 政策权威
通信世界 RSScww.net.cn/feed/高 · 产业新闻密集
中卫导航协会glac.org.cn中 · 行业垂直
上交所 / 深交所走 API 而非 RSS · 框架可改造中 · 信号强
公司 IR 页中兴 / 海格 / 中科星图 各 IR 页中 · 单源强
通信产业网ccidcom.com/rss.xml低 · 商业站
3 · 时间线

4 条两周内能跑完

下面是建议执行节奏的简化甘特, 横轴是工作日(W = Workday)。P0 / P1 并行不冲突(前端 vs 数据), P2 等 P1 公司库基本到位后开始(debate 需要有内容可辩论), P3 全程平铺。

W1W2W3W4W5W6W7W8W9W10W11W12
P0 · 前端打通
2-3 天
P1 · 公司卡片扩容
3-5 天
P2 · debate 接 LLM
3-4 天
P3 · RSS 真源
2-3 天 + 7 天观察
4 · PRD 索引

所有 PRD + 路线图(每份 md + html 一对)

这张表把仓库里所有 PRD 和路线图文档列齐, 每份都同时给出 markdown 源和可视化版。"待生成"表示当前只有 markdown, 可视化版还未做。本"下一步"文档 (NEXT-STEPS) 也包含在内, 两种形式都已就位。

repo root · 本文档

NEXT-STEPS · 下一步开发计划

本轮 4 条 P0-P3 任务清单 · 现状 + 任务 + 风险 + 验收 + 时间线
agent

agent PRD · 产品定位

CEO + 投资双视角 · 输入侧/判断层/决策层三层 · Phase 1/2/3 关键路线
agent

agent 路线图 · Phase 1/2/3

Phase 1 已交付 · Phase 2 抓取 ✅ · Phase 2.1 LLM ✅ · Phase 3a/b/c ✅
web

web 产品 PRD · 用户与功能

3 类用户画像 · 5 个典型场景 · 22 项功能 P0-P2 优先级矩阵 · 3 阶段里程碑
web

web 工程 PRD · 分层与契约

3 层解耦 · 8 个子系统 · Pydantic schema · 10 项 ADR · 11 项 NFR
web

web 24 周路线 · 6 里程碑

W01-W24 三阶段 · M1-M6 详细拆解 · 关键路径 · Sprint Zero · 6 项风险登记
markdown 可视化版 待生成
web

web 架构说明 · 4 图详解

系统总览(5 层) · 数据层(请求生命周期+熔断) · 编排(LangGraph) · Skills+MCP
markdown 可视化版 待生成
agent

agent 架构 · 模块与数据流

三层模块图 · ingest / weekly report pipeline · 4 关键决策 · 数据模型 schema
agent

agent 数据视角 · 表/种子/缺口

4 张表 · 84 行市场模型 · 6 家公司 · 25 真实样本 · 365 词典 · Phase 3 数据缺口
5 · 远期方向

本轮之后的方向(占位)

下面 5 条不在本轮 P0-P3 里, 是更远的方向。此处只占位, 等本轮 4 条至少 3 条闭环后再排具体优先级与工期。

D

多市场延伸

agent 当前只覆盖卫星互联网, 框架本身可复用到低空经济 / 储能 / 人形机器人 · 关键是 ontology.py 的领域无关化
E

后端持久化升级

SQLite → Postgres + Timescale(events 时序)+ pgvector(语义检索)· web 端工程 PRD §10 已规划
F

web 真后端落地

web/docs/roadmap.md 的 24 周计划 · M1 数据层 + L2 工具层 + L4 编排层 + 多空辩论真接 LLM · 与 agent debate 可共享
G

接 LangGraph + checkpointer

web 工程 PRD §3 的多 Agent 编排骨架 · 与 agent debate 共享实现 · HITL interrupt 支持
H

eval 数据集 + CI 回归

web M6 验收 ≥ 50 个调研任务 · 与 agent 真实集 25 条对齐 · 自动 CI 跑回归
I

真实公司财报抓取

last_quarter_revenue_cny_yi 从手工填补改成自动抓取(财报季度公告 / 同花顺 / 巨潮)