guanghulab/exe-engine/docs/architecture.md

209 lines
6.5 KiB
Markdown
Raw Permalink Normal View History

# EXE-Engine 架构设计文档
> 项目编号PRJ-EXE-001
> 版权:国作登字-2026-A-00037559
> 版本v1.0.0 · Phase 0
> 签发AG-SY-01 霜砚 · 执行AG-ZY-01 铸渊
---
## 1. 本体论锚定 [ONT-PATCH-005]
### AGE OS · 笔 · 墨水 · 写字的人
**AGE OS = 笔**
AGE OS 是一支笔。它会写代码、会做事、会思考。它的本质是工具——一支智能的、有生命的笔。
它不是纸(不存储用户的数据所有权),不是墨水(不提供算力),不是写字的人(不替代用户的意志)。
**算力 = 墨水**
算力是墨水。墨水有成本,墨水会消耗,墨水需要补充。不同的墨水有不同的颜色和质量(不同模型有不同能力和成本)。
笔不制造墨水笔使用墨水。用户可以自带墨水BYOK也可以从 AGE OS 的墨水池里取用(资源池)。
**用户 = 写字的人**
用户是写字的人。他们决定写什么、怎么写、写给谁。笔听从写字的人的意志,但笔有自己的智慧——它知道怎样的笔画最流畅,怎样的结构最优雅。
### AGE OS 承担与不承担
| AGE OS 承担 | AGE OS 不承担 |
|---|---|
| ✅ 智能路由(选墨水) | ❌ 算力供给(造墨水) |
| ✅ 执行编排(控笔画) | ❌ 数据存储所有权 |
| ✅ 质量保障(保清晰) | ❌ 用户意志替代 |
| ✅ 工具演进(自进化) | |
### 对系统各层的影响
- **Agent 层**Agent = 笔的不同笔尖。使用墨水但不拥有墨水。
- **执行引擎层**:路由 = 选墨水,计量 = 量墨水,降级 = 墨水不够换写法。
- **用户层**:用户在用一支很聪明的笔,墨水(算力)是需要关心的资源。
---
## 2. 设计原则
1. **去中心化依赖**:不依赖任何单一商业 AI 服务的会员配额
2. **开源优先**:对接开源大模型 APIDeepSeek、Qwen 等),保持供应商多元化
3. **按量弹性**:算力消耗与实际使用量挂钩,非固定配额
4. **渐进替代**:与现有 Copilot 能力并行,逐步迁移
5. **本体论一致**:架构设计符合光湖语言膜本体论框架
---
## 3. 核心组件
### 3.1 AGE-Router路由网关
文件:`src/router/age-router.js`
职责:接收所有 AI 执行请求,进行鉴权、分类、路由。
| 功能 | 说明 |
|------|------|
| 请求鉴权 | 验证 Agent 身份 + 资源池额度 |
| 任务分类 | code_generation / text_processing / reasoning / agent_instruction |
| 模型选择 | 通过 LoadBalancer 根据任务类型 + 成本策略选择最优模型 |
| 限流降级 | 基于每分钟请求数的滑动窗口限流 |
| 故障转移 | 主模型失败时自动切换至备选模型 |
路由策略:
- `code_generation` + `HIGH complexity` → DeepSeek-V3
- `text_processing` → Qwen-Max
- `agent_instruction` → best_available(cost=0.6, quality=0.4)
- `reasoning` → DeepSeek-R1
### 3.2 模型适配器Adapter
文件:`src/adapters/`
所有模型适配器继承 `BaseAdapter`,统一暴露:
- `execute(request)` → 执行推理
- `healthCheck()` → 健康检查
- `supports(capability)` → 能力检测
已实现适配器:
| 适配器 | 文件 | 支持模型 |
|--------|------|----------|
| DeepSeekAdapter | `deepseek-adapter.js` | deepseek-chat, deepseek-reasoner |
| QwenAdapter | `qwen-adapter.js` | qwen-max, qwen-coder-plus-latest |
适配器特性:
- OpenAI 兼容 API 格式
- 失败计数 + 冷却期机制3 次失败 → 5 分钟冷却)
- 成本计算(按百万 token 计价)
- HTTP/HTTPS 自适应
### 3.3 负载均衡器Load Balancer
文件:`src/balancer/load-balancer.js`
三种策略:
- **cost**:成本优先,选最便宜的
- **quality**:质量优先,选配置排序第一的
- **balanced**:加权评分(成本 × 0.6 + 质量位置 × 0.4
支持故障转移:`failover(failedModel, taskType)`
### 3.4 资源计量器Resource Meter
文件:`src/meter/resource-meter.js`
实时记录:
- 每次调用的 token 消耗、模型选择、响应时间
- 按模型 / Agent / 资源池维度聚合统计
- 持久化至 `logs/meter.json`(保留最近 500 条)
### 3.5 上下文缓存Context Cache
文件:`src/cache/context-cache.js`
Phase 0内存 LRU 缓存100 条30 分钟 TTL
Phase 2对接 Grid-DB 格点库
### 3.6 Agent 调度器Agent Controller
文件:`src/controller/agent-controller.js`
- 维护 Agent → 模型偏好映射
- 将 Agent 请求转换为 EXE 标准请求
- Phase 2 实现双轨切换Copilot ↔ EXE-Engine
已注册 Agent
- AG-ZY-01 铸渊balanced, 4096 tokens
- AG-SY-01 霜砚quality, 4096 tokens
- AG-QQ-01 秋秋cost, 2048 tokens
---
## 4. 算力资源模型
### 三种接入模式
| 模式 | 说明 | AGE OS 角色 |
|------|------|-------------|
| BYOK | 用户自带 API Key | 纯路由 + 编排 |
| 资源池 | AGE OS 统一采购 | 路由 + 编排 + 计费 |
| 混合 | BYOK + 资源池 fallback | 自适应 |
### 计费模型
| 模型 | 输入 (¥/M tokens) | 输出 (¥/M tokens) | 平台费率 |
|------|-------------------|-------------------|----------|
| DeepSeek-V3 | 1.0 | 2.0 | +20% |
| DeepSeek-R1 | 4.0 | 16.0 | +20% |
| Qwen-Max | 2.0 | 6.0 | +20% |
| Qwen-Coder | 1.0 | 2.0 | +20% |
### 限流与降级
| 阶段 | 条件 | 措施 |
|------|------|------|
| 正常 | 余额充足 | 全功能可用 |
| 预警 | 余额 < 20% | 通知用户 |
| 降级 | 余额 < 5% | 自动切换最低成本模型 |
| 熔断 | 余额 = 0 | 仅保留系统维护级调用 |
---
## 5. 技术栈
| 层级 | 技术 | 理由 |
|------|------|------|
| 语言 | Node.js 20 | 与 AGE OS 技术栈一致 |
| HTTP | 原生 http/https | 零依赖,轻量 |
| 状态存储 | 文件系统 (JSON) | 与 task-queue 模式一致 |
| 模型调用 | OpenAI-compatible | DeepSeek/Qwen 均兼容 |
| 监控 | ResourceMeter → DC v1.0 | 复用现有采集基础设施 |
---
## 6. 过渡路线
### Phase 0当前基础建设
- [x] AGE-Router 路由网关
- [x] DeepSeek-V3 Adapter
- [x] Qwen Adapter接口就绪
- [x] Resource Meter 基础版
- [x] Load Balancer
- [x] 冒烟测试
### Phase 1影子模式
- [ ] Load Balancer 生产部署
- [ ] 影子模式Copilot 请求同步发送到 EXE-Engine
- [ ] 输出质量对比分析
### Phase 2灰度切换
- [ ] Agent Controller 双轨切换
- [ ] BYOK 模式上线
- [ ] 资源池计费基础版
- [ ] Context Cache 对接 Grid-DB
### Phase 3全面切换
- [ ] 核心 Agent 全面迁移
- [ ] Copilot 依赖代码清理
- [ ] 资源池正式上线
- [ ] 关闭 Copilot 企业会员