feat(aia): Complete AIA V2.0 with universal streaming capabilities

Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
This commit is contained in:
2026-01-14 19:15:01 +08:00
parent 3d35e9c58b
commit 1b53ab9d52
386 changed files with 52096 additions and 65238 deletions

View File

@@ -1,75 +1,75 @@
# ASL模块 Week 1 开发完成报告
# ASL<EFBFBD> Week 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>鞉𥁒<EFBFBD>?
**<EFBFBD><EFBFBD>**: 2025-11-18
**开发周期**: Week 1 (Day 1-5)
**状态**: ✅ 全部完成
**<EFBFBD><EFBFBD>穃𪂹<EFBFBD>?*: Week 1 (Day 1-5)
**<EFBFBD><EFBFBD>?*: <20>?<3F><EFBFBD>摰峕<E691B0>
---
## <20><> 隞餃𦛚摰峕<E691B0><E5B395><EFBFBD><EFBFBD>
| 任务 | 计划 | 实际 | 状态 | 说明 |
| 隞餃𦛚 | 霈<E99C88> | 摰鮋<E691B0> | <20><EFBFBD>?| 霂湔<E99C82> |
|------|------|------|------|------|
| Prisma Schema设计 | Day 1 | Day 1 | | 4个模型174行代码 |
| 数据库迁移 | Day 1 | Day 1 | | 4张表创建成功 |
| 后端目录结构 | Day 2 | Day 1 | | 5个子目录9个文件 |
| 路由注册 | Day 3 | Day 1 | | 10个API端点 |
| 基础API实现 | Day 4-5 | Day 1 | ✅ | 项目+文献管理 |
| API测试 | - | Day 1 | | 7个测试全部通过 |
| Prisma Schema霈曇恣 | Day 1 | Day 1 | <EFBFBD>?| 4銝芣芋<EFBFBD><EFBFBD>174銵䔶誨<EFBFBD>?|
| <EFBFBD>唳旿摨栞<EFBFBD>蝘?| Day 1 | Day 1 | <EFBFBD>?| 4撘㰘”<EFBFBD>𥕦遣<EFBFBD>𣂼<EFBFBD> |
| <EFBFBD>𡒊垢<EFBFBD><EFBFBD>蝏𤘪<EFBFBD> | Day 2 | Day 1 | <EFBFBD>?| 5銝芸<EFBFBD><EFBFBD><EFBFBD>嚗?銝芣<E98A9D>隞?|
| 頝舐眏瘜典<EFBFBD> | Day 3 | Day 1 | <EFBFBD>?| 10銝服PI蝡舐<EFBFBD> |
| <EFBFBD><EFBFBD>API摰䂿緵 | Day 4-5 | Day 1 | <EFBFBD>?| 憿寧𤌍+<2B><>讃蝞∠<E89D9E> |
| API瘚贝<EFBFBD> | - | Day 1 | <EFBFBD>?| 7銝芣<EFBFBD>霂訫<EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
**完成度**: 6/6 (100%)
**提前完成**: 4
**摰峕<EFBFBD>摨?*: 6/6 (100%)
**<EFBFBD>𣂼<EFBFBD>摰峕<EFBFBD>**: 4憭?
---
## 🎯 实现的功能
## <EFBFBD>㴓 摰䂿緵<E482BF><E7B7B5><EFBFBD><EFBFBD>?
### 1. 数据库设计 ✅
### 1. <EFBFBD>唳旿摨栞挽霈?<3F>?
#### Schema霈曇恣
```prisma
// 4个核心模型
- AslScreeningProject // 筛选项目 (19字段)
// 4銝芣瓲敹<EFBFBD><EFBFBD>?
- AslScreeningProject // 蝑偦<EFBFBD>厰★<EFBFBD>?(19摮埈挾)
- AslLiterature // <20><><EFBFBD>∠𤌍 (14摮埈挾 + OSS憸<53><E686B8>)
- AslScreeningResult // 筛选结果 (40字段双模型)
- AslScreeningTask // 筛选任务 (14字段)
- AslScreeningResult // 蝑偦<EFBFBD><EFBFBD><EFBFBD>?(40摮埈挾嚗<E68CBE><E59A97><E79285>)
- AslScreeningTask // 蝑偦<EFBFBD>劐遙<EFBFBD>?(14摮埈挾)
```
#### <20>唳旿摨栞”
```sql
asl_schema.screening_projects -- 蝑偦<E89D91>厰★<E58EB0>株”
asl_schema.literatures -- 文献条目表
asl_schema.literatures -- <EFBFBD><EFBFBD><EFBFBD>∠𤌍銵?
asl_schema.screening_results -- 蝑偦<E89D91><EFBFBD><E58EA9>𡏭”
asl_schema.screening_tasks -- 蝑偦<E89D91>劐遙<E58A90>∟”
```
#### 特性
- Schema隔离 (`asl_schema`)
- ✅ 外键约束 (级联删除)
- ✅ 索引优化 (12个索引)
- ✅ 唯一约束 (projectId + pmid)
- JSONB字段 (PICO标准)
- OSS字段预留 (pdfUrl, pdfOssKey)
#### <EFBFBD><EFBFBD>?
- <EFBFBD>?Schema<EFBFBD>𠉛氖 (`asl_schema`)
- <EFBFBD>?憭㚚睸蝥行<E89DA5> (蝥扯<E89DA5><E689AF>𣳇膄)
- <EFBFBD>?蝝<E89D9D>隡睃<E99AA1> (12銝芰揣撘?
- <EFBFBD>?<3F><EFBFBD>蝥行<E89DA5> (projectId + pmid)
- <EFBFBD>?JSONB摮埈挾 (PICO<EFBFBD><EFBFBD><EFBFBD>)
- <EFBFBD>?OSS摮埈挾憸<EFBFBD><EFBFBD> (pdfUrl, pdfOssKey)
### 2. 后端API
### 2. <EFBFBD>𡒊垢API <EFBFBD>?
#### <20><EFBFBD>蝏𤘪<E89D8F>
```
backend/src/modules/asl/
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> controllers/
│ ├── projectController.ts (224行)
│ └── literatureController.ts (259行)
<EFBFBD>? <20><EFBFBD><E98EBF><EFBFBD> projectController.ts (224銵?
<EFBFBD>? <20><EFBFBD><E5A999><EFBFBD> literatureController.ts (259銵?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> routes/
│ └── index.ts (47行)
<EFBFBD>? <20><EFBFBD><E5A999><EFBFBD> index.ts (47銵?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> services/
│ └── llmScreeningService.ts (189行)
<EFBFBD>? <20><EFBFBD><E5A999><EFBFBD> llmScreeningService.ts (189銵?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> schemas/
│ └── screening.schema.ts (108行)
<EFBFBD>? <20><EFBFBD><E5A999><EFBFBD> screening.schema.ts (108銵?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> types/
└── index.ts (121行)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> index.ts (121銵?
```
#### API端点 (10个)
#### API蝡舐<EFBFBD> (10銝?
```
POST /api/v1/asl/projects - <20>𥕦遣憿寧𤌍
GET /api/v1/asl/projects - <20><EFBFBD>憿寧𤌍<E5AFA7>𡑒”
@@ -82,34 +82,34 @@ GET /api/v1/asl/projects/:projectId/literatures - 获取文献列表
DELETE /api/v1/asl/literatures/:literatureId - <20>𣳇膄<F0A3B387><E88684>
```
### 3. 核心服务 ✅
### 3. <EFBFBD><EFBFBD><EFBFBD>滚𦛚 <20>?
#### LLM筛选服务
#### LLM蝑偦<EFBFBD><EFBFBD><EFBFBD>?
```typescript
class LLMScreeningService {
// 单模型筛选
// <EFBFBD>閙芋<EFBFBD><EFBFBD><EFBFBD>?
async screenWithModel()
// 双模型并行筛选 (核心)
// <EFBFBD>峕芋<EFBFBD>见僎銵𣬚<EFBFBD><EFBFBD>?(<28><EFBFBD>)
async dualModelScreening()
// 冲突检测
// <EFBFBD><EFBFBD><EFBFBD>瘚?
private detectConflict()
// 批量筛选
// <EFBFBD><EFBFBD>蝑偦<EFBFBD>?
async batchScreening()
}
```
#### JSON Schema撉諹<E69289>
```typescript
// AJV验证器
// AJV撉諹<EFBFBD><EFBFBD>?
- PicoJudgment Schema
- PicoEvidence Schema
- LLMScreeningOutput Schema
```
#### Prompt生成器
#### Prompt<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
```typescript
// <20><><EFBFBD>PICO<43><4F><EFBFBD>蝑偦<E89D91>侨rompt
generateScreeningPrompt(
@@ -124,53 +124,53 @@ generateScreeningPrompt(
### API瘚贝<E7989A> (7/7<><EFBFBD>)
```bash
1. 健康检查 GET /health
2. 创建筛选项目 POST /api/v1/asl/projects
3. 获取项目列表 GET /api/v1/asl/projects
4. 获取项目详情 GET /api/v1/asl/projects/:id
5. 导入文献 POST /api/v1/asl/literatures/import
6. 获取文献列表 GET /api/v1/asl/projects/:id/literatures
7. 更新项目 PUT /api/v1/asl/projects/:id
<EFBFBD>?1. <EFBFBD>亙熒璉<EFBFBD><EFBFBD>? GET /health
<EFBFBD>?2. <EFBFBD>𥕦遣蝑偦<EFBFBD>厰★<EFBFBD>? POST /api/v1/asl/projects
<EFBFBD>?3. <EFBFBD><EFBFBD>憿寧𤌍<EFBFBD>𡑒” GET /api/v1/asl/projects
<EFBFBD>?4. <EFBFBD><EFBFBD>憿寧𤌍霂行<EFBFBD> GET /api/v1/asl/projects/:id
<EFBFBD>?5. 撖澆<EFBFBD><EFBFBD><EFBFBD> POST /api/v1/asl/literatures/import
<EFBFBD>?6. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡑒” GET /api/v1/asl/projects/:id/literatures
<EFBFBD>?7. <EFBFBD>湔鰵憿寧𤌍 PUT /api/v1/asl/projects/:id
```
### 瘚贝<E7989A><E8B49D>唳旿
- **<2A><EFBFBD>**: asl-test-user-001
- **项目**: 1(SGLT2抑制剂系统综述)
- **文献**: 3篇 (包含PMID、DOI、期刊等信息)
- **憿寧𤌍**: 1銝?(SGLT2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>頂蝏毺遞餈?
- **<EFBFBD><EFBFBD>**: 3蝭?(<28><>鉄PMID<49><44>OI<4F><49><EFBFBD><EFBFBD><EFBFBD>靽⊥<E99DBD>)
### 数据库验证
- ✅ 表创建成功
- ✅ 索引创建成功
- ✅ 外键约束正常
- ✅ 数据插入正常
- ✅ 关联查询正常
### <EFBFBD>唳旿摨㯄<EFBFBD>霂?
- <EFBFBD>?銵典<E98AB5>撱箸<E692B1><E7AEB8>?
- <EFBFBD>?蝝<E89D9D><EFBCB7>𥕦遣<F0A595A6>𣂼<EFBFBD>
- <EFBFBD>?憭㚚睸蝥行<E89DA5><EFBFBD>
- <EFBFBD>?<3F>唳旿<E594B3><EFBFBD><EFBFBD>
- <EFBFBD>?<3F><EFBFBD><E594BE>亥砭甇<E7A0AD>
---
## <20>𣑐 <20><><EFBFBD><EFBFBD>
### <20>𡒊垢獢<E59EA2>
- Fastify (Web框架)
- Prisma (ORM)
- TypeScript (类型系统)
- <EFBFBD>?Fastify (Web<EFBFBD>)
- <EFBFBD>?Prisma (ORM)
- <EFBFBD>?TypeScript (蝐餃<EFBFBD>蝟餌<EFBFBD>)
### 依赖包 (新增)
- `xlsx` - Excel文件解析
- `ajv` - JSON Schema验证
### 靘肽<EFBFBD><EFBFBD>?(<28><EFBFBD>)
- <EFBFBD>?`xlsx` - Excel<EFBFBD><EFBFBD>辣閫<EFBFBD><EFBFBD>
- <EFBFBD>?`ajv` - JSON Schema撉諹<EFBFBD>
### 撟喳蝱<E596B3>滚𦛚<E6BB9A><F0A69B9A><EFBFBD>
- Logger (结构化日志)
- Database Connection Pool
- LLMFactory (双模型支持)
- StorageFactory (OSS预留)
- <EFBFBD>?Logger (蝏𤘪<EFBFBD><EFBFBD>𡝗𠯫敹?
- <EFBFBD>?Database Connection Pool
- <EFBFBD>?LLMFactory (<EFBFBD>峕芋<EFBFBD>𧢲𣈲<EFBFBD>?
- <EFBFBD>?StorageFactory (OSS<EFBFBD><EFBFBD>)
---
## <20><><><E99A9E>蝏蠘恣
| 类别 | 文件数 | 代码行数 |
| 蝐餃<EFBFBD> | <20><><EFBFBD>?| 隞<><E99A9E>銵峕㺭 |
|------|--------|----------|
| 控制器 | 2 | 483 |
| <EFBFBD><EFBFBD><EFBFBD>?| 2 | 483 |
| <20>滚𦛚 | 1 | 189 |
| 頝舐眏 | 1 | 47 |
| 蝐餃<E89D90>摰帋<E691B0> | 1 | 121 |
@@ -184,24 +184,24 @@ generateScreeningPrompt(
### 1. Schema<6D>𠉛氖<F0A0899B><EFBFBD>
```
platform_schema.users asl_schema.screening_projects
platform_schema.users <EFBFBD>? asl_schema.screening_projects
<EFBFBD>?
asl_schema.literatures
<EFBFBD>?
asl_schema.screening_results
```
### 2. 双模型验证策略
### 2. <EFBFBD>峕芋<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
```
Literature DeepSeek + Qwen (并行)
冲突检测
无冲突 → 自动决策
有冲突 → 人工审核
Literature <EFBFBD>?DeepSeek + Qwen (撟嗉<EFBFBD>)
<EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>瘚?
<EFBFBD>?
<EFBFBD><EFBFBD>蝒?<3F>?<3F>芸𢆡<E88AB8><EFBFBD>
<EFBFBD><EFBFBD>蝒?<3F>?鈭箏極摰⊥瓲
```
### 3. 云原生设计
### 3. 鈭穃<EFBFBD><EFBFBD>蠘挽霈?
```
- <20>删𠶖<E588A0><F0A0B696>PI
- 撟喳蝱<E596B3>滚𦛚<E6BB9A><F0A69B9A><EFBFBD>
@@ -211,49 +211,49 @@ Literature → DeepSeek + Qwen (并行)
---
## 🐛 解决的问题
## <EFBFBD><EFBFBD><><E996AB><EFBFBD><EFBFBD>䔮憸?
### 1. Prisma撖澆<E69296><E6BE86>躰秤
**<2A><EFBFBD>**: `getPrisma is not exported`
**解决**: 修改为 `import { prisma } from '...'`
**<EFBFBD><EFBFBD>**: 靽格㺿銝?`import { prisma } from '...'`
### 2. 依赖包缺失
### 2. 靘肽<EFBFBD><EFBFBD><EFBFBD>撩憭?
**<2A><EFBFBD>**: `Cannot find package 'xlsx'`
**閫<><E996AB>**: 摰㕑<E691B0> `npm install xlsx ajv`
### 3. 霈方<E99C88><E696B9><EFBFBD>
**问题**: API需要userId但无JWT中间件
**<EFBFBD><EFBFBD>**: API<EFBFBD><EFBFBD><EFBFBD>serId<EFBFBD><EFBFBD>JWT銝剝𡢿隞?
**閫<><E996AB>**: 瘛餃<E7989B>瘚贝<E7989A><E79285>嚗屸<E59A97>霈支蝙<E694AF><EFBFBD>霂閧鍂<E996A7>弒D
### 4. <20>唳旿摨栞”<E6A09E><EFBFBD>
**问题**: `prisma db push`检测到public schema重复表
**解决**: 创建手动SQL脚本只创建ASL
**<EFBFBD><EFBFBD>**: `prisma db push`<EFBFBD>瘚见<EFBFBD>public schema<EFBFBD><EFBFBD>銵?
**<EFBFBD><EFBFBD>**: <EFBFBD>𥕦遣<EFBFBD>见𢆡SQL<EFBFBD>𡁏𧋦嚗<EFBFBD><EFBFBD>𥕦遣ASL銵?
---
## <20><> <20><>﹝鈭批枂
1. `backend/ASL-API-测试报告.md`
2. `docs/03-业务模块/ASL-AI智能文献/05-开发记录/2025-11-18-Week1完成报告.md`
3. `scripts/test-asl-api.ts` (API测试脚本)
4. `scripts/create-asl-tables.ts` (数据库创建脚本)
5. `scripts/create-test-user-for-asl.ts` (测试用户脚本)
1. <EFBFBD>?`backend/ASL-API-瘚贝<EFBFBD><EFBFBD><EFBFBD>.md`
2. <EFBFBD>?`docs/03-銝𡁜𦛚璅<EFBFBD>/ASL-AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD>讃/05-撘<><E69298>𤏸扇敶?2025-11-18-Week1摰峕<EFBFBD><EFBFBD><EFBFBD>.md`
3. <EFBFBD>?`scripts/test-asl-api.ts` (API瘚贝<EFBFBD><EFBFBD>𡁏𧋦)
4. <EFBFBD>?`scripts/create-asl-tables.ts` (<EFBFBD>唳旿摨枏<EFBFBD>撱箄<EFBFBD><EFBFBD>?
5. <EFBFBD>?`scripts/create-test-user-for-asl.ts` (瘚贝<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡁏𧋦)
---
## 🚀 下一步计划 (Week 2)
## <EFBFBD><EFBFBD> 銝衤<E98A9D>甇亥恣<E4BAA5>?(Week 2)
### Day 1-2: 蝑偦<E89D91>劐遙<E58A90>⊥綉<E28AA5>嗅膥
- [ ] <20>𥕦遣 `screeningController.ts`
- [ ] 实现 `startScreening` (启动筛选任务)
- [ ] 摰䂿緵 `startScreening` (<EFBFBD>臬𢆡蝑偦<EFBFBD>劐遙<EFBFBD>?
- [ ] 摰䂿緵 `getProgress` (<28><EFBFBD>餈𥕦漲)
- [ ] 摰䂿緵 `getResults` (<28><EFBFBD>蝏𤘪<E89D8F>)
- [ ] <20><><EFBFBD><EFBFBD>郊隞餃𦛚<E9A483><EFBFBD> (JobFactory)
### Day 3-4: LLM筛选功能
- [ ] 测试双模型筛选服务
### Day 3-4: LLM蝑偦<EFBFBD><EFBFBD><EFBFBD>?
- [ ] 瘚贝<EFBFBD><EFBFBD>峕芋<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- [ ] 隡睃<E99AA1>Prompt<70><74><EFBFBD>
- [ ] 实现批量筛选
- [ ] 摰䂿緵<EFBFBD><EFBFBD>蝑偦<EFBFBD>?
- [ ] 瘛餃<E7989B>餈𥕦漲<F0A595A6><EFBFBD>
### Day 5: <20><EFBFBD>摰⊥瓲
@@ -263,42 +263,42 @@ Literature → DeepSeek + Qwen (并行)
---
## ✅ 验收标准
## <EFBFBD>?撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>
### Week 1 <20><EFBFBD> (<28><EFBFBD>摰峕<E691B0>)
- Prisma Schema设计完成
- ✅ 4张数据库表创建
- ✅ 后端目录结构创建
- ✅ 10个API端点实现
- API测试全部通过
- ✅ 平台服务集成
- <EFBFBD>?Prisma Schema霈曇恣摰峕<EFBFBD>
- <EFBFBD>?4撘䭾㺭<E4ADBE><EFBFBD>銵典<E98AB5>撱?
- <EFBFBD>?<3F>𡒊垢<F0A1928A><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𥕦遣
- <EFBFBD>?10銝服PI蝡舐<E89DA1>摰䂿緵
- <EFBFBD>?API瘚贝<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- <EFBFBD>?撟喳蝱<E596B3>滚𦛚<E6BB9A><F0A69B9A><EFBFBD>
### 韐券<E99F90><E588B8><EFBFBD><EFBFBD>
- ✅ 代码符合TypeScript规范
- ✅ 使用平台基础设施服务
- Schema隔离架构
- ✅ 云原生设计原则
- ✅ 错误处理完善
- ✅ 日志记录完整
- <EFBFBD>?隞<><E99A9E>蝚血<E89D9A>TypeScript<EFBFBD><EFBFBD>
- <EFBFBD>?雿輻鍂撟喳蝱<E596B3><EFBFBD>霈暹鴌<E69AB9>滚𦛚
- <EFBFBD>?Schema<EFBFBD>𠉛氖<EFBFBD><EFBFBD>
- <EFBFBD>?鈭穃<E988AD><E7A983>蠘挽霈<E99C88><E288AA>?
- <EFBFBD>?<3F>躰秤憭<E7A7A4><E686AD><EFBFBD><E691B0>
- <EFBFBD>?<3F><EFBFBD>霈啣<E99C88>摰峕㟲
---
## <20><> <20><EFBFBD>
ASL模块Week 1开发任务**全部完成**提前4天完成原定5天的开发计划。
ASL<EFBFBD>Week 1<EFBFBD><EFBFBD>睲遙<EFBFBD>?*<2A><EFBFBD>摰峕<E691B0>**嚗峕<E59A97><E5B395>?憭拙<E686AD><E68B99>𣂼<EFBFBD>摰?憭拍<E686AD><EFBFBD><E69298>𤏸恣<F0A48FB8><EFBFBD>?
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**:
- ✅ 完整的数据库设计和表结构
- ✅ 10个RESTful API端点
- LLM筛选服务框架
- 100%测试通过率
- ✅ 完善的代码文档
- <EFBFBD>?摰峕㟲<E5B395><E39FB2><EFBFBD><EFBFBD>霈曇恣<E69B87>諹”蝏𤘪<E89D8F>
- <EFBFBD>?10銝析ESTful API蝡舐<EFBFBD>
- <EFBFBD>?LLM蝑偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- <EFBFBD>?100%瘚贝<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- <EFBFBD>?摰<><E691B0><EFBFBD><EFBFBD><EFBFBD><E8AAA8><EFBFBD>獢?
**技术亮点**:
**<EFBFBD><EFBFBD><EFBFBD>臭漁<EFBFBD>?*:
- Schema<6D>𠉛氖<F0A0899B><EFBFBD>
- 双模型验证策略
- 云原生设计
- 模块化结构
- <EFBFBD>峕芋<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- 鈭穃<EFBFBD><EFBFBD>蠘挽霈?
- <EFBFBD><EFBFBD>𣇉<EFBFBD><EFBFBD>?
銝箏<EFBFBD>蝏胎LM蝑偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滨垢撘<EFBFBD><EFBFBD><EFBFBD>摰帋<EFBFBD><EFBFBD>𡁜<EFBFBD><EFBFBD><EFBFBD>抅蝖<EFBFBD><EFBFBD><EFBFBD><EFBFBD>