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,71 +1,71 @@
# ASL 璐ㄩ噺淇濋殰涓庡彲杩芥函绛栫暐
> **文档版本:** V1.0
> **创建日期:** 2025-11-15
> **适用模块:** AI 智能文献ASL
> **目标:** 分阶段提升文献筛选、数据提取的准确率、质量控制和可追溯性
> **鏂囨。鐗堟湰锛?* V1.0
> **鍒涘缓鏃ユ湡锛?* 2025-11-15
> **閫傜敤妯″潡锛?* AI 鏅鸿兘鏂囩尞锛圓SL锛?
> **<EFBFBD>爣锛?* 鍒嗛樁娈垫彁鍗囨枃鐚<E69E83>瓫閫夈€佹暟鎹<E69A9F>彁鍙栫殑鍑嗙鐜囥€佽川閲忔帶鍒跺拰鍙<E68BB0>拷婧<E68BB7>€?
---
## 馃搵 鏂囨。姒傝堪
本文档定义了 ASL 模块在 **MVP V1.0 V2.0** 三个阶段中,如何逐步提升:
1. **提取准确率**:从基础可用 → 高质量 → 医学级标准
2. **质量控制**:从人工抽查 → 自动验证 → 智能仲裁
3. **可追溯性**:从基本记录 → 完整证据链 → 审计级日志
<EFBFBD>枃妗畾涔変簡 ASL 妯″潡鍦?**MVP 鈫?V1.0 鈫?V2.0** 涓変釜闃舵<E99783><EFBFBD>紝濡備綍閫愭<E996AB>鎻愬崌锛?
1. **鎻愬彇鍑嗙‘鐜?*锛氫粠鍩虹<E98DA9><EFBFBD>敤 鈫?楂樿川閲?鈫?鍖诲<E98D96>绾ф爣鍑?
2. **璐ㄩ噺鎺у埗**锛氫粠浜哄伐鎶芥煡 鈫?鑷<>姩楠岃瘉 鈫?鏅鸿兘浠茶<E6B5A0>
3. **<EFBFBD>拷婧<EFBFBD>€?*锛氫粠鍩烘湰璁板綍 鈫?瀹屾暣璇佹嵁閾?鈫?瀹¤<E780B9>绾ф棩蹇?
### 鏍稿績璁捐<E79281>鍘熷垯
| 鍘熷垯 | 璇存槑 |
|------|------|
| **成本可控** | MVP 阶段优先使用 DeepSeek + Qwen3,成本敏感 |
| **质量可升级** | 可切换到 GPT-5-Pro + Claude-4.5 高端组合 |
| **分步实施** | 避免过度设计,每个阶段交付可用功能 |
| **医学场景优化** | 针对英文医学文献的特点优化策略 |
| **鎴愭湰鍙<EFBFBD>** | MVP 闃舵<EFBFBD>浼樺厛浣跨敤 DeepSeek + Qwen3锛屾垚鏈<EFBFBD>晱鎰?|
| **璐ㄩ噺鍙<EFBFBD>崌绾?* | 鍙<>垏鎹㈠埌 GPT-5-Pro + Claude-4.5 楂樼<EFBFBD>缁勫悎 |
| **鍒嗘<EFBFBD>瀹炴柦** | 閬垮厤杩囧害璁捐<EFBFBD>锛屾瘡涓<EFBFBD>樁娈典氦浠樺彲鐢ㄥ姛鑳?|
| **鍖诲<EFBFBD>鍦烘櫙浼樺寲** | 閽堝<E996BD>鑻辨枃鍖诲<E98D96>鏂囩尞鐨勭壒鐐逛紭鍖栫瓥鐣?|
---
## 馃幆 涓夐樁娈佃矾绾垮浘
```
MVP (4周) V1.0 (6周) V2.0 (8周)
├─ 基础双模型验证 ├─ 智能质量控制 ├─ 医学级质量保障
├─ JSON Schema 约束 ├─ 分段提取优化 ├─ 多模型共识仲裁
├─ 置信度评分 ├─ 证据链完整追溯 ├─ 自动质量审计
├─ 人工复核机制 ├─ 规则引擎验证 ├─ 提示词版本管理
└─ 基本追溯日志 └─ Few-shot 示例库 └─ HITL 智能分流
可用 高质量 医学级
MVP (4鍛? V1.0 (6鍛? V2.0 (8鍛?
鈹溾攢 鍩虹<E98DA9>鍙屾ā鍨嬮獙璇? 鈹溾攢 鏅鸿兘璐ㄩ噺鎺у埗 鈹溾攢 鍖诲<E98D96>绾ц川閲忎繚闅?
鈹溾攢 JSON Schema 绾︽潫 鈹溾攢 鍒嗘<E98D92>鎻愬彇浼樺寲 鈹溾攢 澶氭ā鍨嬪叡璇嗕徊瑁?
鈹溾攢 缃<>俊搴﹁瘎鍒? 鈹溾攢 璇佹嵁閾惧畬鏁磋拷婧? 鈹溾攢 鑷<>姩璐ㄩ噺瀹¤<E780B9>
鈹溾攢 浜哄伐澶嶆牳鏈哄埗 鈹溾攢 瑙勫垯寮曟搸楠岃瘉 鈹溾攢 鎻愮ず璇嶇増鏈<E5A297><E98F88>鐞?
鈹斺攢 鍩烘湰杩芥函鏃ュ織 鈹斺攢 Few-shot 绀轰緥搴? 鈹斺攢 HITL 鏅鸿兘鍒嗘祦
鈫? 鈫? 鈫?
<EFBFBD> 楂樿川閲? 鍖诲<EFBFBD>绾?
```
---
## 🚀 MVP 阶段4 周)
## 馃殌 MVP 闃舵<EFBFBD>锛? 鍛<>
### 鐩<>爣瀹氫綅
- **准确率目标**:≥ 85%
- **成本预算**:筛选 1000 篇文献 ≤ ¥50
- **鍑嗙‘鐜囩洰鏍?*锛氣墺 85%
- **鎴愭湰棰勭畻**锛氱瓫閫?1000 绡囨枃鐚?鈮?楼50
- **浜や粯鏍囧噯**锛氬熀纭€鍔熻兘鍙<E58598>敤锛屾敮鎸佸弻妯″瀷瀵规瘮
### 涓€銆佹ā鍨嬮€夋嫨绛栫暐
#### 1.1 涓诲姏妯″瀷缁勫悎锛堟垚鏈<E59E9A>紭鍏堬級
| 角色 | 模型 | Model ID | 用途 | 成本 |
| 瑙掕壊 | 妯″瀷 | Model ID | 鐢ㄩ€?| 鎴愭湰 |
|------|------|---------|------|------|
| **模型 A** | DeepSeek-V3 | `deepseek-chat` | 快速初筛 | ¥0.001/1K tokens |
| **妯″瀷 A** | DeepSeek-V3 | `deepseek-chat` | <EFBFBD>€熷垵绛?| 0.001/1K tokens |
| **妯″瀷 B** | Qwen3-72B | `qwen-max` | 浜ゅ弶楠岃瘉 | 楼0.004/1K tokens |
**切换选项**(质量优先):
**鍒囨崲閫夐」**锛堣川閲忎紭鍏堬級锛?
- **楂樼<E6A582>缁勫悎**锛欸PT-5-Pro (`gpt-5-pro`) + Claude-4.5-Sonnet (`claude-sonnet-4-5-20250929`)
- **成本增加**:约 3-5
- **准确率提升**85% 92%+
- **鎴愭湰澧炲姞**锛氱害 3-5 鍊?
- **鍑嗙‘鐜囨彁鍗?*锛?5% 鈫?92%+
#### 1.2 妯″瀷璋冪敤绛栫暐
```typescript
// 双模型并行调用
// 鍙屾ā鍨嬪苟琛岃皟鐢?
async function dualModelScreening(
literature: Literature,
protocol: Protocol
@@ -80,7 +80,7 @@ async function dualModelScreening(
const decisionA = parseJSON(resultA.content);
const decisionB = parseJSON(resultB.content);
// 一致性判断
// 涓€鑷存€у垽鏂?
if (decisionA.decision === decisionB.decision) {
return {
finalDecision: decisionA.decision,
@@ -90,7 +90,7 @@ async function dualModelScreening(
};
}
// 冲突 → 人工复核
// 鍐茬獊 鈫?浜哄伐澶嶆牳
return {
finalDecision: 'uncertain',
consensus: 'conflict',
@@ -100,16 +100,16 @@ async function dualModelScreening(
}
```
### 二、核心技术策略
### 浜屻€佹牳蹇冩妧鏈<EFBFBD>瓥鐣?
#### 2.1 ✅ 双模型交叉验证
#### 2.1 鉁?鍙屾ā鍨嬩氦鍙夐獙璇?
**实施方案**
- 所有筛选任务同时调用两个模型
- 自动对比结果,标记差异
- 一致率作为质量指标(目标 ≥ 80%
**瀹炴柦鏂规<EFBFBD>**锛?
- 鎵€鏈夌瓫閫変换鍔″悓鏃惰皟鐢ㄤ袱涓<EFBFBD>ā鍨?
- <EFBFBD>姩瀵规瘮缁撴灉锛屾爣璁板樊寮?
- 涓€鑷寸巼浣滀负璐ㄩ噺鎸囨爣锛堢洰鏍?鈮?80%锛?
**代码示例**
**浠g爜绀轰緥**锛?
```typescript
interface DualModelResult {
consensus: 'high' | 'conflict';
@@ -119,14 +119,14 @@ interface DualModelResult {
}
```
#### 2.2 JSON Schema 约束
#### 2.2 鉁?JSON Schema 绾︽潫
**实施方案**
- 定义严格的输出格式
- 使用枚举限制取值
- 区分必填/可选字段
**瀹炴柦鏂规<EFBFBD>**锛?
- 瀹氫箟涓ユ牸鐨勮緭鍑烘牸寮?
- 浣跨敤鏋氫妇闄愬埗鍙栧€?
- 鍖哄垎蹇呭~/鍙<>€夊瓧娈?
**Schema 定义**
**Schema 瀹氫箟**锛?
```json
{
"$schema": "http://json-schema.org/draft-07/schema#",
@@ -177,10 +177,10 @@ interface DualModelResult {
}
```
**提示词模板**
**鎻愮ず璇嶆ā鏉?*锛?
```typescript
const prompt = `
你是一位医学文献筛选专家。请根据以下 PICO 标准判断这篇文献是否应该纳入系统评价。
浣犳槸涓€浣嶅尰瀛︽枃鐚<EFBFBD>瓫閫変笓瀹躲€傝<EFBFBD>鏍规嵁浠ヤ笅 PICO 鏍囧噯鍒ゆ柇杩欑瘒鏂囩尞鏄<E5B09E>惁搴旇<E690B4>绾冲叆绯荤粺璇勪环銆?
# PICO 鏍囧噯
- Population: ${protocol.population}
@@ -193,26 +193,26 @@ const prompt = `
鎽樿<EFBFBD>: ${literature.abstract}
# 杈撳嚭瑕佹眰
请严格按照以下 JSON Schema 输出结果:
璇蜂弗鏍兼寜鐓т互涓?JSON Schema 杈撳嚭缁撴灉锛?
${JSON.stringify(schema, null, 2)}
注意:
1. decision 只能是 "include"、"exclude" "uncertain"
2. reason 必须具体说明判断依据10-500字)
3. confidence 0-1 之间的数值,表示你的判断把握
娉ㄦ剰锛?
1. decision <EFBFBD>兘鏄?"include"銆?exclude" 鎴?"uncertain"
2. reason 蹇呴』鍏蜂綋璇存槑鍒ゆ柇渚濇嵁锛?0-500瀛楋級
3. confidence 涓?0-1 涔嬮棿鐨勬暟鍊硷紝琛ㄧず浣犵殑鍒ゆ柇鎶婃彙
4. pico 瀛楁<E7809B>閫愰」璇勪及鍖归厤绋嬪害
`;
```
#### 2.3 ✅ 置信度评分
#### 2.3 鉁?缃<>俊搴﹁瘎鍒?
**实施方案**
- 要求模型对每个判断给出置信度0-1
- 置信度 < 0.7 自动标记为需人工复核
- 记录置信度分布,优化阈值
**瀹炴柦鏂规<EFBFBD>**锛?
- 瑕佹眰妯″瀷瀵规瘡涓<EFBFBD>垽鏂<EFBFBD>粰鍑虹疆淇″害锛?-1锛?
- <EFBFBD>俊搴?< 0.7 <EFBFBD>姩鏍囪<EFBFBD>涓洪渶浜哄伐澶嶆牳
- 璁板綍缃<EFBFBD>俊搴﹀垎甯冿紝浼樺寲闃堝€?
**自动分流规则**
**<EFBFBD>姩鍒嗘祦瑙勫垯**锛?
```typescript
function autoTriage(result: DualModelResult) {
const avgConfidence = (
@@ -220,29 +220,29 @@ function autoTriage(result: DualModelResult) {
result.models[1].confidence
) / 2;
// 规则1冲突 → 必须复核
// 瑙勫垯1锛氬啿绐?鈫?蹇呴』澶嶆牳
if (result.consensus === 'conflict') {
return { needReview: true, priority: 'high' };
}
// 规则2低置信度 → 需要复核
// 瑙勫垯2锛氫綆缃<EFBFBD>俊搴?鈫?闇€瑕佸<E79195>鏍?
if (avgConfidence < 0.7) {
return { needReview: true, priority: 'medium' };
}
// 规则3高置信度 + 一致 → 自动通过
// 瑙勫垯3锛氶珮缃<EFBFBD>俊搴?+ 涓€鑷?鈫?鑷<>姩閫氳繃
return { needReview: false, priority: 'low' };
}
```
#### 2.4 ✅ 基础可追溯
#### 2.4 鉁?鍩虹<E98DA9><EFBFBD>拷婧?
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 淇濆瓨鍘熷<E98D98>鎻愮ず璇嶅拰妯″瀷杈撳嚭
- 璁板綍妯″瀷鐗堟湰鍜屾椂闂存埑
- 鍏宠仈浜哄伐澶嶆牳璁板綍
**数据库设计**
**鏁版嵁搴撹<EFBFBD>璁?*锛?
```prisma
model ScreeningResult {
id String @id @default(uuid())
@@ -259,7 +259,7 @@ model ScreeningResult {
modelBOutput Json
modelBConfidence Float
// 最终决策
// 鏈€缁堝喅绛?
finalDecision String // "include"/"exclude"/"uncertain"
consensus String // "high"/"conflict"
needReview Boolean
@@ -270,7 +270,7 @@ model ScreeningResult {
reviewDecision String?
reviewNotes String?
// 可追溯信息
// <EFBFBD>拷婧<EFBFBD>俊鎭?
promptTemplate String @db.Text // 浣跨敤鐨勬彁绀鸿瘝妯℃澘
createdAt DateTime @default(now())
@@ -280,53 +280,53 @@ model ScreeningResult {
### 涓夈€丮VP 鎴愭湰棰勭畻
**场景:筛选 1000 篇文献**
**鍦烘櫙锛氱瓫閫?1000 绡囨枃鐚?*
| 椤圭洰 | DeepSeek | Qwen3 | 鍚堣<E98D9A> |
|------|----------|-------|------|
| 杈撳叆 tokens锛堝钩鍧囷級 | 800 | 800 | - |
| 杈撳嚭 tokens锛堝钩鍧囷級 | 200 | 200 | - |
| 鍗曟<E98D97>鎴愭湰 | 楼0.001 | 楼0.004 | 楼0.005 |
| **1000 篇总成本** | ¥1 | ¥4 | **¥5** |
| **1000 绡囨€绘垚鏈?* | 1 | 4 | **楼5** |
**冲突率 20% 人工复核**
- 自动通过800 篇 × ¥0.005 = ¥4
- 人工复核200 篇 × 2 分钟 = 6.7 小时
- **总成本**¥4 + 人工成本
**鍐茬獊鐜?20% 浜哄伐澶嶆牳**锛?
- <EFBFBD>姩閫氳繃锛?00 绡?脳 楼0.005 = 4
- 浜哄伐澶嶆牳锛?00 绡?脳 2 鍒嗛挓 = 6.7 灏忔椂
- **鎬绘垚鏈?*锛毬? + 浜哄伐鎴愭湰
### 鍥涖€丮VP 楠屾敹鏍囧噯
| 鎸囨爣 | 鐩<>爣 | 楠岃瘉鏂规硶 |
|------|------|----------|
| 双模型一致率 | 80% | 统计报表 |
| JSON Schema 验证通过率 | ≥ 95% | 自动检查 |
| 人工复核队列占比 | 20% | 系统统计 |
| 提取结果可追溯 | 100% | 审计检查 |
| 成本控制 | ≤ ¥50/1000 篇 | 账单监控 |
| 鍙屾ā鍨嬩竴鑷寸巼 | 鈮?80% | 缁熻<EFBFBD>鎶ヨ〃 |
| JSON Schema 楠岃瘉閫氳繃鐜?| 鈮?95% | 鑷<>姩妫€鏌?|
| 浜哄伐澶嶆牳闃熷垪鍗犳瘮 | 鈮?20% | 绯荤粺缁熻<EFBFBD> |
| 鎻愬彇缁撴灉鍙<EFBFBD>拷婧?| 100% | 瀹¤<EFBFBD>妫€鏌?|
| 鎴愭湰鎺у埗 | 鈮?楼50/1000 绡?| 璐﹀崟鐩戞帶 |
---
## 📈 V1.0 阶段6 周)
## 馃搱 V1.0 闃舵<EFBFBD>锛? 鍛<>
### 鐩<>爣瀹氫綅
- **准确率目标**:≥ 90%
- **成本预算**:筛选 1000 篇文献 ≤ ¥80
- **交付标准**:高质量输出,智能质量控制
- **鍑嗙‘鐜囩洰鏍?*锛氣墺 90%
- **鎴愭湰棰勭畻**锛氱瓫閫?1000 绡囨枃鐚?鈮?楼80
- **浜や粯鏍囧噯**锛氶珮璐ㄩ噺杈撳嚭锛屾櫤鑳借川閲忔帶鍒?
### 一、模型策略优化
### 涓€銆佹ā鍨嬬瓥鐣ヤ紭鍖?
#### 1.1 鎴愭湰浼樺寲绛栫暐
**核心思路**80% 用低成本模型20% 高价值任务用顶级模型
**鏍稿績鎬濊矾**锛?0% 鐢ㄤ綆鎴愭湰妯″瀷锛?0% 楂樹环鍊间换鍔$敤椤剁骇妯″瀷
```typescript
async function smartScreening(literature: Literature, protocol: Protocol) {
// 第一阶段:快速初筛(DeepSeek
// <EFBFBD>竴闃舵<EFBFBD>锛氬揩閫熷垵绛涳紙DeepSeek锛?
const quickResult = await llmService.chat('deepseek', buildPrompt(...));
const quickDecision = parseJSON(quickResult.content);
// 如果高置信度 + 明确结论 → 直接采纳
// 濡傛灉楂樼疆淇″害 + 鏄庣缁撹<E7BC81> 鈫?鐩存帴閲囩撼
if (
quickDecision.confidence > 0.85 &&
quickDecision.decision !== 'uncertain'
@@ -338,7 +338,7 @@ async function smartScreening(literature: Literature, protocol: Protocol) {
};
}
// 否则 → 启用高端模型复核
// 鍚﹀垯 鈫?鍚<>敤楂樼<E6A582>妯″瀷澶嶆牳
const detailedResult = await llmService.chat('gpt5', buildPrompt(...));
return {
finalDecision: detailedResult.decision,
@@ -348,21 +348,21 @@ async function smartScreening(literature: Literature, protocol: Protocol) {
}
```
**预期成本节省**
- 80% 任务用 DeepSeek800 × ¥0.001 = ¥0.8
- 20% 任务用 GPT-5200 × ¥0.10 = ¥20
- **总成本**¥20.8(相比全用 GPT-5 节省 80%
**棰勬湡鎴愭湰鑺傜渷**锛?
- 80% 浠诲姟鐢?DeepSeek锛?00 脳 楼0.001 = 0.8
- 20% 浠诲姟鐢?GPT-5锛?00 脳 楼0.10 = 20
- **鎬绘垚鏈?*锛毬?0.8锛堢浉姣斿叏鐢?GPT-5 鑺傜渷 80%锛?
### 二、核心技术增强
### 浜屻€佹牳蹇冩妧鏈<EFBFBD><EFBFBD>寮?
#### 2.1 Few-shot 示例库
#### 2.1 鉁?Few-shot 绀轰緥搴?
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 浜哄伐鏍囨敞 20-30 涓<>珮璐ㄩ噺绀轰緥
- 閽堝<E996BD>涓嶅悓鐮旂┒绫诲瀷鍒嗙被锛圧CT銆侀槦鍒椼€佺梾渚嬪<E6B89A>鐓э級
- 动态选择相似示例嵌入提示词
- 鍔ㄦ€侀€夋嫨鐩镐技绀轰緥宓屽叆鎻愮ず璇?
**示例格式**
**绀轰緥鏍煎紡**锛?
```json
{
"examples": [
@@ -371,7 +371,7 @@ async function smartScreening(literature: Literature, protocol: Protocol) {
"abstract": "...",
"goldStandard": {
"decision": "include",
"reason": "RCT研究人群为糖尿病患者匹配P干预为阿司匹林匹配I对照为安慰剂匹配C结局为心血管事件匹配O",
"reason": "RCT鐮旂┒锛屼汉缇や负绯栧翱鐥呮偅鑰咃紙鍖归厤P锛夛紝骞查<EFBFBD>涓洪樋鍙稿尮鏋楋紙鍖归厤I锛夛紝瀵圭収涓哄畨鎱板墏锛堝尮閰岰锛夛紝缁撳眬涓哄績琛€绠簨浠讹紙鍖归厤O锛?,
"pico": {
"population": "match",
"intervention": "match",
@@ -385,12 +385,12 @@ async function smartScreening(literature: Literature, protocol: Protocol) {
}
```
**提示词增强**
**鎻愮ず璇嶅<EFBFBD>寮?*锛?
```typescript
const promptWithExamples = `
# 参考示例
# 鍙傝€冪ず渚?
以下是 3 个标注好的示例,帮助你理解判断标准:
浠ヤ笅鏄?3 涓<>爣娉ㄥソ鐨勭ず渚嬶紝甯<E7B49D>姪浣犵悊瑙垽鏂<E59EBD>爣鍑嗭細
${examples.map((ex, i) => `
## 绀轰緥 ${i + 1}
@@ -400,22 +400,22 @@ ${examples.map((ex, i) => `
鐞嗙敱: ${ex.goldStandard.reason}
`).join('\n')}
# 待筛选文献
# 寰呯瓫閫夋枃鐚?
鏍囬<EFBFBD>: ${literature.title}
鎽樿<EFBFBD>: ${literature.abstract}
请参考上述示例输出你的判断结果JSON格式
璇峰弬鑰冧笂杩扮ず渚嬶紝杈撳嚭浣犵殑鍒ゆ柇缁撴灉锛圝SON鏍煎紡锛夈€?
`;
```
#### 2.2 ✅ 分段提取
#### 2.2 鉁?鍒嗘<E98D92>鎻愬彇
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 閽堝<E996BD>鍏ㄦ枃鏁版嵁鎻愬彇锛屾寜绔犺妭鍒嗘<E98D92>澶勭悊
- 姣忔<E5A7A3><EFBFBD>珛鎻愬彇锛屽噺灏戜笂涓嬫枃娣锋穯
- 最后合并结果,交叉验证一致性
- 鏈€鍚庡悎骞剁粨鏋滐紝浜ゅ弶楠岃瘉涓€鑷存€?
**分段策略**
**鍒嗘<EFBFBD>绛栫暐**锛?
```typescript
async function segmentedExtraction(fullText: string, protocol: Protocol) {
// 鍒嗘<E98D92>
@@ -437,54 +437,54 @@ async function segmentedExtraction(fullText: string, protocol: Protocol) {
}
```
**提取示例(方法学部分)**
**鎻愬彇绀轰緥锛堟柟娉曞<EFBFBD>閮ㄥ垎锛?*锛?
```typescript
const methodsPrompt = `
璇蜂粠浠ヤ笅鏂规硶瀛﹂儴鍒嗘彁鍙栫爺绌惰<EFBFBD>俊鎭<EFBFBD>
# 方法学原文
# 鏂规硶瀛﹀師鏂?
${methodsSection}
# 鎻愬彇瀛楁<E7809B>
- 鐮旂┒璁捐<E79281>绫诲瀷锛圧CT/cohort/case-control绛夛級
- 样本量(干预组/对照组)
- 鏍锋湰閲忥紙骞查<EFBFBD>缁?瀵圭収缁勶級
- 绾冲叆鏍囧噯
- 鎺掗櫎鏍囧噯
- 随机化方法(如适用)
- 盲法(如适用)
- 闅忔満鍖栨柟娉曪紙濡傞€傜敤锛?
- 鐩叉硶锛堝<EFBFBD>閫傜敤锛?
# 输出格式JSON
# 杈撳嚭鏍煎紡锛圝SON锛?
${methodsSchema}
`;
```
#### 2.3 ✅ 规则引擎验证
#### 2.3 鉁?瑙勫垯寮曟搸楠岃瘉
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 瀹氫箟涓氬姟瑙勫垯锛岃嚜鍔ㄦ<E98D94>鏌ラ€昏緫閿欒<E996BF>
- 数值范围验证
- 必填字段完整性检查
- 鏁板€艰寖鍥撮獙璇?
- 蹇呭瀛楁<EFBFBD>瀹屾暣鎬ф<EFBFBD>鏌?
**验证规则**
**楠岃瘉瑙勫垯**锛?
```typescript
const validationRules = [
{
name: '样本量合理性',
name: '鏍锋湰閲忓悎鐞嗘€?,
check: (data) => {
const total = data.sampleSize.intervention + data.sampleSize.control;
return total >= 10 && total <= 100000;
},
errorMessage: '样本量超出合理范围10-100000'
errorMessage: '10-100000?
},
{
name: 'P值范围',
name: 'P鍊艰寖鍥?,
check: (data) => {
return data.pValue >= 0 && data.pValue <= 1;
},
errorMessage: 'P鍊煎繀椤诲湪0-1'
},
{
name: '必填字段完整性',
name: '<EFBFBD>?,
check: (data) => {
const required = ['studyDesign', 'sampleSize', 'primaryOutcome'];
return required.every(field => data[field] != null);
@@ -507,14 +507,14 @@ function validateExtraction(data: ExtractionResult): ValidationReport {
}
```
#### 2.4 ✅ 完整证据链
#### 2.4 鉁?瀹屾暣璇佹嵁閾?
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 璁板綍鍘熸枃寮曠敤浣嶇疆锛堥〉鐮併€佹<E282AC>钀姐€佸彞瀛愶級
- 保存模型完整输出(含中间推理)
- 关联所有人工修改记录
- 淇濆瓨妯″瀷瀹屾暣杈撳嚭锛堝惈涓<EFBFBD>棿鎺ㄧ悊锛?
- 鍏宠仈鎵€鏈変汉宸ヤ慨鏀硅<EFBFBD>褰?
**数据库增强**
**鏁版嵁搴撳<EFBFBD>寮?*锛?
```prisma
model ExtractionResult {
id String @id @default(uuid())
@@ -522,7 +522,7 @@ model ExtractionResult {
// 鎻愬彇鍐呭<E98D90>
extractedData Json
// 证据链(新增)
// 璇佹嵁閾撅紙鏂板<EFBFBD>锛?
evidenceChain Json // {
// "sampleSize": {
// "value": 150,
@@ -538,7 +538,7 @@ model ExtractionResult {
modelName String
modelVersion String
promptVersion String // "v1.2.0"
rawOutput String @db.Text // 原始输出含CoT推理
rawOutput String @db.Text // 鍘熷<EFBFBD>杈撳嚭锛堝惈CoT鎺ㄧ悊锛?
// 淇<>敼鍘嗗彶
revisions ExtractionRevision[]
@@ -551,7 +551,7 @@ model ExtractionRevision {
id String @id @default(uuid())
extractionId String
fieldName String // 修改的字段
fieldName String // <EFBFBD>敼鐨勫瓧娈?
oldValue Json
newValue Json
reason String // 淇<>敼鐞嗙敱
@@ -566,41 +566,41 @@ model ExtractionRevision {
### 涓夈€乂1.0 鎴愭湰棰勭畻
**场景:筛选 1000 篇 + 提取 200 篇全文**
**鍦烘櫙锛氱瓫閫?1000 绡?+ 鎻愬彇 200 绡囧叏鏂?*
| 浠诲姟 | 绛栫暐 | 鎴愭湰 |
|------|------|------|
| 标题摘要筛选 | 80% DeepSeek + 20% GPT-5 | ¥21 |
| 全文数据提取 | 分段提取GPT-5 | ¥60 |
| **总成本** | - | **¥81** |
| 鏍囬<EFBFBD>鎽樿<EFBFBD>绛涢€?| 80% DeepSeek + 20% GPT-5 | 21 |
| 鍏ㄦ枃鏁版嵁鎻愬彇 | 鍒嗘<E98D92>鎻愬彇锛圙PT-5锛?| 60 |
| **鎬绘垚鏈?* | - | **楼81** |
### 鍥涖€乂1.0 楠屾敹鏍囧噯
| 鎸囨爣 | 鐩<>爣 | 楠岃瘉鏂规硶 |
|------|------|----------|
| 提取准确率 | ≥ 90% | 人工抽查 50 |
| Few-shot 示例库 | ≥ 20 个 | 人工标注 |
| 规则引擎覆盖率 | ≥ 80% | 代码审查 |
| 证据链完整性 | 100% | 审计检查 |
| 成本控制 | ≤ ¥80/项目 | 账单监控 |
| 鎻愬彇鍑嗙‘鐜?| 鈮?90% | 浜哄伐鎶芥煡 50 绡?|
| Few-shot 绀轰緥搴?| 鈮?20 涓?| 浜哄伐鏍囨敞 |
| 瑙勫垯寮曟搸瑕嗙洊鐜?| 鈮?80% | 浠g爜瀹℃煡 |
| 璇佹嵁閾惧畬鏁存€?| 100% | 瀹¤<EFBFBD>妫€鏌?|
| 鎴愭湰鎺у埗 | 鈮?楼80/椤圭洰 | 璐﹀崟鐩戞帶 |
---
## 🏆 V2.0 阶段8 周)
## 馃弳 V2.0 闃舵<EFBFBD>锛? 鍛<>
### 鐩<>爣瀹氫綅
- **准确率目标**:≥ 95%(医学级)
- **鍑嗙‘鐜囩洰鏍?*锛氣墺 95%锛堝尰瀛︾骇锛?
- **鎴愭湰棰勭畻**锛氭寜闇€閰嶇疆
- **交付标准**:自动化质量审计,符合临床研究规范
- **浜や粯鏍囧噯**锛氳嚜鍔ㄥ寲璐ㄩ噺瀹¤<E780B9>锛岀<E9949B>鍚堜复搴婄爺绌惰<E7BB8C>鑼?
### 涓€銆佸尰瀛︾骇璐ㄩ噺淇濋殰
#### 1.1 ✅ 三模型共识仲裁
#### 1.1 鉁?涓夋ā鍨嬪叡璇嗕徊瑁?
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 鍙屾ā鍨嬪啿绐佹椂锛岃嚜鍔ㄥ惎鐢ㄧ<E990A2>涓夋柟浠茶<E6B5A0>
- 三模型投票决策
- 涓夋ā鍨嬫姇绁ㄥ喅绛?
- 璁板綍浠茶<E6B5A0>杩囩▼
```typescript
@@ -608,7 +608,7 @@ async function threeModelArbitration(
literature: Literature,
protocol: Protocol
) {
// 第一轮:双模型
// <EFBFBD>竴杞<EFBFBD>細鍙屾ā鍨?
const [resultA, resultB] = await Promise.all([
llmService.chat('deepseek', buildPrompt(...)),
llmService.chat('qwen', buildPrompt(...))
@@ -619,11 +619,11 @@ async function threeModelArbitration(
return { finalDecision: resultA.decision, arbitration: false };
}
// 冲突 → 启用 Claude 仲裁
console.log('检测到冲突,启用 Claude-4.5 仲裁...');
// 鍐茬獊 鈫?鍚<> Claude 浠茶<EFBFBD>
console.log('妫€娴嬪埌鍐茬獊锛屽惎鐢?Claude-4.5 浠茶<EFBFBD>...');
const resultC = await llmService.chat('claude', buildPrompt(...));
// 三模型投票
// 涓夋ā鍨嬫姇绁?
const votes = [resultA.decision, resultB.decision, resultC.decision];
const voteCount = {
include: votes.filter(v => v === 'include').length,
@@ -631,7 +631,7 @@ async function threeModelArbitration(
uncertain: votes.filter(v => v === 'uncertain').length,
};
// 多数决
// 澶氭暟鍐?
const winner = Object.entries(voteCount)
.sort((a, b) => b[1] - a[1])[0][0];
@@ -644,39 +644,39 @@ async function threeModelArbitration(
}
```
**成本控制**
- 仅在冲突时启用仲裁(预计 10-15%
- 单次仲裁额外成本¥0.021Claude-4.5
**鎴愭湰鎺у埗**锛?
- 浠呭湪鍐茬獊鏃跺惎鐢ㄤ徊瑁侊紙棰勮<EFBFBD> 10-15%锛?
- 鍗曟<EFBFBD>浠茶<EFBFBD>棰濆<EFBFBD>鎴愭湰锛毬?.021锛圕laude-4.5锛?
#### 1.2 HITL 智能分流
#### 1.2 鉁?HITL 鏅鸿兘鍒嗘祦
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 鍩轰簬瑙勫垯鐨勬櫤鑳戒紭鍏堢骇鎺掑簭
- 高价值/高风险任务优先人工复核
- 楂樹环鍊?楂橀<E6A582>闄╀换鍔紭鍏堜汉宸ュ<E5AEB8>鏍?
- 浣庨<E6B5A3>闄╀换鍔¤嚜鍔ㄥ寲澶勭悊
**分流规则**
**鍒嗘祦瑙勫垯**锛?
```typescript
function intelligentTriage(result: ScreeningResult): TriageDecision {
let priority = 0;
let needReview = false;
// 规则1三模型仍不一致 → 最高优先级
// 瑙勫垯1锛氫笁妯″瀷浠嶄笉涓€鑷?鈫?鏈€楂樹紭鍏堢骇
if (result.arbitration && result.consensus === 'weak') {
priority = 100;
needReview = true;
}
// 规则2RCT 研究 → 中等优先级
// 瑙勫垯2锛歊CT 鐮旂┒ 鈫?涓<>瓑浼樺厛绾?
else if (result.studyDesign === 'RCT') {
priority = 70;
needReview = result.confidence < 0.9;
}
// 规则3关键结局指标 → 高优先级
// 瑙勫垯3锛氬叧閿<EFBFBD>粨灞€鎸囨爣 鈫?楂樹紭鍏堢骇
else if (result.outcome.includes('mortality')) {
priority = 80;
needReview = result.confidence < 0.85;
}
// 规则4高置信度 + 一致 → 自动通过
// 瑙勫垯4锛氶珮缃<EFBFBD>俊搴?+ 涓€鑷?鈫?鑷<>姩閫氳繃
else if (result.confidence > 0.95 && result.consensus === 'high') {
priority = 10;
needReview = false;
@@ -686,27 +686,27 @@ function intelligentTriage(result: ScreeningResult): TriageDecision {
}
```
#### 1.3 ✅ 提示词版本管理
#### 1.3 鉁?鎻愮ず璇嶇増鏈<E5A297><E98F88>鐞?
**实施方案**
- Git 管理提示词模板
**瀹炴柦鏂规<EFBFBD>**锛?
- Git 绠$悊鎻愮ず璇嶆ā鏉?
- 鐗堟湰鍙锋爣璁帮紙璇<E7B499>箟鍖栫増鏈<E5A297>
- A/B 娴嬭瘯涓嶅悓鐗堟湰鏁堟灉
**目录结构**
**<EFBFBD>綍缁撴瀯**锛?
```
backend/prompts/asl/
鈹溾攢鈹€ screening/
│ ├── v1.0.0-basic.txt
│ ├── v1.1.0-with-examples.txt
│ └── v1.2.0-cot.txt
鈹? 鈹溾攢鈹€ v1.0.0-basic.txt
鈹? 鈹溾攢鈹€ v1.1.0-with-examples.txt
鈹? 鈹斺攢鈹€ v1.2.0-cot.txt
鈹溾攢鈹€ extraction/
│ ├── v1.0.0-methods.txt
│ └── v1.1.0-methods-segmented.txt
鈹? 鈹溾攢鈹€ v1.0.0-methods.txt
鈹? 鈹斺攢鈹€ v1.1.0-methods-segmented.txt
鈹斺攢鈹€ changelog.md
```
**版本记录**
**鐗堟湰璁板綍**锛?
```prisma
model PromptVersion {
id String @id @default(uuid())
@@ -727,14 +727,14 @@ model PromptVersion {
}
```
#### 1.4 ✅ 自动质量审计
#### 1.4 鉁?鑷<>姩璐ㄩ噺瀹¤<E780B9>
**实施方案**
- 定期批量抽查10%
**瀹炴柦鏂规<EFBFBD>**锛?
- 瀹氭湡鎵归噺鎶芥煡锛?0%锛?
-<>姩鐢熸垚璐ㄩ噺鎶ュ憡
- 寮傚父妫€娴嬪拰鍛婅<E98D9B>
**审计报表**
**瀹¤<EFBFBD>鎶ヨ〃**锛?
```typescript
interface QualityAuditReport {
period: { start: Date; end: Date };
@@ -742,8 +742,8 @@ interface QualityAuditReport {
sampledTasks: number;
metrics: {
accuracy: number; // 准确率
interRaterAgreement: number; // 人机一致性
accuracy: number; // 鍑嗙‘鐜?
interRaterAgreement: number; // 浜烘満涓€鑷存€?
falsePositiveRate: number; // 鍋囬槼鎬х巼
falseNegativeRate: number; // 鍋囬槾鎬х巼
};
@@ -766,14 +766,14 @@ interface QualityAuditReport {
### 浜屻€侀珮绾ф彁绀鸿瘝宸ョ▼
#### 2.1 Chain of Thought (CoT)
#### 2.1 鉁?Chain of Thought (CoT)
**实施方案**
**瀹炴柦鏂规<EFBFBD>**锛?
- 瑕佹眰妯″瀷杈撳嚭鎺ㄧ悊杩囩▼
- 分步骤判断 PICO 匹配度
- 最后给出综合结论
- 鍒嗘<EFBFBD>楠ゅ垽鏂?PICO 鍖归厤搴?
- 鏈€鍚庣粰鍑虹患鍚堢粨璁?
**提示词示例**
**鎻愮ず璇嶇ず渚?*锛?
```
璇锋寜鐓т互涓嬫<EFBFBD>楠ゅ垽鏂<EFBFBD>繖绡囨枃鐚<EFBFBD>槸鍚﹀簲璇ョ撼鍏ワ細
@@ -788,15 +788,15 @@ interface QualityAuditReport {
- Outcome: 璇︾粏鍒嗘瀽缁撳眬鎸囨爣鏄<E788A3>惁鍖归厤
# Step 3: 缁煎悎鍒ゆ柇
- 汇总以上分析
- 给出最终决策(include/exclude/uncertain
- 评估置信度(0-1
- 姹囨€讳互涓婂垎鏋?
- 缁欏嚭鏈€缁堝喅绛栵紙include/exclude/uncertain锛?
- 璇勪及缃<EFBFBD>俊搴︼紙0-1锛?
# 杈撳嚭鏍煎紡
{
"reasoning": {
"studyDesign": "这是一项...",
"population": "人群匹配度分析...",
"studyDesign": "杩欐槸涓€椤?..",
"population": "浜虹兢鍖归厤搴﹀垎鏋?..",
"intervention": "骞查<E9AA9E><EFBFBD>柦鍒嗘瀽...",
"comparison": "瀵圭収鍒嗘瀽...",
"outcome": "缁撳眬鎸囨爣鍒嗘瀽..."
@@ -807,19 +807,19 @@ interface QualityAuditReport {
}
```
#### 2.2 ✅ 动态示例选择
#### 2.2 鉁?鍔ㄦ€佺ず渚嬮€夋嫨
**实施方案**
- 计算待筛选文献与示例库的语义相似度
- 动态选择最相似的 3-5 个示例
- 嵌入提示词
**瀹炴柦鏂规<EFBFBD>**锛?
- 畻寰呯瓫閫夋枃鐚<EFBFBD>笌绀轰緥搴撶殑璇<EFBFBD>箟鐩镐技搴?
- 鍔ㄦ€侀€夋嫨鏈€鐩镐技鐨?3-5 涓<>ず渚?
- 宓屽叆鎻愮ず璇?
```typescript
async function selectSimilarExamples(
literature: Literature,
examplePool: Example[]
): Promise<Example[]> {
// 使用嵌入模型计算相似度
// 浣跨敤宓屽叆妯″瀷璁$畻鐩镐技搴?
const literatureEmbedding = await getEmbedding(
`${literature.title} ${literature.abstract}`
);
@@ -829,7 +829,7 @@ async function selectSimilarExamples(
similarity: cosineSimilarity(literatureEmbedding, ex.embedding)
}));
// 返回最相似的 5 个
// 杩斿洖鏈€鐩镐技鐨?5 涓?
return similarities
.sort((a, b) => b.similarity - a.similarity)
.slice(0, 5)
@@ -839,25 +839,25 @@ async function selectSimilarExamples(
### 涓夈€乂2.0 鎴愭湰棰勭畻
**场景:高质量系统评价项目(筛选 5000 篇 + 提取 300 篇)**
**鍦烘櫙锛氶珮璐ㄩ噺绯荤粺璇勪环椤圭洰锛堢瓫閫?5000 绡?+ 鎻愬彇 300 绡囷級**
| 浠诲姟 | 绛栫暐 | 鎴愭湰 |
|------|------|------|
| 标题摘要筛选 | 成本优化 + 15% 仲裁 | ¥120 |
| 全文数据提取 | GPT-5 + Claude 双模型 | ¥350 |
| 鏍囬<EFBFBD>鎽樿<EFBFBD>绛涢€?| 鎴愭湰浼樺寲 + 15% 浠茶<EFBFBD> | 120 |
| 鍏ㄦ枃鏁版嵁鎻愬彇 | GPT-5 + Claude 鍙屾ā鍨?| 350 |
| 璐ㄩ噺瀹¤<E780B9> | 10% 鎶芥煡 | 楼30 |
| **总成本** | - | **¥500** |
| **鎬绘垚鏈?* | - | **楼500** |
### 鍥涖€乂2.0 楠屾敹鏍囧噯
| 鎸囨爣 | 鐩<>爣 | 楠岃瘉鏂规硶 |
|------|------|----------|
| 提取准确率 | ≥ 95% | 人工抽查 100 |
| 人机一致性 | ≥ 90% | Cohen's Kappa |
| 假阳性率 | 5% | 统计分析 |
| 假阴性率 | 3% | 统计分析 |
| 提示词版本管理 | 100% | Git 历史 |
| 自动化审计 | 每周 1 次 | 系统报表 |
| 鎻愬彇鍑嗙‘鐜?| 鈮?95% | 浜哄伐鎶芥煡 100 绡?|
| 浜烘満涓€鑷存€?| 鈮?90% | Cohen's Kappa |
| 鍋囬槼鎬х巼 | 鈮?5% | 缁熻<EFBFBD>鍒嗘瀽 |
| 鍋囬槾鎬х巼 | 鈮?3% | 缁熻<EFBFBD>鍒嗘瀽 |
| 鎻愮ず璇嶇増鏈<EFBFBD><EFBFBD>鐞?| 100% | Git 鍘嗗彶 |
| <EFBFBD>姩鍖栧<EFBFBD>璁?| 姣忓懆 1 娆?| 绯荤粺鎶ヨ〃 |
---
@@ -865,87 +865,87 @@ async function selectSimilarExamples(
| 缁村害 | MVP | V1.0 | V2.0 |
|------|-----|------|------|
| **准确率** | 85% | 90% | 95% |
| **模型组合** | DeepSeek + Qwen3 | 成本优化策略 | 三模型仲裁 |
| **质量控制** | 双模型验证 | 规则引擎 + Few-shot | HITL + 自动审计 |
| **可追溯性** | 基本日志 | 完整证据链 | 审计级记录 |
| **成本/1000 ** | ¥5 | ¥21 | ¥24 + 仲裁 |
| **开发周期** | 4 | 6 | 8 |
| **适用场景** | 快速验证 | 常规项目 | 高质量发表 |
| **鍑嗙‘鐜?* | 85% | 90% | 95% |
| **妯″瀷缁勫悎** | DeepSeek + Qwen3 | 鎴愭湰浼樺寲绛栫暐 | 涓夋ā鍨嬩徊瑁?|
| **璐ㄩ噺鎺у埗** | 鍙屾ā鍨嬮獙璇?| 瑙勫垯寮曟搸 + Few-shot | HITL + <EFBFBD>姩瀹¤<EFBFBD> |
| **<EFBFBD>拷婧<EFBFBD>€?* | 鍩烘湰鏃ュ織 | 瀹屾暣璇佹嵁閾?| 瀹¤<E780B9>绾ц<E7BBBE>褰?|
| **鎴愭湰/1000 绡?* | 5 | 21 | 24 + 浠茶<EFBFBD> |
| **寮€鍙戝懆鏈?* | 4 鍛?| 6 鍛?| 8 鍛?|
| **閫傜敤鍦烘櫙** | <EFBFBD>€熼獙璇?| 甯歌<E794AF>椤圭洰 | 楂樿川閲忓彂琛?|
---
## 馃攧 瀹炴柦璺<E69FA6>
### 阶段 1: MVP 开发(Week 1-4
### 闃舵<EFBFBD> 1: MVP 寮€鍙戯紙Week 1-4锛?
**Week 1**锛氬熀纭€鏋舵瀯
- [ ] LLM 服务封装DeepSeek + Qwen3
- [ ] LLM 鏈嶅姟灏佽<EFBFBD>锛圖eepSeek + Qwen3锛?
- [ ] JSON Schema 瀹氫箟
- [ ] 鏁版嵁搴撹〃璁捐<E79281>
**Week 2**:核心功能
- [ ] 双模型并行调用
**Week 2**锛氭牳蹇冨姛鑳?
- [ ] 鍙屾ā鍨嬪苟琛岃皟鐢?
- [ ] 涓€鑷存€у垽鏂<E59EBD>€昏緫
- [ ] 浜哄伐澶嶆牳闃熷垪
**Week 3**:前端开发
**Week 3**锛氬墠绔<E5A2A0>紑鍙?
- [ ] 绛涢€夊伐浣滃彴
- [ ] 鍐茬獊瀵规瘮瑙嗗浘
- [ ] 浜哄伐澶嶆牳鐣岄潰
**Week 4**:测试验收
**Week 4**锛氭祴璇曢獙鏀?
- [ ] 鍔熻兘娴嬭瘯
- [ ] 准确率评估
- [ ] 鍑嗙‘鐜囪瘎浼?
- [ ] 鎴愭湰鐩戞帶
### 阶段 2: V1.0 增强Week 5-10
### 闃舵<EFBFBD> 2: V1.0 澧炲己锛圵eek 5-10锛?
**Week 5-6**:智能优化
**Week 5-6**锛氭櫤鑳戒紭鍖?
- [ ] 鎴愭湰浼樺寲绛栫暐
- [ ] Few-shot 示例库
- [ ] Few-shot 绀轰緥搴?
- [ ] 鍔ㄦ€佺ず渚嬮€夋嫨
**Week 7-8**:质量控制
**Week 7-8**锛氳川閲忔帶鍒?
- [ ] 鍒嗘<E98D92>鎻愬彇
- [ ] 瑙勫垯寮曟搸
- [ ] 璇佹嵁閾惧畬鏁村寲
**Week 9-10**:测试优化
**Week 9-10**锛氭祴璇曚紭鍖?
- [ ] A/B 娴嬭瘯
- [ ] 准确率提升
- [ ] 鍑嗙‘鐜囨彁鍗?
- [ ] 鏂囨。瀹屽杽
### 阶段 3: V2.0 完善Week 11-18
### 闃舵<EFBFBD> 3: V2.0 瀹屽杽锛圵eek 11-18锛?
**Week 11-13**:高级功能
- [ ] 三模型仲裁
**Week 11-13**锛氶珮绾у姛鑳?
- [ ] 涓夋ā鍨嬩徊瑁?
- [ ] HITL 鏅鸿兘鍒嗘祦
- [ ] 提示词版本管理
- [ ] 鎻愮ず璇嶇増鏈<EFBFBD><EFBFBD>鐞?
**Week 14-16**:质量审计
**Week 14-16**锛氳川閲忓<E996B2>璁?
- [ ]<>姩瀹¤<E780B9>绯荤粺
- [ ] 璐ㄩ噺鎶ヨ〃
- [ ] 异常检测
- [ ] 寮傚父妫€娴?
**Week 17-18**:发布准备
**Week 17-18**锛氬彂甯冨噯澶?
- [ ] 鍏ㄩ噺娴嬭瘯
- [ ] 鍖诲<E98D96>涓撳<E6B693>楠岃瘉
- [ ] 文档和培训
- [ ] 鏂囨。鍜屽煿璁?
---
## 馃摎 鐩稿叧鏂囨。
- [CloseAI 集成指南](../../../02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md)
- [CloseAI 闆嗘垚鎸囧崡](../../../02-閫氱敤鑳藉姏灞?01-LLM澶фā鍨嬬綉鍏?03-CloseAI闆嗘垚鎸囧崡.md)
- [AI 妯″瀷闆嗘垚璁捐<E79281>](./04-AI妯″瀷闆嗘垚璁捐<E79281>.md)
- [数据库设计](./01-数据库设计.md)
- [鏁版嵁搴撹<EFBFBD><EFBFBD>(./01-鏁版嵁搴撹<E690B4>璁?md)
- [API 璁捐<E79281>瑙勮寖](./02-API璁捐<E79281>瑙勮寖.md)
---
**更新日志**
- 2025-11-15: 创建文档,定义 MVP/V1.0/V2.0 三阶段策略
**鏇存柊鏃ュ織**锛?
- 2025-11-15: 鍒涘缓鏂囨。锛屽畾涔?MVP/V1.0/V2.0 涓夐樁娈电瓥鐣?