Skip to content

架构设计

Source: Notion | Last edited: 2026-01-06 | ID: 2e02d2dc-3ef...


架构设计方案:Alpha Forge 对话式策略平台

基于 zen-architect 的分析,以下是三套架构方案:


方案一:单体扩展架构 (Layer Cake)

核心理念:在现有 Alpha Forge 之上添加新层,最小化改动,最快上线。

┌─────────────────────────────────────────────────────────────┐

│                    对话层 (Conversation Layer)               │

│   Web UI ◀──▶ Chat API ◀──▶ Session Manager ◀──▶ Suggestion │

├─────────────────────────────────────────────────────────────┤

│                    AI层 (NL-to-DSL Engine)                   │

│   Intent Parser → Template Selector → DSL Generator         │

├─────────────────────────────────────────────────────────────┤

│                    现有 Alpha Forge (不变)                   │

│   DSL Compiler → Orchestrator → Backtest → Plugins          │

├─────────────────────────────────────────────────────────────┤

│                    部署层 (Deployment Layer)                 │

│   Signal Subscription │ Code Generator │ Config Store       │

└─────────────────────────────────────────────────────────────┘

| 组件              | 职责                                 |

|-------------------|--------------------------------------|

| Web UI            | React/Next.js 对话界面,策略可视化   |

| NL-to-DSL Engine  | LLM 编排:自然语言 → DSL 生成 → 验证 |

| Suggestion Engine | 分析回测结果,生成改进建议           |

| Code Generator    | 平台特定执行代码 (Binance/OKX)       |

优势:4-6周实现,单人可维护,风险最低

劣势:扩展性有限,LLM调用可能阻塞执行

复杂度


方案二:微服务架构 (Federated)

核心理念:拆分为独立服务,通过消息队列通信,独立扩展和部署。

┌─────────────┐

│ API Gateway │

└──────┬──────┘

┌──────────┬───────────┼───────────┬──────────┐

▼          ▼           ▼           ▼          ▼

┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐

│Conversation│ │NL-to-DSL│ │ Backtest │ │  Signal  │ │ Code Gen │

│  Service   │ │ Service │ │ Service  │ │ Service  │ │ Service  │

└─────┬──────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────────┘

└─────────────┴────────────┴────────────┘

┌─────────▼─────────┐

│  Message Queue    │

│  (Redis/NATS)     │

└─────────┬─────────┘

┌────────────────┼────────────────┐

▼                ▼                ▼

┌──────────┐    ┌──────────┐    ┌──────────┐

│Suggestion│    │Experiment│    │   Data   │

│ Service  │    │  Store   │    │ Service  │

└──────────┘    └──────────┘    └──────────┘

| 服务                 | 技术栈              | 职责                  |

|----------------------|---------------------|-----------------------|

| Conversation Service | FastAPI + WebSocket | 会话管理、历史记录    |

| NL-to-DSL Service    | Python + Claude     | LLM编排、DSL生成      |

| Backtest Service     | Alpha Forge Core    | 包装现有编译器+编排器 |

| Signal Service       | Rust/Go             | 高性能实时信号推送    |

| Code Gen Service     | Python + Jinja2     | 平台特定代码生成      |

优势:独立扩展、故障隔离、技术栈灵活

劣势:运维复杂、网络延迟、需要 K8s 专业知识

复杂度 (12-16周)


方案三:事件驱动无服务器架构 (Event Sourcing)

核心理念:所有状态变更都是事件,函数响应事件触发,按使用付费。

┌─────────────────────────────────────────────────────────────┐

│                    Web UI (React + WebSocket)                │

└───────────────────────────┬─────────────────────────────────┘

┌───────────────────────────┼─────────────────────────────────┐

│                    API Gateway Layer                         │

│     WebSocket Gateway │ REST API │ Event Publisher          │

└───────────────────────────┬─────────────────────────────────┘

┌───────────────────────────▼─────────────────────────────────┐

│                    Event Bus (EventBridge/Kinesis)           │

│  Events: UserMessage │ DSLGenerated │ BacktestDone │ Signal │

└───────────────────────────┬─────────────────────────────────┘

┌──────────┬──────────┼──────────┬──────────┐

▼          ▼          ▼          ▼          ▼

┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐

│NL-to-DSL│ │Backtest │ │Suggestion│ │ Signal │ │Code Gen │

│ Lambda  │ │ECS/Batch│ │ Lambda  │ │ Lambda │ │ Lambda  │

└─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘

┌───────────────────────────▼─────────────────────────────────┐

│                    Event Store                               │

│   Event Log (DynamoDB) │ Views (RDS) │ Artifacts (S3)       │

└─────────────────────────────────────────────────────────────┘

事件流示例

UserMessage → NL-to-DSL → DSLGenerated → Backtest

→ BacktestComplete → Suggestion → SuggestionReady → User

优势:完美审计追踪、零闲置成本、无限扩展、自然异步

劣势:事件溯源学习曲线、Lambda冷启动、AWS绑定

复杂度中高 (8-10周)


对比矩阵

| 维度       | 单体扩展 | 微服务  | 事件驱动 |

|------------|----------|---------|----------|

| MVP时间    | 4-6周    | 12-16周 | 8-10周   |

| 扩展性     | 有限     | 高      | 很高     |

| 运维复杂度 | 低       | 高      | 中       |

| 规模成本   | 固定     | 可变    | 最低     |

| 调试难度   | 容易     | 困难    | 中等     |

| 团队规模   | 1-2人    | 4+人    | 2-3人    |

| 审计追踪   | 手动     | 手动    | 内置     |


建议路径

阶段一:从单体扩展开始

  • 最快验证产品市场契合度 (PMF)

  • 对现有系统零风险

  • 单人可实现和维护

阶段二:演进到事件驱动

  • PMF验证后,将对话层抽取为事件

  • Alpha Forge Core 变成 “Backtest Function”

  • 获得审计追踪和扩展性

理由

  1. 对话AI天然是异步的,事件驱动契合

  2. 每次交互都是事件,自带审计追踪

  3. Alpha Forge 已是 DAG-based,映射到事件流自然

  4. 按使用付费符合研究工作负载特征(突发性)