这一页把 五层架构 · 6 个里程碑 · 关键路径 M1 数据层 · Sprint Zero 日程 · 技术栈 · 4 个待决策 · 风险登记 全部图示化, 用于在开工前对齐工程实施路径。覆盖 A 股 / 港股 / 美股, 基于 Skills + MCP + LangGraph。
深度研究 / 广度筛选 / 即时问答三类用户共享同一组 Agent, 但在前端通过结构化模式(填参数 / 看仪表盘 / 导报告)和对话式模式(自然语言提问 / 自动 Skill 编排)分别承接, 不割裂成两个产品。
数据自下而上流动, 控制自上而下托管。L3 是整套设计的工程边界: 左 Skills(知识 + 流程, 稳定)右 MCP(数据 + 计算, 有状态)。L5 同时服务自有 Web 与外部 LLM runtime。
这是 2026-05-29 的盘点。24 周路线图做的就是"让 demo 里那条调研流真的能跑起来"。
关键路径长度:M1(4w)+ M2(2w 与 M1 重叠后)+ M3(4w)+ M5(4w)+ M6(6w)= 20 周。最危险节点 M1 数据层。
M1 是地基, 任何延期向后传导。本节展开 M1 内部的请求生命周期与四层缓存策略。
一次 get_quote("600519") 调用要走过的完整路径。缓存命中时 ≤ 100ms, 未命中 ≤ 2s, 容灾组件保证 99% 可用率。
这是把 M1 拆到 day 级的执行计划。Sprint 1 结束(D14)时, M1 sprint review demo + ADR-04/05 落档 + M2 sprint 计划。
| 天 | 任务 | 产出 |
|---|---|---|
| D1 | Monorepo 初始化 + ruff/mypy/pre-commit + Tushare 积分申请 | 仓库骨架 + CI 通过 |
| D2 | Docker Compose:Postgres+TimescaleDB / Redis 7 / Adminer + .env 模板 | 本地栈起得来 |
| D3 | Pydantic schema:Security / DailyBar / Financials / Filing / NewsItem + 单测 | schema 100% 覆盖 |
| D4-D5 | Provider 抽象 + Tushare provider 完整(daily_bar + financials + health check) | Tushare 跑通 |
| D6 | AKShare provider 实现 + 跨源校验单测(差异 > 10% 触发 flag) | 双源对账通过 |
| D7 | CircuitBreaker 三态实现 + tenacity 指数退避 + Redis 令牌桶 | 容灾组件单测通过 |
| D8 | 四层缓存(cachetools → Redis → DuckDB → Postgres)+ TTL 策略 | 缓存命中率 > 50% |
| D9 | DataFetcherManager + ROUTING_TABLE 装配 · market-aware dispatch | 端到端可跑 |
| D10 | 集成压测:30 支 A 股连续拉 24 小时 + 监控可用率 / 命中率 / 限流 | 数据指标基线 |
| D11-D12 | Langfuse 自托管 + OpenLLMetry 埋点 + Grafana dashboard(可用率/P95/命中率/熔断) | 可观测性 v0 |
| D13 | M1 sprint review demo + 数据层 README + ADR-04 / ADR-05 落档 | M1 50% 验收 |
| D14 | 复盘 + M2 启动会(MCP server 设计评审 + Skills 包目录约定) | M2 sprint 计划 |
所有第三方依赖锁定到当前稳定版本, 变更走 ADR。
这四个决策影响成本护栏的严格度、Stage 2 范围、开源边界与 HITL 强度。
按次 / 订阅 / 开源 + 企业版? 这直接影响成本护栏的严格度(免费用户必须更严)和付费源迁移时机(订阅模式更容易回收)。
是否必须在 Stage 2 完成? 决定 M6 是否提前。机构客户对气隙部署需求强, 但额外加载 6 周工时。
法务对"研究用途"和"商业再分发"的界定。影响 Stage 3 是否能开源。AKShare 爬交易所页面在商业产品里是否合规?
系统建议值导致决策失误的责任归属。关系到 HITL 强度和免责设计。WACC 是必填还是有默认?
从工程 PRD §11 + 路线图 §6 拍出来的 top 风险, 配缓解措施与责任人。
| 风险 | 影响 | 缓解 | 责任 |
|---|---|---|---|
| Tushare 积分申请未通过 | M1 主路径阻塞 | Day 1 提交 + 同时准备 baostock 兜底 | BE Lead |
| 免费源被反爬封禁 | 数据可用率下降 | 代理池 + 双源 failover + 付费源应急脚本 | SRE |
| LLM 成本超 $0.5/次预算 | 商业模式不成立 | Model routing 强制 + 缓存命中率 + Haiku 替代 | AI Eng |
| MCP / Skills spec 演进破坏兼容 | 全栈重构风险 | 锁定 stable 版本 + 包装层隔离 | BE Lead |
| 前端 vanilla → Next.js 拖延 | M5 延期 | 提前 W09 启动迁移 spike | FE |
| 多空辩论变成"双方各说各话" | 产品价值不成立 | 强约束 prompt + LLM judge eval 检查反驳率 | AI Eng |
免费源 Tushare / AKShare / baostock 都不稳定, 任何一家被反爬或限流, 整套数据服务可用率立刻塌方。M1 不达标, M2 单 agent 没数据测、M3 辩论没数据辩、M5 报告没数据写, 全链条向后传导延期。
具体到 Sprint Zero D1 必须同时启动: Tushare 积分申请 + baostock 兜底 provider 准备 + 反爬代理池预研。这三件事如果到 W02 还没动手, M1 验收节点必然滑出 4 周。
本页是图示层, 文字论述请回到对应 markdown。
为谁做 · 做什么 · 用户画像 · 用户场景 · 功能优先级 · 与 16 个开源 agent 的空白对照
怎么造 · 契约先行 · 系统契约 · 数据模型 · Agent 状态机 · 验收即测试
4 张架构图配套文字 · 五层分层 · Skills + MCP 双层 · 跨 runtime 调用
状态盘点 · M1-M6 + Stage 3 · 关键路径 · 团队编组 · Sprint Zero · 风险登记
roadmap.md 的图示版 · 时间线 · 里程碑卡片 · 关键路径
当前为模拟数据的纯静态版本 · M5 后切真实 API · 演示双模式(结构化 / 对话)
面向投资人 / 分析师的产品介绍 · 4 张架构 SVG 图入口
系统总览 · 数据层 · 编排 · Skills + MCP · 矢量源文件可二次编辑
同源的卫星互联网产业研究 Agent · 双视角决策辅助 · 真实数据回归基线