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%)
1507 lines
42 KiB
Markdown
1507 lines
42 KiB
Markdown
# 蜈ィ譁<EFBDA8>、咲ュ幄エィ驥丈ソ晞囿荳主庄霑ス貅ッ遲也払
|
||
|
||
> **譁<>。」迚域悽<E59F9F>?* V1.0
|
||
> **蛻帛サコ譌・譛滂シ?* 2025-11-22
|
||
> **騾ら畑讓。蝮暦シ?* AI 譎コ閭ス譁<EFBDBD>鍵 - 蜈ィ譁<EFBDA8>、咲ュ<E592B2>
|
||
> **逶ョ譬<EFBDAE>シ?* 蛻<>亳谿オ謠仙合蜈ィ譁<EFBDA8>、咲ュ帷噪蜃<E599AA>。ョ邇<EFBDAE>∵婿豕募ュヲ雍ィ驥丞愛譁ュ蜥悟ョ梧紛蜿ッ霑ス貅ッ諤?
|
||
|
||
---
|
||
|
||
## <20>搭 譁<>。」讎りソー
|
||
|
||
譛ャ譁<EFBFBD>。」螳壻ケ我コ<EFBFBD>**蜈ィ譁<EFBDA8>、咲ュ帶ィ。蝮<EFBDA1>**蝨?**MVP 竊?V1.0 竊?V2.0** 荳我クェ髦カ谿オ逧<EFBDB5>エィ驥丈ソ晞囿遲也払縲?
|
||
|
||
### 蜈ィ譁<EFBDA8>、咲ュ<E592B2> vs 譬<>「俶遭隕∝<E99A95>遲幢シ壽<EFBDBC>ク蠢<EFBDB8>キョ蠑?
|
||
|
||
| 扈エ蠎ヲ | 譬<>「俶遭隕∝<E99A95>遲<EFBFBD> | 蜈ィ譁<EFBDA8>、咲ュ<E592B2> | 遲也払蟾ョ蠑<EFBDAE> |
|
||
|------|-------------|---------|---------|
|
||
| **菫。諱ッ驥?* | 200-500蟄?| 5,000-20,000蟄?| <20>閥 髴蛻<C280>ョオ螟<EFBDB5>炊 |
|
||
| **蛻、譁ュ萓晄紺** | PICOS蛹ケ驟榊コ?| 12蟄玲ョオ譁ケ豕募ュヲ雍ィ驥?| <20>閥 髴荳謎ク壼愛譁ュ譬<EFBDAD>㊥ |
|
||
| **蜀ウ遲門、肴揩蠎?* | 菴?譏?蜷? | 鬮?12荳ェ蟄玲ョオテ?郤? | <20>閥 髴扈捺桷蛹匁署蜿?|
|
||
| **螳ケ髞咏ュ也払** | 螳<>漠蜍ソ貍<EFBDBF> | 荳崎<E88DB3>貍丞<E8B28D>髞ョ菫。諱?| <20>閥 髴鬪瑚ッ∵惻蛻カ |
|
||
| **Token謌先悽** | ツ・0.005/遽?| ツ・0.05-0.20/遽?| <20>閥 髴謌先悽莨伜喧 |
|
||
| **蜿ッ霑ス貅ッ諤?* | 蠑慕畑鞫倩ヲ<E580A9> | 蜈キ菴馴。オ遐<EFBDB5>/谿オ關ス/陦ィ譬シ | <20>閥 髴隸∵紺體?|
|
||
|
||
### 譬ク蠢<EFBDB8>ョセ隶。蜴溷<E89CB4>
|
||
|
||
| 蜴溷<E89CB4> | 隸エ譏<EFBDB4> |
|
||
|------|------|
|
||
| **蠕ェ隸∝現蟄ヲ譬<EFBDA6>㊥** | 蝓コ莠擦ochrane RoB 2.0蟾・蜈キ逧<EFBFBD>婿豕募ュヲ雍ィ驥剰ッ<EFBFBD>シー譬<EFBFBD>㊥ |
|
||
| **扈捺桷蛹匁署蜿?* | Nougat + 蛻<>ョオ謠仙叙 + 蜈ィ譁<EFBDA8>ェ瑚ッ<E7919A>シ碁∩蜈?Lost in the Middle" |
|
||
| **螳梧紛隸∵紺體?* | 豈丈クェ蟄玲ョオ蠑コ蛻カ隕∵アょ次譁<E6ACA1>シ慕畑<E68595>磯。オ遐√∵ョオ關ス縲∬。ィ譬シ<E8ADAC><EFBDBC> |
|
||
| **蛻<>ュ・螳樊命** | MVP蜈磯ェ瑚ッ∝庄陦梧ァ<C280>祁1.0謠仙合雍ィ驥擾シ祁2.0霎セ蛻ー蛹サ蟄ヲ郤ァ譬<EFBFBD><EFBFBD>?|
|
||
| **謌先悽荳手エィ驥丞ケウ陦?* | MVP逕ィ謌先悽蜿句・ス讓。蝙具シ悟<EFBDBC>髞ョ蟄玲ョオ逕ィ鬮倡ォッ讓。蝙矩ェ瑚ッ?|
|
||
|
||
---
|
||
|
||
## <20>識 荳蛾亳谿オ霍ッ郤ソ蝗セ
|
||
|
||
```
|
||
MVP (3蜻? V1.0 (5蜻? V2.0 (8蜻?
|
||
笏懌楳 Nougat扈捺桷蛹匁署蜿? 笏懌楳 Cochrane譬<65>㊥Prompt 笏懌楳 荳画ィ。蝙倶サイ陬?
|
||
笏懌楳 12蟄玲ョオ蛻<EFBDB5>ョオ謠仙叙 笏懌楳 Few-shot蛹サ蟄ヲ譯井セ句コ? 笏懌楳 蛹サ蟄ヲ騾サ霎題ァ<E9A18C><EFBDA7>蠑墓梼
|
||
笏懌楳 蜿梧ィ。蝙矩ェ瑚ッ? 笏懌楳 螳梧紛隸∵紺體? 笏懌楳 閾ェ蜉ィ雍ィ驥丞ョ。隶。
|
||
笏懌楳 蟄玲ョオ郤ァ蜀イ遯∵」豬? 笏懌楳 蜈ィ譁<EFBDA8>コ、蜿蛾ェ瑚ッ<E7919A> 笏懌楳 HITL譎コ閭ス蛻<EFBDBD>オ<EFBFBD>
|
||
笏披楳 蝓コ遑蜿ッ霑ス貅? 笏披楳 蛻<>コァ莠コ蟾・螟肴<E89E9F>ク 笏披楳 螳。隶。郤ァ譌・蠢?
|
||
竊? 竊? 竊?
|
||
蜃<>。ョ邇?竕?85% 蜃<>。ョ邇?竕?92% 蜃<>。ョ邇?竕?96%
|
||
```
|
||
|
||
---
|
||
|
||
## <20>噫 MVP 髦カ谿オ<E8B0BF>? 蜻ィ<E89CBB><EFBDA8>
|
||
|
||
### 逶ョ譬<EFBDAE>ョ壻ス<E5A3BB>
|
||
|
||
- **蜃<>。ョ邇<EFBDAE>岼譬?*<2A>壺翁 85%
|
||
- **菫。諱ッ螳梧紛邇?*<2A>壺翁 90%<25>?2蟄玲ョオ荳埼@貍擾シ<E693BE>
|
||
- **謌先悽鬚<E682BD>ョ<EFBFBD>**<2A>壺王 ツ・0.05/遽<>シ<EFBFBD>eepSeek-V3 + Qwen3-Max<61>?
|
||
- **莠、莉俶<E88E89><E4BFB6>㊥**<2A>壼渕遑蜉溯<E89C89>蜿ッ逕ィ<E98095>梧髪謖∫サ捺桷蛹匁署蜿門柱蜿梧ィ。蝙矩ェ瑚ッ<E7919A>
|
||
|
||
---
|
||
|
||
### 荳縲∵<E7B8B2>ク蠢<EFBDB8>橿譛ッ遲也<E981B2>?
|
||
|
||
#### 1.1 笨?Nougat扈捺桷蛹匁署蜿厄シ亥<EFBDBC>髞ョ莨伜漢<E4BC9C>?
|
||
|
||
**荳コ莉荵磯画叫Nougat**<EFBFBD>?
|
||
|
||
| 蟇ケ豈皮サエ蠎ヲ | PyMuPDF | Nougat |
|
||
|---------|---------|--------|
|
||
| 霎灘<E99C8E>譬シ蠑<EFBDBC> | 郤ッ譁<EFBDAF><E8AD81>?| Markdown扈捺桷蛹?|
|
||
| 遶<>闃りッ<E3828A>悪 | 髴LLM莠梧ャ。隸<EFBDA1>悪<EFBFBD>?0%蜃<>。ョ邇<EFBDAE>シ<EFBFBD> | 螟ゥ辟カ菫晉蕗扈捺桷<E68DBA>?5%蜃<>。ョ邇<EFBDAE>シ俄<EFBDBC>?|
|
||
| 陦ィ譬シ螟<EFBDBC>炊 | 譁<>悽荵ア遐<EFBDB1> | Markdown陦ィ譬シ 笨?|
|
||
| 蜈ャ蠑剰ッ<E589B0>悪 | 荵ア遐<EFBDB1> | LaTeX譬シ蠑<EFBDBC> 笨?|
|
||
| 騾ら畑蝨コ譎ッ | 荳ュ譁<EFBDAD>ョコ譁<EFBDBA> | 闍ア譁<EFBDB1>ュヲ譛ッ隶コ譁<EFBDBA> 笨?|
|
||
|
||
**螳樊命譁ケ譯<EFBDB9>**<EFBFBD>?
|
||
|
||
```typescript
|
||
// 豺キ蜷育ュ也払<E4B99F>哢ougat莨伜<E88EA8><E4BC9C>訓yMuPDF髯咲コァ
|
||
async function extractFullText(pdfBuffer: Buffer, filename: string) {
|
||
// Step 1: 譽豬玖ッュ險
|
||
const language = await detectLanguage(pdfBuffer);
|
||
|
||
// Step 2: 闍ア譁<EFBDB1>ョコ譁<EFBDBA>シ伜<EFBDBC>逕ィNougat
|
||
if (language === 'english') {
|
||
try {
|
||
const nougatResult = await extractionClient.extractPdf(
|
||
pdfBuffer, filename, 'nougat'
|
||
);
|
||
|
||
if (nougatResult.quality > 0.8) {
|
||
return {
|
||
method: 'nougat',
|
||
text: nougatResult.text,
|
||
format: 'markdown',
|
||
structured: true // 箝?蜈ウ髞ョ莨伜漢
|
||
};
|
||
}
|
||
} catch (error) {
|
||
console.warn('Nougat螟ア雍・<E99B8D>碁剄郤ァ蛻ーPyMuPDF');
|
||
}
|
||
}
|
||
|
||
// Step 3: 荳ュ譁<EFBDAD>ョコ譁<EFBDBA><E8AD81>Nougat螟ア雍・<E99B8D>檎畑PyMuPDF
|
||
const pymupdfResult = await extractionClient.extractPdf(
|
||
pdfBuffer, filename, 'pymupdf'
|
||
);
|
||
|
||
return {
|
||
method: 'pymupdf',
|
||
text: pymupdfResult.text,
|
||
format: 'plaintext',
|
||
structured: false // 髴隕´LM隸<4D>悪扈捺桷
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.2 笨?12蟄玲ョオ蛻<EFBDB5>ョオ謠仙叙<E4BB99>磯∩蜈広ost in the Middle<6C>?
|
||
|
||
**譬ク蠢<EFBDB8>琉鬚<E79089>**<EFBFBD>壼<EFBFBD>譁?0K tokens荳谺。諤ァ蝟らサ儉LM<4C>御クュ髣エ遶<EFBDB4>闃ゆソ。諱ッ驕玲シ冗紫鬮倩セセ33%
|
||
|
||
**隗」蜀ウ譁ケ譯<EFBDB9>**<EFBFBD>壽潔蟄玲ョオ螳壼髄謠仙叙逶ク蜈ウ遶<EFBFBD>闃<EFBFBD>
|
||
|
||
```typescript
|
||
// 12蟄玲ョオ謠仙叙霍ッ逕ア陦?
|
||
const FIELD_EXTRACTION_ROUTES = {
|
||
'遐皮ゥカ隶セ隶。': {
|
||
sections: ['abstract', 'methods'],
|
||
maxTokens: 3000,
|
||
priority: 'high'
|
||
},
|
||
'遐皮ゥカ莠コ鄒、': {
|
||
sections: ['methods', 'results'],
|
||
maxTokens: 3500,
|
||
priority: 'high',
|
||
lookForTables: true // Table 1: Baseline
|
||
},
|
||
'蟷イ鬚<EFBDB2>蒔譁ス': {
|
||
sections: ['methods', 'results'],
|
||
maxTokens: 3000,
|
||
priority: 'high'
|
||
},
|
||
'蟇ケ辣ァ謗ェ譁ス': {
|
||
sections: ['methods', 'results'],
|
||
maxTokens: 2500,
|
||
priority: 'high'
|
||
},
|
||
'扈灘ア謖<C280><E8AC96><EFBFBD>': {
|
||
sections: ['methods', 'results'],
|
||
maxTokens: 4000,
|
||
priority: 'high',
|
||
lookForTables: true // Results tables
|
||
},
|
||
'髫乗惻蛹匁婿豕?: {
|
||
sections: ['methods', 'figures'],
|
||
maxTokens: 2500,
|
||
priority: 'critical', // 蜈ウ髞ョ蟄玲ョオ
|
||
keywords: ['randomization', 'allocation', 'sequence', 'CONSORT']
|
||
},
|
||
'逶イ豕<EFBFBD>': {
|
||
sections: ['methods'],
|
||
maxTokens: 2000,
|
||
priority: 'critical'
|
||
},
|
||
'譬キ譛ャ驥剰ョ。邂?: {
|
||
sections: ['methods'],
|
||
maxTokens: 2000,
|
||
priority: 'medium'
|
||
},
|
||
'蝓コ郤ソ蜿ッ豈疲?: {
|
||
sections: ['results', 'tables'],
|
||
maxTokens: 3000,
|
||
priority: 'high',
|
||
specificTable: 'Table 1'
|
||
},
|
||
'扈捺棡螳梧紛諤?: {
|
||
sections: ['results', 'figures'],
|
||
maxTokens: 4000,
|
||
priority: 'critical',
|
||
keywords: ['ITT', 'per-protocol', 'missing data', 'dropout']
|
||
},
|
||
'騾画叫諤ァ謚・蜻?: {
|
||
sections: ['methods', 'results', 'supplementary'],
|
||
maxTokens: 3000,
|
||
priority: 'medium',
|
||
checkTrialRegistry: true // 蟇ケ豈疲ウィ蜀梧婿譯<E5A9BF>
|
||
},
|
||
'蜈カ莉門¥蛟?: {
|
||
sections: ['methods', 'discussion', 'supplementary'],
|
||
maxTokens: 3000,
|
||
priority: 'medium'
|
||
}
|
||
};
|
||
|
||
// 蛻<>ョオ蟷カ陦梧署蜿<E7BDB2>
|
||
async function extractAllFields(sections: ParsedSections) {
|
||
const extractionTasks = Object.entries(FIELD_EXTRACTION_ROUTES).map(
|
||
([fieldName, config]) => ({
|
||
field: fieldName,
|
||
task: extractFieldWithEvidence(fieldName, sections, config)
|
||
})
|
||
);
|
||
|
||
// 蟷カ陦梧鴬陦鯉シ磯剄菴主サカ霑滂シ<E6BB82>
|
||
const results = await Promise.all(
|
||
extractionTasks.map(t => t.task)
|
||
);
|
||
|
||
return results;
|
||
}
|
||
```
|
||
|
||
**莨伜漢**<EFBFBD>?
|
||
- 笨?驕ソ蜈堺クュ髣エ菫。諱ッ驕玲シ擾シ亥㊥遑ョ邇<EFBDAE> 70% 竊?90%<25>?
|
||
- 笨?Token豸郁鈴剄菴?0%<25>?0K 竊?12K<32>?
|
||
- 笨?蟷カ陦梧署蜿厄シ悟サカ霑滄剄菴?0%
|
||
- 笨?豈丈クェ蟄玲ョオLLM豕ィ諢丞鴨譖エ髮<EFBDB4>クュ
|
||
|
||
---
|
||
|
||
#### 1.3 笨?蜿梧ィ。蝙倶コ、蜿蛾ェ瑚ッ?
|
||
|
||
**讓。蝙狗サ<E78B97>粋**<EFBFBD>咼eepSeek-V3 + Qwen3-Max<61>域<EFBFBD>譛ャ蜿句・ス<EFBDA5><EFBDBD>
|
||
|
||
```typescript
|
||
// 蜿梧ィ。蝙句ケカ陦瑚ー<E7919A><EFBDB0>?
|
||
async function dualModelExtraction(
|
||
fieldName: string,
|
||
relevantContent: string,
|
||
prompt: string
|
||
) {
|
||
const [resultA, resultB] = await Promise.all([
|
||
llmService.chat('deepseek-v3', prompt, relevantContent),
|
||
llmService.chat('qwen-max', prompt, relevantContent)
|
||
]);
|
||
|
||
// 隗」譫千サ捺棡
|
||
const assessmentA = parseFieldAssessment(resultA);
|
||
const assessmentB = parseFieldAssessment(resultB);
|
||
|
||
// 蜀イ遯∵」豬?
|
||
const hasConflict = assessmentA.level !== assessmentB.level;
|
||
|
||
return {
|
||
field: fieldName,
|
||
modelA: {
|
||
model: 'deepseek-v3',
|
||
assessment: assessmentA.level, // '螳梧紛'/'荳榊ョ梧<EFBDAE>?/'譌<>豕募愛譁ュ'
|
||
evidence: assessmentA.evidence,
|
||
confidence: assessmentA.confidence
|
||
},
|
||
modelB: {
|
||
model: 'qwen-max',
|
||
assessment: assessmentB.level,
|
||
evidence: assessmentB.evidence,
|
||
confidence: assessmentB.confidence
|
||
},
|
||
hasConflict,
|
||
needReview: hasConflict ||
|
||
assessmentA.confidence < 0.7 ||
|
||
assessmentB.confidence < 0.7
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.4 笨?蟄玲ョオ郤ァ蜀イ遯∵」豬倶ク主<EFBDB8>郤ァ螟肴<E89E9F>ク
|
||
|
||
**荳肴弍邂蜊慕噪"蜈ィ驛ィ蜀イ遯∝ーア莠コ蟾・螟肴<E89E9F>?<3F>瑚梧弍譬ケ謐ョ蟄玲ョオ驥崎ヲ∵ァ蛻<EFBDA7>コ?*<2A>?
|
||
|
||
```typescript
|
||
// 蟄玲ョオ驥崎ヲ∵ァ蛻<EFBDA7>コ?
|
||
const FIELD_IMPORTANCE = {
|
||
critical: ['髫乗惻蛹匁婿豕?, '逶イ豕<EFBFBD>', '扈捺棡螳梧紛諤?], // 譬ク蠢<EFBDB8>¥蛟夐」朱<EFBDA3>?
|
||
high: ['遐皮ゥカ隶セ隶。', '遐皮ゥカ莠コ鄒、', '蟷イ鬚<EFBDB2>蒔譁ス', '扈灘ア謖<C280><E8AC96><EFBFBD>', '蝓コ郤ソ蜿ッ豈疲?],
|
||
medium: ['譬キ譛ャ驥剰ョ。邂?, '騾画叫諤ァ謚・蜻?, '蜈カ莉門¥蛟?]
|
||
};
|
||
|
||
// 譎コ閭ス蛻<EFBDBD>オ<EFBFBD>
|
||
function prioritizeReview(conflicts: FieldConflict[]): ReviewQueue {
|
||
const queue = {
|
||
urgent: [], // 蜈ウ髞ョ蟄玲ョオ蜀イ遯<EFBDB2> 竊?遶句叉莠コ蟾・螟肴<E89E9F>ク
|
||
important: [], // 鬮倅シ伜<EFBDBC>郤ァ蟄玲ョオ蜀イ遯<EFBDB2> 竊?24蟆乗慮蜀<E685AE>、肴<EFBDA4>?
|
||
normal: [] // 荳ュ遲我シ伜<EFBDBC>郤ァ蟄玲ョオ蜀イ遯?竊?48蟆乗慮蜀<E685AE>、肴<EFBDA4>?
|
||
};
|
||
|
||
for (const conflict of conflicts) {
|
||
if (!conflict.hasConflict) continue;
|
||
|
||
if (FIELD_IMPORTANCE.critical.includes(conflict.field)) {
|
||
queue.urgent.push({
|
||
...conflict,
|
||
reason: '蜈ウ髞ョ譁ケ豕募ュヲ蟄玲ョオ蜀イ遯<EFBDB2>シ悟スア蜩榊¥蛟夐」朱勦隸<E58BA6>シ?,
|
||
deadline: new Date(Date.now() + 2 * 3600 * 1000) // 2蟆乗慮
|
||
});
|
||
} else if (FIELD_IMPORTANCE.high.includes(conflict.field)) {
|
||
queue.important.push({
|
||
...conflict,
|
||
reason: '鬮倅シ伜<EFBFBD>郤ァ蟄玲ョオ蜀イ遯<EFBFBD>',
|
||
deadline: new Date(Date.now() + 24 * 3600 * 1000) // 24蟆乗慮
|
||
});
|
||
} else {
|
||
queue.normal.push({
|
||
...conflict,
|
||
reason: '荳闊ャ蟄玲ョオ蜀イ遯?,
|
||
deadline: new Date(Date.now() + 48 * 3600 * 1000) // 48蟆乗慮
|
||
});
|
||
}
|
||
}
|
||
|
||
return queue;
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.5 笨?蝓コ遑隸∵紺體セ<E9AB94>亥次譁<E6ACA1>シ慕畑<E68595>?
|
||
|
||
**MVP髦カ谿オ隕∵ア<E288B5>**<EFBFBD>壽ッ丈クェ蟄玲ョオ蠢<EFBFBD>。サ譛牙次譁<EFBFBD>シ慕畑
|
||
|
||
```typescript
|
||
interface FieldEvidence {
|
||
field: string;
|
||
assessment: '螳梧紛' | '荳榊ョ梧<EFBDAE>? | '譌<EFBFBD>豕募愛譁ュ';
|
||
|
||
// 箝?蠑コ蛻カ隕∵ア<E288B5>
|
||
evidence: {
|
||
quote: string; // 蜴滓枚蠑慕畑<E68595>?00-300蟄暦シ<E69AA6>
|
||
location: {
|
||
section: string; // "Methods"
|
||
page?: number; // 3<>亥ヲよ棡PDF譛蛾。オ遐<EFBDB5>シ<EFBFBD>
|
||
paragraph?: number; // 2
|
||
table?: string; // "Table 1"
|
||
figure?: string; // "Figure 1"
|
||
};
|
||
highlightedKeywords: string[]; // 蜈ウ髞ョ菫。蜿キ隸?
|
||
};
|
||
|
||
reasoning: string; // 蛻、譁ュ逅<EFBDAD>罰<EFBFBD>?0-200蟄暦シ<E69AA6>
|
||
confidence: number; // 0.0-1.0
|
||
}
|
||
|
||
// 蜷主、<E4B8BB>炊鬪瑚ッ<E7919A>シ夂。ョ菫晄ッ丈クェ蟄玲ョオ驛ス譛芽ッ∵紺
|
||
function validateEvidence(result: ExtractionResult): ValidationReport {
|
||
const errors = [];
|
||
|
||
for (const [field, data] of Object.entries(result.fields)) {
|
||
// 譽譟?<3F>壼ソ<E5A3BC>。サ譛牙シ慕畑
|
||
if (!data.evidence?.quote) {
|
||
errors.push({
|
||
field,
|
||
type: 'missing_evidence',
|
||
message: `蟄玲ョオ"${field}"郛コ蟆大次譁<E6ACA1>シ慕畑`
|
||
});
|
||
}
|
||
|
||
// 譽譟?<3F>壼シ慕畑荳崎<E88DB3>螟ェ遏ュ<E9818F>磯∩蜈肴聞陦搾シ?
|
||
if (data.evidence?.quote && data.evidence.quote.length < 50) {
|
||
errors.push({
|
||
field,
|
||
type: 'insufficient_evidence',
|
||
message: `蟄玲ョオ"${field}"逧<>シ慕畑霑<E79591>洒<EFBFBD><E6B492><50蟄暦シ会シ悟庄閭ス荳崎カウ莉・謾ッ謖∝愛譁ュ`
|
||
});
|
||
}
|
||
|
||
// 譽譟?<3F>壼ソ<E5A3BC>。サ譛我ス咲スョ菫。諱ッ
|
||
if (!data.evidence?.location?.section) {
|
||
errors.push({
|
||
field,
|
||
type: 'missing_location',
|
||
message: `蟄玲ョオ"${field}"譛ェ譬<EFBDAA>ウィ蜴滓枚菴咲スョ`
|
||
});
|
||
}
|
||
}
|
||
|
||
return {
|
||
isValid: errors.length === 0,
|
||
errors,
|
||
completeness: 1 - (errors.length / (Object.keys(result.fields).length * 3))
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 莠後?2蟄玲ョオ荳謎ク啀rompt讓。譚ソ<E8AD9A><EFBDBF>VP迚茨シ<E88CA8>
|
||
|
||
#### 遉コ萓具シ夐囂譛コ蛹匁婿豕包シ亥<EFBDBC>髞ョ蟄玲ョオ<EFBDAE><EFBDB5>
|
||
|
||
```markdown
|
||
# 蟄玲ョオ謠仙叙莉サ蜉。<E89C89>夐囂譛コ蛹匁婿豕<E5A9BF>
|
||
|
||
## 閭梧勹隸エ譏<EFBDB4>
|
||
菴<EFBFBD>譏ッ荳菴榊セェ隸∝現蟄ヲ荳灘ョカ<EFBFBD>梧ュ」蝨ィ隸<EFBFBD>シー荳遽⑲CT遐皮ゥカ逧<EFBFBD>婿豕募ュヲ雍ィ驥上?
|
||
隸キ譬ケ謐ョCochrane蛛丞夐」朱勦隸<EFBFBD>シー蟾・蜈キ<EFBFBD><EFBFBD>oB 2.0<EFBFBD>臥噪譬<EFBFBD>㊥<EFBFBD>悟愛譁ュ隸・遐皮ゥカ逧<EFBFBD>囂譛コ蛹匁婿豕墓弍蜷ヲ蜈<EFBFBD><EFBFBD>縲?
|
||
|
||
## 蠕<><E8A095>譫仙<E8ADAB>螳?
|
||
莉・荳区弍隶コ譁<EFBFBD>噪Methods遶<EFBFBD>闃ょ柱逶ク蜈ウ蝗セ陦ィ<EFBFBD><EFBFBD>
|
||
|
||
${relevantContent}
|
||
|
||
## 蛻、譁ュ譬<EFBDAD>㊥
|
||
|
||
### 螳梧紛<E6A2A7><E7B49B>ow risk of bias<61>?
|
||
髴**蜷梧慮貊。雜ウ**莉・荳区擅莉カ<E88E89>?
|
||
1. 笨?譏守。ョ隸エ譏朱囂譛コ蠎丞<E8A08E>逕滓<E98095>譁ケ豕<EFBDB9>
|
||
- 遉コ萓具シ喞omputer-generated random sequence, random number table,
|
||
central randomization, minimization
|
||
2. 笨?隸エ譏主<E8AD8F>驟埼嚼阯乗婿豕<E5A9BF>
|
||
- 遉コ萓具シ嘖ealed opaque envelopes, central allocation,
|
||
pharmacy-controlled, IWRS (Interactive Web Response System)
|
||
3. 笨?譌<>騾画叫蛛丞夂噪隸∵紺
|
||
- 蝓コ郤ソ迚ケ蠕∝ケウ陦。
|
||
- 譌<>蠑ょクク逧<EFBDB8><E980A7>扈<EFBFBD>慮髣エ讓。蠑<EFBDA1>
|
||
|
||
### 荳榊ョ梧紛<E6A2A7><E7B49B>igh/Unclear risk of bias<61>?
|
||
莉・荳区ュ蜀オ蛻、螳壻クコ荳榊ョ梧紛<EFBFBD>?
|
||
- 笶?莉<>署蛻?髫乗惻蛻<E683BB>サ<EFBFBD>"菴<>裏蜈キ菴捺婿豕<E5A9BF>
|
||
- 笶?菴ソ逕ィ荳榊ス鍋噪髫乗惻蛹匁婿豕包シ域潔譌・譛溘∽ス城劼蜿キ縲∽コ、譖ソ蛻<EFBDBF><E89BBB><EFBFBD><EFBFBD>
|
||
- 笶?譌<>蛻<EFBFBD><E89BBB>髫占酪謌門<E8AC8C>驟埼嚼阯丈ク榊ス難シ亥シ謾セ蛻<EFBDBE><E89BBB>陦ィ<E999A6>?
|
||
- 笶?蝓コ郤ソ蟄伜惠譏セ闡嶺ク榊ケウ陦。荳疲裏隹<E8A38F><E99AB9>?
|
||
- 笞<><E7AC9E><EFBFBD> 譁ケ豕墓緒霑ー讓。邉奇シ梧裏豕募愛譁ュ蜈<EFBDAD><E89C88>諤?
|
||
|
||
### 譌<>豕募愛譁ュ<E8AD81><EFBDAD>nclear risk<73>?
|
||
- 隶コ譁<EFBDBA>ョ悟<EFBDAE>譛ェ謠仙所髫乗惻蛹匁婿豕<E5A9BF>
|
||
- 莉<>惠蜈カ莉門慍譁ケ<E8AD81>亥ヲよウィ蜀梧婿譯茨シ画署蛻ー<E89BBB>御ス<E5BEA1>悽譁<E682BD>悴謠剰ソー
|
||
|
||
## 蜈ウ髞ョ菫。蜿キ隸?
|
||
|
||
**鬮倩エィ驥丈ソ。蜿キ<E89CBF>亥ョ梧紛<E6A2A7>?*<2A>?
|
||
- "computer-generated random sequence"
|
||
- "central randomization/allocation"
|
||
- "sealed opaque envelopes"
|
||
- "stratified randomization"
|
||
- "block randomization"
|
||
- "minimization"
|
||
- "allocation concealment"
|
||
|
||
**鬟朱勦菫。蜿キ<E89CBF>井ク榊ョ梧紛<E6A2A7>?*<2A>?
|
||
- "alternating allocation"
|
||
- "by date of birth"
|
||
- "by hospital number"
|
||
- "open allocation"
|
||
- "assigned by investigator"
|
||
|
||
## 謠仙叙謖<E58F99>漉
|
||
|
||
1. **莨伜<E88EA8>譟・謇セ菴咲スョ**<EFBFBD>?
|
||
- Methods遶<73>闃ら<E99783>?Randomization"蟆剰鰍
|
||
- Figure 1 (CONSORT豬∫ィ句<EFBDA8>?
|
||
- Trial Registration菫。諱ッ
|
||
- 陦・蜈<EFBDA5>攝譁呻シ<E591BB>upplementary Materials<6C>?
|
||
|
||
2. **莠、蜿蛾ェ瑚ッ<E7919A>**<EFBFBD>?
|
||
- Methods謠剰ソー vs. Results荳ュ逧<EFBDAD>渕郤ソ謨ー謐ョ
|
||
- 螢ー遘ー逧<EFBDB0>婿豕?vs. 螳樣刔逧<E58894>渕郤ソ蟷ウ陦。諠<EFBDA1><E8ABA0>?
|
||
|
||
3. **迚ケ谿頑ュ蜀オ**<EFBFBD>?
|
||
- 螯よ棡謠仙芦"see protocol"謌?see trial registration"<22>梧<EFBFBD><E6A2A7>ョー荳コ髴隕∵衍髦<E8A18D>、夜Κ襍<CE9A><E8A58D>?
|
||
- 螯よ棡譏ッ螟壻クュ蠢<EFBDAD><E8A0A2>皮ゥカ<EFBDA9>悟コ碑ッ・譛我クュ蠢<EFBDAD>囂譛コ蛹也ウサ扈?
|
||
|
||
## 霎灘<E99C8E>譬シ蠑擾シ井ク・譬シJSON<4F>?
|
||
|
||
{
|
||
"assessment": "螳梧紛" | "荳榊ョ梧<EFBDAE>? | "譌<>豕募愛譁ュ",
|
||
"evidence": {
|
||
"quote": "蜴滓枚蠑慕畑<E68595>?00-300蟄暦シ悟桁蜷ォ蜈ウ髞ョ譁ケ豕墓緒霑ー<E99C91>?,
|
||
"location": {
|
||
"section": "Methods",
|
||
"subsection": "Randomization",
|
||
"page": 3,
|
||
"paragraph": 2,
|
||
"figure": "Figure 1 (CONSORT diagram)"
|
||
},
|
||
"highlightedKeywords": [
|
||
"蜈ウ髞ョ隸?",
|
||
"蜈ウ髞ョ隸?"
|
||
]
|
||
},
|
||
"reasoning": "蛻、譁ュ逅<EFBDAD>罰<EFBFBD>壽<EFBFBD>ケ謐ョ蜴滓枚蠑慕畑<E68595>瑚ッ・遐皮ゥ?..",
|
||
"confidence": 0.95,
|
||
"robAssessment": "Low risk" | "High risk" | "Unclear risk",
|
||
"needsExternalVerification": false,
|
||
"notes": "蜈カ莉冶ッエ譏趣シ亥庄騾会シ<E4BC9A>"
|
||
}
|
||
|
||
## 豕ィ諢丈コ矩。ケ
|
||
|
||
1. **荳・譬シ驕オ螳<EFBDB5>ochrane譬<65>㊥**<EFBFBD>壼ョ∝庄蛻、譁ュ荳コ"荳榊ョ梧<EFBDAE>?<3F>御ク崎ヲ∬ソ<E288AC>コ主ョス譚?
|
||
2. **蠑慕畑蠢<E79591>。サ蜈キ菴<EFBDB7>**<EFBFBD>壻ク崎ヲ∫ャシ扈溷慍隸?Methods遶<73>闃よ署蛻ー"<22>悟ソ<E6829F>。サ扈吝<E68988>蜈キ菴灘シ慕<EFBDBC>?
|
||
3. **鄂ョ菫。蠎ヲ隸壼ョ?*<2A>壼ヲよ棡菫。諱ッ荳肴ク<E882B4>匆<EFBFBD>碁剄菴残onfidence蟷カ譬<EFBDB6>ョーneedsExternalVerification
|
||
4. **蛹コ蛻<EFBDBA>"譛ェ蛛<EFBDAA>"蜥?譛ェ謚・蜻?**<EFBFBD>?
|
||
- 螯よ棡隶コ譁<EFBDBA><E8AD81>遑ョ隸?no randomization"<22>径ssessment="荳榊ョ梧<EFBDAE>?
|
||
- 螯よ棡隶コ譁<EFBDBA>ョ悟<EFBDAE>譛ェ謠仙所<E4BB99>径ssessment="譌<>豕募愛譁ュ"
|
||
```
|
||
|
||
**蜈カ莉<EFBDB6>11荳ェ蟄玲ョオ逧Пrompt讓。譚ソ**<EFBFBD>夂アサ莨シ扈捺桷<EFBFBD>梧<EFBFBD>ケ謐ョCochrane譬<EFBFBD>㊥隹<EFBFBD>紛蛻、譁ュ譬<EFBFBD>㊥
|
||
|
||
---
|
||
|
||
### 荳峨`VP謌先悽鬚<E682BD>ョ<EFBFBD>
|
||
|
||
**蝨コ譎ッ<E8AD8E>?00遽<30><E981BD>譁<EFBFBD>、咲ュ?*
|
||
|
||
| 邇ッ闃<EFBDAF> | Token豸郁?| 讓。蝙<EFBDA1> | 謌先悽 |
|
||
|------|----------|------|------|
|
||
| Nougat謠仙叙 | - | 譛ャ蝨ー讓。蝙<EFBDA1> | ツ・0 |
|
||
| 12蟄玲ョオ謠仙叙<E4BB99>亥曙讓。蝙具シ?| 12K テ<> 2 = 24K | DeepSeek-V3 + Qwen3-Max | ツ・0.06/遽?|
|
||
| 蜀イ遯∝ュ玲ョオ莠コ蟾・螟肴<E89E9F>ク<EFBFBD>?0%<25>?| - | 莠コ蟾・ | 2蛻<32>帖/蟄玲ョオ |
|
||
| **100遽<30>サ謌先<E8AC8C>?* | - | - | **ツ・6 + 莠コ蟾・謌先悽** |
|
||
|
||
**蟇ケ豈<EFBDB9>**<EFBFBD>?
|
||
- 蜈ィ譁<EFBDA8>ク谺。諤ァ謠仙叙<E4BB99>堋・10/100遽?
|
||
- 蛻<>ョオ謠仙叙<E4BB99>堋?/100遽?
|
||
- **闃ら怐40%謌先悽 + 蜃<>。ョ邇<EFBDAE>署蜊?*
|
||
|
||
---
|
||
|
||
### 蝗帙`VP鬪梧噺譬<E599BA>㊥
|
||
|
||
| 謖<><E8AC96><EFBFBD> | 逶ョ譬<EFBDAE> | 鬪瑚ッ∵婿豕<E5A9BF> |
|
||
|------|------|----------|
|
||
| 蟄玲ョオ謠仙叙螳梧紛邇?| 竕?90% | 12蟄玲ョオ驛ス譛臥サ捺棡<E68DBA>磯撼"譌<>豕募愛譁ュ"<22>?|
|
||
| 蜿梧ィ。蝙倶ク閾エ邇<EFBDB4> | 竕?75% | 12蟄玲ョオ荳ュ閾ウ蟆?荳ェ荳閾?|
|
||
| 隸∵紺體セ螳梧紛諤?| 100% | 豈丈クェ蟄玲ョオ驛ス譛牙次譁<E6ACA1>シ慕畑蜥御ス咲ス?|
|
||
| 莠コ蟾・螟肴<E89E9F>ク髦溷<E9ABA6> | 竕?30% | 髴隕∽ココ蟾・莉句<E88E89>逧<EFBFBD>枚迪ョ蜊<EFBDAE>豈<EFBFBD> |
|
||
| Nougat謌仙粥邇?| 竕?85% | 闍ア譁<EFBDB1>ョコ譁<EFBDBA><E8AD81>蜉滓署蜿匁ッ比セ<E6AF94> |
|
||
| 螟<>炊騾溷コヲ | 竕?3蛻<33>帖/遽?| 莉傘DF蛻ー扈捺棡逧<E6A3A1>サ譌カ髟?|
|
||
|
||
---
|
||
|
||
## <20>嶋 V1.0 髦カ谿オ<E8B0BF>? 蜻ィ<E89CBB><EFBDA8>
|
||
|
||
### 逶ョ譬<EFBDAE>ョ壻ス<E5A3BB>
|
||
|
||
- **蜃<>。ョ邇<EFBDAE>岼譬?*<2A>壺翁 92%
|
||
- **菫。諱ッ螳梧紛邇?*<2A>壺翁 95%
|
||
- **謌先悽鬚<E682BD>ョ<EFBFBD>**<2A>壺王 ツ・0.08/遽<>シ域匱閭ス謌先悽莨伜喧<E4BC9C>?
|
||
- **莠、莉俶<E88E89><E4BFB6>㊥**<2A>夐ォ倩エィ驥剰セ灘<EFBDBE><E78198>悟ョ梧紛隸∵紺體セ<E9AB94>梧匱閭ス雍ィ驥乗而蛻?
|
||
|
||
---
|
||
|
||
### 荳縲∬エィ驥乗署蜊<E7BDB2>ュ也<EFBDAD>?
|
||
|
||
#### 1.1 笨?Cochrane譬<65>㊥Prompt蠅槫シコ
|
||
|
||
**蝨ィMVP蝓コ遑荳雁「槫<EFBDA2>?*<2A>?
|
||
|
||
1. **Few-shot蛹サ蟄ヲ譯井セ<E4BA95>**<EFBFBD>域ッ丈クェ蟄玲ョ?-5荳ェ逵溷ョ樊。井セ具シ<E585B7>
|
||
|
||
```markdown
|
||
## 蜿り<E3828A>。井セ?
|
||
|
||
莉・荳区<EFBFBD>?荳ェ逵溷ョ朿CT遐皮ゥカ逧<EFBDB6>囂譛コ蛹匁婿豕戊ッ<E6888A>シー譯井セ具シ悟クョ蜉ゥ菴<EFBDA9>逅<EFBFBD>ァ」蛻、譁ュ譬<EFBDAD>㊥<EFBFBD>?
|
||
|
||
### 譯井セ<E4BA95>1<EFBFBD>夐ォ倩エィ驥蹴CT<43><54>EJM, 2023<32>?
|
||
**蜴滓枚蠑慕畑**<2A>?
|
||
"Randomization was performed with the use of a computer-generated sequence
|
||
with stratification according to center and baseline NIHSS score (竕?0 or >10).
|
||
Allocation was concealed through a central web-based system (IWRS)."
|
||
|
||
**隸<>シー扈捺棡**<EFBFBD>壼ョ梧<EFBFBD>?
|
||
**逅<>罰**<EFBFBD>?
|
||
1. 笨?譏守。ョ逧<EFBDAE>コ丞<EFBDBA>逕滓<E98095>譁ケ豕包シ<E58C85>omputer-generated<65>?
|
||
2. 笨?蛻<>アる囂譛コ蛹厄シ域署鬮伜ケウ陦。諤ァ<E8ABA4><EFBDA7>
|
||
3. 笨?荳ュ蠢<EFBDAD><E8A0A2>驟埼嚼阯擾シ<E693BE>WRS<52>?
|
||
4. 笨?蝓コ郤ソTable 1譏セ遉コ荳、扈<EFBDA4>ケウ陦。濶ッ螂ス<E89E82><EFBDBD>>0.05<EFBFBD>?
|
||
**RoB 2.0蛻、譁ュ**<2A>哭ow risk of bias
|
||
|
||
---
|
||
|
||
### 譯井セ<E4BA95>2<EFBFBD>夊エィ驥丈ク崎カウ<EFBDB6>域汾譛溷<E8AD9B>? 2020<32>?
|
||
**蜴滓枚蠑慕畑**<2A>?
|
||
"Patients were randomly assigned to receive either drug A or placebo
|
||
in a 1:1 ratio. Randomization was performed by the study coordinator."
|
||
|
||
**隸<>シー扈捺棡**<EFBFBD>壻ク榊ョ梧紛
|
||
**逅<>罰**<EFBFBD>?
|
||
1. 笶?譛ェ隸エ譏主コ丞<EFBDBA>逕滓<E98095>譁ケ豕包シ井サ<E4BA95>ッエ"髫乗惻"<22>?
|
||
2. 笶?逕ア遐皮ゥカ蜊剰ー<E589B0>遭謇ァ陦碁囂譛コ蛹厄シ域裏蛻<E8A38F><E89BBB>髫占酪<E58DA0><E985AA>
|
||
3. 笞<><E7AC9E><EFBFBD> Table 1譏セ遉コ蟇ケ辣ァ扈<EFBDA7>ケエ鮴<EFBDB4>¥螟ァ<E89E9F><EFBDA7>66.2 vs 62.1, P=0.04<EFBFBD>?
|
||
**RoB 2.0蛻、譁ュ**<2A>唏igh risk of bias
|
||
**髣ョ鬚<EFBDAE>**<EFBFBD>壼庄閭ス蟄伜惠騾画叫蛛丞?
|
||
|
||
---
|
||
|
||
### 譯井セ<E4BA95>3<EFBFBD>夊セケ逡梧ュ蜀オ<E89C80><EFBDB5>ancet, 2021<32>?
|
||
**蜴滓枚蠑慕畑**<2A>?
|
||
"Randomization was done with sequentially numbered, opaque, sealed envelopes
|
||
prepared by an independent statistician not otherwise involved in the trial."
|
||
|
||
**隸<>シー扈捺棡**<EFBFBD>壼ョ梧<EFBFBD>?
|
||
**逅<>罰**<EFBFBD>?
|
||
1. 笨?陌ス髱樔クュ蠢<EFBDAD>囂譛コ蛹厄シ御ス<E5BEA1>スソ逕ィ蟇<EFBDA8>ー∽ソ。蟆?
|
||
2. 笨?迢ャ遶狗ャャ荳画婿蜃<E5A9BF>、<EFBFBD>シ育サ溯ョ。蟶茨シ<E88CA8>
|
||
3. 笨?荳埼丞<C280><E4B89E><EFBFBD>paque<75>我ク泌ッ<E6B38C>ー<EFBFBD>シ<EFBFBD>ealed<65>?
|
||
4. 笨?蝓コ郤ソ蟷ウ陦。濶ッ螂ス
|
||
**RoB 2.0蛻、譁ュ**<2A>哭ow risk of bias
|
||
**隸エ譏<EFBDB4>**<EFBFBD>夂ャヲ蜷<EFBFBD>ochrane譬<EFBFBD>㊥<EFBFBD>亥ッ<EFBFBD>ー∽ソ。蟆?+ 迢ャ遶句㊥螟<E38AA5>庄謗・蜿暦シ<E69AA6>
|
||
|
||
---
|
||
|
||
邇ー蝨ィ隸キ菴<EFBFBD>蜿り<EFBFBD>サ・荳頑。井セ狗噪隸<EFBFBD>シー譁ケ蠑擾シ悟<EFBFBD>譫仙ス灘燕隶コ譁?..
|
||
```
|
||
|
||
2. **Chain of Thought謗ィ逅<EFBDA8>**
|
||
|
||
```markdown
|
||
## 霎灘<E99C8E>譬シ蠑擾シ亥「槫シコ迚茨シ?
|
||
|
||
{
|
||
"assessment": "螳梧紛",
|
||
|
||
// 箝?譁ー蠅橸シ夐先ュ・謗ィ逅<EFBDA8>ソ<EFBFBD>ィ<EFBFBD>
|
||
"reasoning_steps": {
|
||
"step1_sequenceGeneration": {
|
||
"finding": "隶コ譁<EFBDBA>署蛻ー'computer-generated random sequence'",
|
||
"evaluation": "貊。雜ウ蠎丞<E8A08E>逕滓<E98095>譁ケ豕戊ヲ∵ア<E288B5> 笨?
|
||
},
|
||
"step2_allocationConcealment": {
|
||
"finding": "菴ソ逕ィ'central web-based system (IWRS)'",
|
||
"evaluation": "貊。雜ウ蛻<EFBDB3><E89BBB>髫占酪隕∵ア<E288B5> 笨?
|
||
},
|
||
"step3_baselineBalance": {
|
||
"finding": "Table 1譏セ遉コ荳サ隕∫音蠕 ̄>0.05",
|
||
"evaluation": "譌<>譏取仞騾画叫蛛丞夊ッ∵<EFBDAF>?笨?
|
||
},
|
||
"step4_finalJudgment": {
|
||
"conclusion": "荳蛾。ケ譬<EFBDB9>㊥蝮<E38AA5>サ。雜ウ<E99B9C>悟愛譁ュ荳?螳梧紛'",
|
||
"confidence": 0.95
|
||
}
|
||
},
|
||
|
||
"evidence": { ... },
|
||
"robAssessment": "Low risk"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.2 笨?蜈ィ譁<EFBDA8>コ、蜿蛾ェ瑚ッ<E7919A>シ磯亟驕玲シ擾シ?
|
||
|
||
**蝨ィ蛻<EFBDA8>ョオ謠仙叙蜷趣シ悟「槫刈蜈ィ譁<EFBDA8>ェ瑚ッ∫識闃?*<2A>?
|
||
|
||
```typescript
|
||
// 髦カ谿オ1<EFBDB5>壼<EFBFBD>谿オ謠仙叙<E4BB99>亥キイ螳梧<E89EB3><E6A2A7><EFBFBD>
|
||
const segmentedResults = await extractAllFieldsSegmented(sections);
|
||
|
||
// 箝?髦カ谿オ2<EFBDB5>壼<EFBFBD>譁<EFBFBD>コ、蜿蛾ェ瑚ッ<E7919A>シ域眠蠅橸シ?
|
||
async function crossValidateWithFullText(
|
||
segmentedResults: FieldResult[],
|
||
fullTextMarkdown: string
|
||
): Promise<ValidationReport> {
|
||
|
||
// 鬪瑚ッ<E7919A>1<EFBFBD>壽」譟・譏ッ蜷ヲ譛蛾@貍丈ソ。諱ッ
|
||
const missingInfoChecks = await Promise.all([
|
||
checkForMissingInfo('髫乗惻蛹匁婿豕?, fullTextMarkdown, segmentedResults),
|
||
checkForMissingInfo('逶イ豕<EFBFBD>', fullTextMarkdown, segmentedResults),
|
||
// ... 蜈カ莉門<E88E89>髞ョ蟄玲ョオ
|
||
]);
|
||
|
||
// 鬪瑚ッ<E7919A>2<EFBFBD>壽」譟・譏ッ蜷ヲ譛臥泝逶セ菫。諱ッ
|
||
const contradictionChecks = await checkContradictions(
|
||
segmentedResults,
|
||
fullTextMarkdown
|
||
);
|
||
|
||
// 鬪瑚ッ<E7919A>3<EFBFBD>壽」譟・譏ッ蜷ヲ謠仙芦陦・蜈<EFBDA5>攝譁?
|
||
const supplementaryCheck = checkSupplementaryMaterial(fullTextMarkdown);
|
||
|
||
return {
|
||
missingInfoAlerts: missingInfoChecks.filter(c => c.hasIssue),
|
||
contradictions: contradictionChecks,
|
||
needsSupplementary: supplementaryCheck.needsExternal,
|
||
overallCompleteness: calculateCompleteness(...)
|
||
};
|
||
}
|
||
|
||
// 遉コ萓具シ壽」譟・驕玲シ丈ソ。諱?
|
||
async function checkForMissingInfo(
|
||
field: string,
|
||
fullText: string,
|
||
extractedResult: FieldResult
|
||
): Promise<ValidationAlert> {
|
||
|
||
// 螯よ棡蟾イ扈丞愛螳壻ク?螳梧紛"<22>瑚キウ霑?
|
||
if (extractedResult.assessment === '螳梧紛') {
|
||
return { field, hasIssue: false };
|
||
}
|
||
|
||
// 蝨ィ蜈ィ譁<EFBDA8>クュ謳懃エ「蜈ウ髞ョ隸?
|
||
const keywords = FIELD_KEYWORDS[field]; // 鬚<>ョ壻ケ牙<EFBDB9>髞ョ隸崎。?
|
||
const foundKeywords = keywords.filter(kw =>
|
||
fullText.toLowerCase().includes(kw.toLowerCase())
|
||
);
|
||
|
||
// 螯よ棡蜈ィ譁<EFBDA8>クュ譛牙<E8AD9B>髞ョ隸搾シ御ス<E5BEA1>署蜿也サ捺棡譏ッ"譌<>豕募愛譁ュ"
|
||
if (foundKeywords.length > 0 && extractedResult.assessment === '譌<EFBFBD>豕募愛譁ュ') {
|
||
return {
|
||
field,
|
||
hasIssue: true,
|
||
severity: 'warning',
|
||
message: `蜈ィ譁<EFBDA8>クュ蜿醍鴫蜈ウ髞ョ隸阪?{foundKeywords.join(', ')}縲托シ<E68998>
|
||
菴<>ュ玲ョ?${field}"蛻、譁ュ荳?譌<>豕募愛譁ュ"<22>悟庄閭ス蟄伜惠驕玲シ汁,
|
||
suggestedAction: 'targeted_re_extraction',
|
||
keywords: foundKeywords
|
||
};
|
||
}
|
||
|
||
return { field, hasIssue: false };
|
||
}
|
||
```
|
||
|
||
**謨域棡**<EFBFBD>?
|
||
- 驕玲シ丈ソ。諱ッ譽蜃コ邇<EFBDBA>シ?% 竊?80%
|
||
- 蜃<>。ョ邇<EFBDAE>署蜊<E7BDB2>シ<EFBFBD>85% 竊?92%
|
||
|
||
---
|
||
|
||
#### 1.3 笨?蛹サ蟄ヲ騾サ霎題ァ<E9A18C><EFBDA7>蠑墓梼
|
||
|
||
**閾ェ蜉ィ譽譟・蟶ク隗∫噪騾サ霎鷹漠隸ッ**<EFBFBD>?
|
||
|
||
```typescript
|
||
const MEDICAL_LOGIC_RULES = [
|
||
{
|
||
id: 'rule_001',
|
||
name: 'RCT蠢<54>。サ譛蛾囂譛コ蛹<EFBDBA>',
|
||
check: (data) => {
|
||
const isRCT = data.遐皮ゥカ隶セ隶。.toLowerCase().includes('rct') ||
|
||
data.遐皮ゥカ隶セ隶。.includes('髫乗惻');
|
||
const hasRandomization = data.髫乗惻蛹匁婿豕?!== '譌<>豕募愛譁ュ';
|
||
return !isRCT || hasRandomization;
|
||
},
|
||
severity: 'error',
|
||
message: '遐皮ゥカ螢ー遘ー譏ッRCT菴<54>悴謇セ蛻ー髫乗惻蛹匁婿豕墓緒霑?,
|
||
action: 'flag_for_urgent_review'
|
||
},
|
||
|
||
{
|
||
id: 'rule_002',
|
||
name: '蜿檎峇遐皮ゥカ蠢<EFBFBD>。サ隸エ譏守峇豕<EFBFBD>',
|
||
check: (data) => {
|
||
const isDoubleBlind = data.遐皮ゥカ隶セ隶。.includes('蜿檎峇') ||
|
||
data.遐皮ゥカ隶セ隶。.includes('double-blind');
|
||
const hasBlinding = data.逶イ豕<EFBDB2> !== '譌<EFBFBD>豕募愛譁ュ' &&
|
||
data.逶イ豕<EFBDB2> !== '荳榊ョ梧<EFBFBD>?;
|
||
return !isDoubleBlind || hasBlinding;
|
||
},
|
||
severity: 'error',
|
||
message: '螢ー遘ー蜿檎峇菴<E5B387>峇豕墓緒霑ー荳榊ョ梧紛',
|
||
action: 'flag_for_review'
|
||
},
|
||
|
||
{
|
||
id: 'rule_003',
|
||
name: '譬キ譛ャ驥丈ク主渕郤ソ謨ー謐ョ荳閾エ諤?,
|
||
check: (data) => {
|
||
const planned = extractNumber(data.譬キ譛ャ驥剰ョ。邂?;
|
||
const enrolled = extractNumber(data.遐皮ゥカ莠コ鄒、);
|
||
if (!planned || !enrolled) return true; // 譌<>豕墓署蜿門<E89CBF>霍ウ霑?
|
||
|
||
const deviation = Math.abs(planned - enrolled) / planned;
|
||
return deviation < 0.3; // 蛛丞キョ<30%
|
||
},
|
||
severity: 'warning',
|
||
message: '隶。蛻呈<EFBFBD>キ譛ャ驥丈ク主ョ樣刔蜈・扈<EFBFBD>キョ蠑りセ<EFBFBD>、ァ(>30%)',
|
||
action: 'add_note'
|
||
},
|
||
|
||
{
|
||
id: 'rule_004',
|
||
name: '蝓コ郤ソ荳榊ケウ陦。髴隕∬ー<EFBFBD><EFBFBD>?,
|
||
check: (data) => {
|
||
const hasImbalance = data.蝓コ郤ソ蜿ッ豈疲?includes('荳榊ケウ陦?) ||
|
||
data.蝓コ郤ソ蜿ッ豈疲?includes('P<0.05');
|
||
const hasAdjustment = data.扈灘ア謖<C280><E8AC96><EFBFBD>.includes('隹<EFBFBD>紛') ||
|
||
data.扈灘ア謖<C280><E8AC96><EFBFBD>.includes('adjusted');
|
||
return !hasImbalance || hasAdjustment;
|
||
},
|
||
severity: 'warning',
|
||
message: '蝓コ郤ソ蟄伜惠荳榊ケウ陦。菴<EFBFBD>悴隗∬ー<EFBFBD>紛蛻<EFBFBD>梵',
|
||
action: 'add_note'
|
||
},
|
||
|
||
{
|
||
id: 'rule_005',
|
||
name: 'ITT蛻<EFBFBD>梵螳梧紛諤?,
|
||
check: (data) => {
|
||
const hasDropout = extractNumber(data.扈捺棡螳梧紛諤? > 0;
|
||
const hasITT = data.扈捺棡螳梧紛諤?toLowerCase().includes('itt') ||
|
||
data.扈捺棡螳梧紛諤?includes('intention-to-treat');
|
||
return !hasDropout || hasITT;
|
||
},
|
||
severity: 'warning',
|
||
message: '蟄伜惠螟ア隶ソ菴<EFBDBF>悴譏守。ョITT蛻<54>梵',
|
||
action: 'flag_for_review'
|
||
}
|
||
];
|
||
|
||
// 閾ェ蜉ィ鬪瑚ッ<E7919A>
|
||
function validateMedicalLogic(extractedData: ExtractionResult): LogicReport {
|
||
const violations = [];
|
||
|
||
for (const rule of MEDICAL_LOGIC_RULES) {
|
||
try {
|
||
const passed = rule.check(extractedData);
|
||
if (!passed) {
|
||
violations.push({
|
||
ruleId: rule.id,
|
||
ruleName: rule.name,
|
||
severity: rule.severity,
|
||
message: rule.message,
|
||
action: rule.action
|
||
});
|
||
}
|
||
} catch (error) {
|
||
console.error(`隗<EFBFBD><EFBFBD>${rule.id}謇ァ陦悟、ア雍・:`, error);
|
||
}
|
||
}
|
||
|
||
return {
|
||
totalRules: MEDICAL_LOGIC_RULES.length,
|
||
passedRules: MEDICAL_LOGIC_RULES.length - violations.length,
|
||
violations,
|
||
overallValidity: violations.filter(v => v.severity === 'error').length === 0
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.4 笨?螳梧紛隸∵紺體セ<E9AB94>亥「槫シコ迚茨シ<E88CA8>
|
||
|
||
**V1.0隕∵ア<EFBFBD>**<EFBFBD>壻ク堺サ<EFBFBD>怏蠑慕畑<EFBFBD>瑚ソ倩ヲ∵怏蜈キ菴灘ョ壻ス榊柱鬮倅コ?
|
||
|
||
```typescript
|
||
interface EnhancedEvidence {
|
||
field: string;
|
||
assessment: string;
|
||
|
||
evidence: {
|
||
// 荳サ隕∬ッ∵紺
|
||
primaryQuote: {
|
||
text: string; // 蜴滓枚蠑慕畑
|
||
location: {
|
||
section: string; // "Methods"
|
||
subsection?: string; // "Randomization"
|
||
page: number; // 3
|
||
paragraph: number; // 2
|
||
lineRange?: [number, number]; // [45, 52]
|
||
};
|
||
highlightedText: string; // HTML鬮倅コョ迚域悽
|
||
keywords: string[]; // 蜈ウ髞ョ隸榊<E99AB8>陦?
|
||
};
|
||
|
||
// 謾ッ謖∬ッ∵紺<E288B5>亥庄騾会シ<E4BC9A>
|
||
supportingQuotes?: Array<{
|
||
text: string;
|
||
location: any;
|
||
relation: string; // "confirms" | "contradicts" | "complements"
|
||
}>;
|
||
|
||
// 陦ィ譬シ/蝗セ迚<EFBDBE>ッ∵紺
|
||
tableEvidence?: {
|
||
tableName: string; // "Table 1"
|
||
relevantCells: string[]; // 逶ク蜈ウ蜊募<E89C8A>譬シ蜀<EFBDBC>ョ?
|
||
interpretation: string; // 蟇ケ陦ィ譬シ逧<EFBDBC>ァ」隸サ
|
||
};
|
||
|
||
figureEvidence?: {
|
||
figureName: string; // "Figure 1"
|
||
caption: string;
|
||
relevantInfo: string;
|
||
};
|
||
};
|
||
|
||
// 箝?譁ー蠅橸シ壼ョ梧紛謗ィ逅<EFBDA8>得
|
||
reasoningChain: {
|
||
cochraneCriteria: string[]; // 蠎皮畑逧Гochrane譬<65>㊥
|
||
keyFindings: string[]; // 蜈ウ髞ョ蜿醍鴫
|
||
assessment: string; // 譛扈亥愛譁?
|
||
confidence: number;
|
||
uncertainties?: string[]; // 荳咲。ョ螳壼屏邏?
|
||
};
|
||
|
||
// 箝?譁ー蠅橸シ壼庄霑ス貅ッ諤ァ蜈<EFBDA7>焚謐ョ
|
||
metadata: {
|
||
extractionTimestamp: string;
|
||
modelUsed: string;
|
||
promptVersion: string;
|
||
processingTime: number;
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 莠後〃1.0謌先悽鬚<EFBFBD>ョ<EFBFBD>
|
||
|
||
**蝨コ譎ッ<E8AD8E>?00遽<30><E981BD>譁<EFBFBD>、咲ュ?*
|
||
|
||
| 邇ッ闃<EFBDAF> | Token豸郁?| 讓。蝙<EFBDA1> | 謌先悽 |
|
||
|------|----------|------|------|
|
||
| 12蟄玲ョオ蛻<EFBDB5>ョオ謠仙叙<E4BB99>亥曙讓。蝙具シ?| 12K | DeepSeek-V3 + Qwen3-Max | ツ・0.06/遽?|
|
||
| 蜈ィ譁<EFBDA8>コ、蜿蛾ェ瑚ッ<E7919A> | 3K | DeepSeek-V3 | ツ・0.003/遽?|
|
||
| 蜈ウ髞ョ蟄玲ョオ陦・蜈<EFBDA5>署蜿厄シ?0%<25>?| 2K | Qwen3-Max | ツ・0.016/遽<>シ井サ?0%譁<>鍵<EFBFBD>?|
|
||
| **100遽<30>サ謌先<E8AC8C>?* | - | - | **ツ・7.9** |
|
||
|
||
**雍ィ驥乗署蜊<E7BDB2>**<EFBFBD>壼㊥遑ョ邇<EFBFBD> 85% 竊?92%
|
||
**謌先悽蠅槫刈**<EFBFBD>堋? 竊?ツ・8<EFBDA5>?33%<25>御ス<E5BEA1>エィ驥乗仞闡玲署蜊<E7BDB2>シ?
|
||
|
||
---
|
||
|
||
### 荳峨〃1.0鬪梧噺譬<EFBFBD>㊥
|
||
|
||
| 謖<><E8AC96><EFBFBD> | 逶ョ譬<EFBDAE> | 鬪瑚ッ∵婿豕<E5A9BF> |
|
||
|------|------|----------|
|
||
| 蜃<>。ョ邇<EFBDAE>シ井ココ蟾・謚ス譟・<E8AD9F>?| 竕?92% | 髫乗惻謚ス譟・50遽<30>シ御ク灘ョカ隸<EFBDB6>シー |
|
||
| 菫。諱ッ螳梧紛邇?| 竕?95% | 12蟄玲ョオ蝮<EFBDB5>怏譛画譜扈捺棡 |
|
||
| 隸∵紺體セ螳梧紛諤?| 100% | 豈丈クェ蟄玲ョオ譛芽ッヲ扈<EFBDA6>ッ∵紺蜥梧耳逅<E880B3><E98085>?|
|
||
| 驕玲シ丈ソ。諱ッ譽蜃コ邇<EFBDBA> | 竕?80% | 莠、蜿蛾ェ瑚ッ∝書邇ー逧<EFBDB0>@貍乗ッ比セ?|
|
||
| 騾サ霎題ァ<E9A18C><EFBDA7>隕<EFBFBD>尠邇?| 竕?80% | 隗<><E99A97>蠑墓梼譽譟・騾夊ソ<E5A48A><EFBDBF>?|
|
||
| 莠コ蟾・螟肴<E89E9F>ク髦溷<E9ABA6> | 竕?25% | 髴隕∽ココ蟾・莉句<E88E89>逧<EFBFBD>枚迪ョ蜊<EFBDAE>豈<EFBFBD> |
|
||
|
||
---
|
||
|
||
## <20>醇 V2.0 髦カ谿オ<E8B0BF>? 蜻ィ<E89CBB><EFBDA8>
|
||
|
||
### 逶ョ譬<EFBDAE>ョ壻ス<E5A3BB>
|
||
|
||
- **蜃<>。ョ邇<EFBDAE>岼譬?*<2A>壺翁 96%<25>亥現蟄ヲ郤ァ譬<EFBDA7>㊥<EFBFBD>?
|
||
- **莠コ譛コ荳閾エ諤?*<2A>咾ohen's Kappa 竕?0.90
|
||
- **謌先悽鬚<E682BD>ョ<EFBFBD>**<2A>壽潔髴驟咲スョ<EFBDBD>郁エィ驥丈シ伜<EFBDBC><E4BC9C><EFBFBD>
|
||
- **莠、莉俶<E88E89><E4BFB6>㊥**<2A>夊<EFBFBD>蜉ィ蛹冶エィ驥丞ョ。隶。<E99AB6>檎ャヲ蜷<EFBDA6>ochrane蜿題。ィ譬<EFBDA8>㊥
|
||
|
||
---
|
||
|
||
### 荳縲∝現蟄ヲ郤ァ雍ィ驥丈ソ晞囿
|
||
|
||
#### 1.1 笨?荳画ィ。蝙倶サイ陬∵惻蛻?
|
||
|
||
**蜈ウ髞ョ蟄玲ョオ蜀イ遯∵慮<E288B5>悟星逕ィ隨ャ荳画婿莉イ陬?*<2A>?
|
||
|
||
```typescript
|
||
async function threeModelArbitration(
|
||
conflict: FieldConflict,
|
||
relevantContent: string
|
||
) {
|
||
|
||
// 隨ャ荳画婿莉イ陬<EFBDB2>シ咾laude-4.5<EFBFBD>磯ォ倩エィ驥乗ィ。蝙具シ?
|
||
const arbitrationPrompt = `
|
||
菴<EFBFBD>譏ッCochrane邉サ扈溯ッ<EFBFBD>サキ荳灘ョカ<EFBFBD>檎鴫譛我ク、荳ェAI讓。蝙句ッケ蜷御ク蟄玲ョオ逧<EFBFBD>愛譁ュ蟄伜惠蜀イ遯<EFBFBD>シ<EFBFBD>
|
||
隸キ菴<EFBFBD>莉主セェ隸∝現蟄ヲ逧<EFBFBD>ァ貞コヲ扈吝<EFBFBD>譚<EFBFBD>ィ∝愛譁ュ縲?
|
||
|
||
縲仙<EFBFBD>遯∝ュ玲ョオ縲托シ<EFBFBD>${conflict.field}
|
||
|
||
縲先ィ。蝙帰蛻、譁ュ縲托シ<EFBFBD>${conflict.modelA.assessment}
|
||
隸∵紺<EFBFBD>?{conflict.modelA.evidence.quote}
|
||
逅<EFBFBD>罰<EFBFBD>?{conflict.modelA.reasoning}
|
||
鄂ョ菫。蠎ヲ<EFBFBD><EFBFBD>${conflict.modelA.confidence}
|
||
|
||
縲先ィ。蝙毅蛻、譁ュ縲托シ<EFBFBD>${conflict.modelB.assessment}
|
||
隸∵紺<EFBFBD>?{conflict.modelB.evidence.quote}
|
||
逅<EFBFBD>罰<EFBFBD>?{conflict.modelB.reasoning}
|
||
鄂ョ菫。蠎ヲ<EFBFBD><EFBFBD>${conflict.modelB.confidence}
|
||
|
||
縲仙次譁<EFBFBD>托シ<EFBFBD>
|
||
${relevantContent}
|
||
|
||
縲蝉サイ陬∽ササ蜉。縲托シ<EFBFBD>
|
||
1. 譬ケ謐ョCochrane RoB 2.0譬<EFBFBD>㊥<EFBFBD>檎サ吝<EFBFBD>菴<EFBFBD>逧<EFBFBD>愛譁?
|
||
2. 蛻<>梵荳、荳ェ讓。蝙狗噪蛻、譁ュ<E8AD81>梧欠蜃コ蜩ェ荳ェ譖エ蜃<EFBDB4>。ョ<EFBDA1>域<EFBFBD>驛ス荳榊㊥遑ョ<E98191><EFBDAE>
|
||
3. 蠑慕畑Cochrane謇句<E8AC87>逶ク蜈ウ譚。谺セ謾ッ謖∽ス<E288BD>逧<EFBFBD>愛譁ュ
|
||
4. 螯よ棡莉堺ク咲。ョ螳夲シ梧<EFBDBC>遑ョ謖<EFBDAE><E8AC96>髴隕∽ココ蟾・螟肴<E89E9F>ク逧<EFBDB8>次蝗<E6ACA1>
|
||
|
||
縲占セ灘<EFBFBD>譬シ蠑上托シ哽SON
|
||
`;
|
||
|
||
const arbitrationResult = await llmService.chat(
|
||
'claude-4.5',
|
||
arbitrationPrompt
|
||
);
|
||
|
||
return {
|
||
field: conflict.field,
|
||
arbitrator: 'claude-4.5',
|
||
finalJudgment: arbitrationResult.assessment,
|
||
analysis: {
|
||
modelAAccuracy: arbitrationResult.modelA_correct,
|
||
modelBAccuracy: arbitrationResult.modelB_correct,
|
||
correctModel: arbitrationResult.agree_with,
|
||
cochraneCitation: arbitrationResult.cochrane_reference
|
||
},
|
||
confidence: arbitrationResult.confidence,
|
||
stillNeedsHumanReview: arbitrationResult.confidence < 0.9
|
||
};
|
||
}
|
||
```
|
||
|
||
**謌先悽謗ァ蛻カ**<EFBFBD>?
|
||
- 莉<>惠蜈ウ髞ョ蟄玲ョオ蜀イ遯∵慮蜷ッ逕ィ<E98095>磯「<E7A3AF>ョ。10-15%<25>?
|
||
- 蜊墓ャ。莉イ陬∵<E999AC>譛ャ<E8AD9B>堋?.02<EFBFBD><EFBFBD>laude-4.5<EFBFBD>?
|
||
- 100遽<30>サ鬚晏、匁<EFBDA4>譛ャ<E8AD9B>堋・2-3
|
||
|
||
---
|
||
|
||
#### 1.2 笨?HITL譎コ閭ス蛻<EFBDBD>オ<EFBFBD>
|
||
|
||
**蝓コ莠手ァ<E6898B><EFBDA7>逧<EFBFBD>匱閭ス莨伜<E88EA8>郤ァ謗貞コ<E8B29E>**<EFBFBD>?
|
||
|
||
```typescript
|
||
function intelligentTriage(
|
||
extractionResult: ExtractionResult,
|
||
validationReport: ValidationReport,
|
||
arbitrationResults?: ArbitrationResult[]
|
||
): TriageDecision {
|
||
|
||
let priority = 0;
|
||
let needReview = false;
|
||
const reasons = [];
|
||
|
||
// 隗<><E99A97>1<EFBFBD>壻ク画ィ。蝙倶サ堺ク堺ク閾?竊?譛鬮倅シ伜<EFBDBC>郤ァ
|
||
if (arbitrationResults?.some(a => a.stillNeedsHumanReview)) {
|
||
priority = 100;
|
||
needReview = true;
|
||
reasons.push('荳画ィ。蝙倶サイ陬∝錘莉榊ュ伜惠荳咲。ョ螳壽?);
|
||
}
|
||
|
||
// 隗<><E99A97>2<EFBFBD>壼<EFBFBD>髞ョ蟄玲ョオ雍ィ驥城琉鬚?竊?鬮倅シ伜<EFBDBC>郤ァ
|
||
const criticalIssues = validationReport.violations.filter(v =>
|
||
v.severity === 'error' &&
|
||
FIELD_IMPORTANCE.critical.includes(v.field)
|
||
);
|
||
if (criticalIssues.length > 0) {
|
||
priority = Math.max(priority, 90);
|
||
needReview = true;
|
||
reasons.push(`蜈ウ髞ョ蟄玲ョオ蟄伜惠雍ィ驥城琉鬚<E79089>: ${criticalIssues.map(i => i.field).join(', ')}`);
|
||
}
|
||
|
||
// 隗<><E99A97>3<EFBFBD>啌CT遐皮ゥカ 竊?荳ュ遲我シ伜<EFBDBC>郤ァ<E983A4>郁エィ驥剰ヲ∵アるォ假シ<E58187>
|
||
if (extractionResult.遐皮ゥカ隶セ隶。.includes('RCT')) {
|
||
priority = Math.max(priority, 70);
|
||
// RCT螯よ棡鄂ョ菫。蠎ヲ菴取燕髴隕∝、肴<EFBDA4>?
|
||
if (extractionResult.overallConfidence < 0.9) {
|
||
needReview = true;
|
||
reasons.push('RCT遐皮ゥカ菴<EFBFBD>紛菴鍋スョ菫。蠎ヲ菴惹コ<EFBFBD>0.9');
|
||
}
|
||
}
|
||
|
||
// 隗<><E99A97>4<EFBFBD>壼<EFBFBD>髞ョ扈灘ア謖<C280><E8AC96><EFBFBD>シ域ュサ莠。邇<EFBDA1>シ俄<EFBDBC> 鬮倅シ伜<EFBDBC>郤ァ
|
||
if (extractionResult.扈灘ア謖<C280><E8AC96><EFBFBD>.includes('豁サ莠。') ||
|
||
extractionResult.扈灘ア謖<C280><E8AC96><EFBFBD>.includes('mortality')) {
|
||
priority = Math.max(priority, 80);
|
||
if (extractionResult.扈捺棡螳梧紛諤?!== '螳梧紛') {
|
||
needReview = true;
|
||
reasons.push('蜈ウ髞ョ扈灘ア謖<EFBFBD><EFBFBD><EFBFBD>シ域ュサ莠。邇<EFBFBD>シ我ス<EFBFBD>サ捺棡螳梧紛諤ァ譛蛾琉鬚<EFBFBD>');
|
||
}
|
||
}
|
||
|
||
// 隗<><E99A97>5<EFBFBD>夐ォ倡スョ菫。蠎?+ 譌<>蜀イ遯?竊?閾ェ蜉ィ騾夊ソ<E5A48A>
|
||
if (extractionResult.overallConfidence > 0.95 &&
|
||
validationReport.violations.length === 0 &&
|
||
!arbitrationResults) {
|
||
priority = 10;
|
||
needReview = false;
|
||
reasons.push('鬮倩エィ驥乗署蜿厄シ梧裏髴莠コ蟾・螟肴<EFBFBD>ク');
|
||
}
|
||
|
||
// 隗<><E99A97>6<EFBFBD>壼書陦ィ蝨ィ鬘カ郤ァ譛溷<E8AD9B> 竊?髯堺ス主、肴<EFBDA4>ク莨伜<E88EA8>郤?
|
||
const topJournals = ['NEJM', 'Lancet', 'JAMA', 'BMJ'];
|
||
if (topJournals.some(j => extractionResult.metadata.journal?.includes(j))) {
|
||
priority = Math.max(0, priority - 20);
|
||
reasons.push('蜿題。ィ蝨ィ鬘カ郤ァ譛溷<EFBFBD><EFBFBD>梧婿豕募ュヲ雍ィ驥城壼クク霎<EFBFBD>ォ<EFBFBD>');
|
||
}
|
||
|
||
return {
|
||
priority,
|
||
needReview,
|
||
reasons,
|
||
estimatedReviewTime: estimateReviewTime(extractionResult, needReview),
|
||
reviewDeadline: calculateDeadline(priority)
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.3 笨?閾ェ蜉ィ雍ィ驥丞ョ。隶。
|
||
|
||
**螳壽悄謇ケ驥乗歓譟・<E8AD9F>?0%<25>会シ瑚<EFBDBC>蜉ィ逕滓<E98095>雍ィ驥乗冠蜻<E586A0>**<EFBFBD>?
|
||
|
||
```typescript
|
||
// 豈丞捉閾ェ蜉ィ螳。隶。
|
||
async function weeklyQualityAudit(
|
||
startDate: Date,
|
||
endDate: Date
|
||
): Promise<QualityAuditReport> {
|
||
|
||
// 1. 闔キ蜿匁悽蜻ィ謇譛画署蜿也サ捺<EFBDBB>?
|
||
const weeklyExtractions = await db.fulltextScreeningResults.findMany({
|
||
where: {
|
||
createdAt: { gte: startDate, lte: endDate }
|
||
}
|
||
});
|
||
|
||
// 2. 髫乗惻謚ス譬キ10%
|
||
const sampleSize = Math.ceil(weeklyExtractions.length * 0.1);
|
||
const sample = randomSample(weeklyExtractions, sampleSize);
|
||
|
||
// 3. 莠コ蟾・螟肴<E89E9F>ク譬キ譛ャ
|
||
const humanReviews = await requestHumanReview(sample);
|
||
|
||
// 4. 隶。邂苓エィ驥乗欠譬<E6ACA0>
|
||
const metrics = {
|
||
蜃<EFBFBD>。ョ邇? calculateAccuracy(sample, humanReviews),
|
||
莠コ譛コ荳閾エ諤? calculateCohenKappa(sample, humanReviews),
|
||
蛛<EFBFBD>亠諤ァ邇<EFBFBD>: calculateFalsePositiveRate(sample, humanReviews),
|
||
蛛<EFBFBD>亢諤ァ邇<EFBFBD>: calculateFalseNegativeRate(sample, humanReviews),
|
||
|
||
// 蛻<>ュ玲ョオ蜃<EFBDB5>。ョ邇<EFBDAE>
|
||
蟄玲ョオ蜃<EFBFBD>。ョ邇? FIELD_LIST.map(field => ({
|
||
field,
|
||
accuracy: calculateFieldAccuracy(field, sample, humanReviews)
|
||
}))
|
||
};
|
||
|
||
// 5. 讓。蝙区ァ閭ス蟇ケ豈<EFBDB9>
|
||
const modelPerformance = {
|
||
'deepseek-v3': analyzeModelPerformance('deepseek-v3', sample, humanReviews),
|
||
'qwen-max': analyzeModelPerformance('qwen-max', sample, humanReviews),
|
||
'claude-4.5': analyzeModelPerformance('claude-4.5', sample, humanReviews)
|
||
};
|
||
|
||
// 6. 髣ョ鬚伜<E9AC9A>譫<EFBFBD>
|
||
const issues = identifyCommonIssues(sample, humanReviews);
|
||
|
||
// 7. 謾ケ霑帛サコ隶ョ
|
||
const recommendations = generateRecommendations(metrics, issues);
|
||
|
||
return {
|
||
period: { start: startDate, end: endDate },
|
||
totalExtractions: weeklyExtractions.length,
|
||
sampledExtractions: sampleSize,
|
||
metrics,
|
||
modelPerformance,
|
||
issues,
|
||
recommendations,
|
||
generatedAt: new Date()
|
||
};
|
||
}
|
||
|
||
// 閾ェ蜉ィ隸<EFBDA8>悪蟶ク隗<EFBDB8>琉鬚<E79089>
|
||
function identifyCommonIssues(
|
||
sample: Extraction[],
|
||
humanReviews: HumanReview[]
|
||
): Issue[] {
|
||
|
||
const issues = [];
|
||
|
||
// 髣ョ鬚<EFBDAE>1<EFBFBD>壽汾荳ェ蟄玲ョオ髞呵ッッ邇<EFBDAF>ォ?
|
||
for (const field of FIELD_LIST) {
|
||
const fieldErrors = countFieldErrors(field, sample, humanReviews);
|
||
if (fieldErrors / sample.length > 0.15) { // 髞呵ッッ邇?15%
|
||
issues.push({
|
||
type: 'high_field_error_rate',
|
||
field,
|
||
errorRate: fieldErrors / sample.length,
|
||
examples: getErrorExamples(field, sample, humanReviews, 3),
|
||
recommendation: `莨伜喧蟄玲ョオ"${field}"逧Пrompt讓。譚ソ謌芳ew-shot譯井セ義
|
||
});
|
||
}
|
||
}
|
||
|
||
// 髣ョ鬚<EFBDAE>2<EFBFBD>夂音螳夂アサ蝙狗<E89D99>皮ゥカ髞呵ッッ邇<EFBDAF>ォ?
|
||
const studyTypeErrors = analyzeByStudyType(sample, humanReviews);
|
||
for (const [studyType, errorRate] of Object.entries(studyTypeErrors)) {
|
||
if (errorRate > 0.15) {
|
||
issues.push({
|
||
type: 'high_study_type_error_rate',
|
||
studyType,
|
||
errorRate,
|
||
recommendation: `蠅槫刈"${studyType}"邀サ蝙狗<EFBFBD>皮ゥカ逧Ёew-shot譯井セ義
|
||
});
|
||
}
|
||
}
|
||
|
||
// 髣ョ鬚<EFBDAE>3<EFBFBD>夂音螳壽ィ。蝙玖。ィ邇ー蟾ョ
|
||
const modelErrors = analyzeByModel(sample, humanReviews);
|
||
for (const [model, errorRate] of Object.entries(modelErrors)) {
|
||
if (errorRate > 0.15) {
|
||
issues.push({
|
||
type: 'model_underperformance',
|
||
model,
|
||
errorRate,
|
||
recommendation: `閠<EFBFBD>剔隹<EFBFBD>紛讓。蝙<EFBFBD>"${model}"逧<>盾謨ー謌匁峩謐「讓。蝙義
|
||
});
|
||
}
|
||
}
|
||
|
||
return issues;
|
||
}
|
||
```
|
||
|
||
**雍ィ驥乗冠陦ィ遉コ萓<EFBDBA>**<EFBFBD>?
|
||
|
||
```markdown
|
||
# 蜈ィ譁<EFBDA8>、咲ュ幄エィ驥丞ョ。隶。謚・蜻<EFBDA5>
|
||
|
||
**螳。隶。蜻ィ譛<EFBDA8>**<EFBFBD>?025-11-15 閾?2025-11-22
|
||
**諤サ謠仙叙謨ー**<EFBFBD>?48遽?
|
||
**謚ス譬キ謨?*<2A>?5遽<35>シ<EFBFBD>10.1%<25>?
|
||
|
||
## 謨エ菴楢エィ驥乗欠譬<E6ACA0>
|
||
|
||
| 謖<><E8AC96><EFBFBD> | 譛ャ蜻ィ | 荳雁捉 | 雜句漢 |
|
||
|------|------|------|------|
|
||
| 蜃<>。ョ邇?| 94.7% | 93.2% | 竊?+1.5% |
|
||
| Cohen's Kappa | 0.89 | 0.87 | 竊?+0.02 |
|
||
| 蛛<>亠諤ァ邇<EFBDA7> | 3.1% | 4.2% | 竊?-1.1% |
|
||
| 蛛<>亢諤ァ邇<EFBDA7> | 2.2% | 2.6% | 竊?-0.4% |
|
||
|
||
## 蛻<>ュ玲ョオ蜃<EFBDB5>。ョ邇<EFBDAE>
|
||
|
||
| 蟄玲ョオ | 蜃<>。ョ邇?| 迥カ諤?|
|
||
|------|--------|------|
|
||
| 遐皮ゥカ隶セ隶。 | 100% | 笨?莨倡ァ |
|
||
| 髫乗惻蛹匁婿豕?| 93.3% | 笨?濶ッ螂ス |
|
||
| 逶イ豕<EFBDB2> | 86.7% | 笞<><E7AC9E><EFBFBD> 髴謾ケ霑<EFBDB9> |
|
||
| 蝓コ郤ソ蜿ッ豈疲?| 100% | 笨?莨倡ァ |
|
||
| 扈捺棡螳梧紛諤?| 93.3% | 笨?濶ッ螂ス |
|
||
| ... | ... | ... |
|
||
|
||
## 讓。蝙区ァ閭ス蟇ケ豈<EFBDB9>
|
||
|
||
| 讓。蝙<EFBDA1> | 蜃<>。ョ邇?| 蟷ウ蝮<EFBDB3>スョ菫。蠎?| 螟<>炊譌カ髣エ |
|
||
|------|--------|-----------|----------|
|
||
| DeepSeek-V3 | 92.1% | 0.87 | 45s |
|
||
| Qwen3-Max | 94.5% | 0.91 | 38s |
|
||
| Claude-4.5<EFBFBD>井サイ陬<EFBFBD>シ<EFBFBD> | 97.2% | 0.94 | 62s |
|
||
|
||
## 蜿醍鴫逧<E9B4AB>琉鬚?
|
||
|
||
1. **蟄玲ョオ"逶イ豕<EFBDB2>"髞呵ッッ邇<EFBDAF>¥鬮假シ<E58187>13.3%<25>?*
|
||
- 蟶ク隗<EFBDB8>漠隸ッ<E99AB8>壼ー<E5A3BC>"蜊慕峇"隸ッ蛻、荳?螳梧紛"
|
||
- 蜴溷屏蛻<E5B18F>梵<EFBFBD>啀rompt譛ェ譏守。ョ蛹コ蛻<EFBDBA>黒逶?蜿檎峇逧<E5B387>エィ驥丞キョ蠑?
|
||
- 謾ケ霑帛サコ隶ョ<E99AB6>壽峩譁ーPrompt<70>悟「槫<EFBDA2>?蜊慕峇騾壼クク荳崎カウ莉・髦イ豁「譽豬句¥蛟?逧<>ッエ譏?
|
||
|
||
2. **髦溷<E9ABA6>遐皮ゥカ謠仙叙蜃<E58F99>。ョ邇<EFBDAE>ス惹コ山CT<43>?9% vs 96%<25>?*
|
||
- 蜴溷屏蛻<E5B18F>梵<EFBFBD>夐弌蛻礼<E89BBB>皮ゥカ逧<EFBDB6>婿豕募ュヲ謠剰ソー譖エ轣オ豢サ<E8B1A2>梧<EFBFBD><E6A2A7>㊥蛹也ィ句コヲ菴?
|
||
- 謾ケ霑帛サコ隶ョ<E99AB6>壼「槫<EFBDA2>?荳ェ髦溷<E9ABA6>遐皮ゥカ逧Ёew-shot譯井セ<E4BA95>
|
||
|
||
## 謾ケ霑帛サコ隶ョ
|
||
|
||
1. 笨?遶句叉謇ァ陦鯉シ壽峩譁?逶イ豕<EFBDB2>"蟄玲ョオPrompt讓。譚ソ
|
||
2. 笞?譛ャ蜻ィ蜀<EFBDA8>シ壼「槫刈髦溷<E9ABA6>遐皮ゥカFew-shot譯井セ句コ?
|
||
3. <20>套 荳句捉<E58FA5>夐㍾譁ー隸<EFBDB0>シ?逶イ豕<EFBDB2>"蟄玲ョオ蜃<EFBDB5>。ョ邇?
|
||
|
||
## 荳句捉逶ョ譬<EFBDAE>
|
||
|
||
- 蜃<>。ョ邇<EFBDAE>シ壺<EFBDBC>?95%
|
||
- Cohen's Kappa<70>壺翁 0.90
|
||
- "逶イ豕<EFBDB2>"蟄玲ョオ蜃<EFBDB5>。ョ邇<EFBDAE>シ壺<EFBDBC>?93%
|
||
```
|
||
|
||
---
|
||
|
||
#### 1.4 笨?Prompt迚域悽邂。逅<EFBDA1>
|
||
|
||
**Git邂。逅<EFBDA1>署遉コ隸肴ィ。譚ソ<E8AD9A>梧髪謖、/B豬玖ッ<E78E96>**<EFBFBD>?
|
||
|
||
```
|
||
backend/prompts/asl/fulltext_screening/
|
||
笏懌楳笏 changelog.md
|
||
笏懌楳笏 fields/
|
||
笏? 笏懌楳笏 髫乗惻蛹匁婿豕?
|
||
笏? 笏? 笏懌楳笏 v1.0.0-basic.md
|
||
笏? 笏? 笏懌楳笏 v1.1.0-with-examples.md
|
||
笏? 笏? 笏懌楳笏 v1.2.0-cot.md
|
||
笏? 笏? 笏披楳笏 v1.3.0-enhanced-cochrane.md 竊?蠖灘燕迚域悽
|
||
笏? 笏懌楳笏 逶イ豕<EFBDB2>/
|
||
笏? 笏? 笏懌楳笏 v1.0.0-basic.md
|
||
笏? 笏? 笏懌楳笏 v1.1.0-clarify-single-double.md 竊?謾ケ霑帷<E99C91>?
|
||
笏? 笏? 笏披楳笏 ...
|
||
笏? 笏披楳笏 ...
|
||
笏披楳笏 tests/
|
||
笏披楳笏 benchmark_results.json
|
||
```
|
||
|
||
**謨ー謐ョ蠎楢ョー蠖?*<2A>?
|
||
|
||
```prisma
|
||
model PromptVersion {
|
||
id String @id @default(uuid())
|
||
|
||
field String // "髫乗惻蛹匁婿豕?
|
||
version String // "v1.3.0"
|
||
content String @db.Text
|
||
changelog String // "蠅槫シコCochrane譬<65>㊥謠剰ソー<EFBDBF>梧キサ蜉?荳ェFew-shot譯井セ<E4BA95>"
|
||
|
||
// 諤ァ閭ス謖<EFBDBD><E8AC96><EFBFBD>シ<EFBFBD>/B豬玖ッ慕サ捺棡<E68DBA>?
|
||
accuracy Float? // 0.947
|
||
usageCount Int @default(0)
|
||
avgConfidence Float?
|
||
|
||
// 迥カ諤?
|
||
isActive Boolean @default(false)
|
||
isExperimental Boolean @default(false)
|
||
|
||
createdAt DateTime @default(now())
|
||
deactivatedAt DateTime?
|
||
|
||
@@map("asl_prompt_versions")
|
||
}
|
||
```
|
||
|
||
**A/B豬玖ッ<E78E96>**<EFBFBD>?
|
||
|
||
```typescript
|
||
// 20%豬<>㍼菴ソ逕ィ譁ー迚<EFBDB0>rompt
|
||
async function extractFieldWithABTest(
|
||
field: string,
|
||
content: string
|
||
) {
|
||
const isExperimentGroup = Math.random() < 0.2;
|
||
|
||
const promptVersion = isExperimentGroup
|
||
? await getPromptVersion(field, 'experimental')
|
||
: await getPromptVersion(field, 'stable');
|
||
|
||
const result = await llmService.chat(
|
||
'deepseek-v3',
|
||
promptVersion.content,
|
||
content
|
||
);
|
||
|
||
// 隶ー蠖穂スソ逕ィ
|
||
await trackPromptUsage({
|
||
field,
|
||
version: promptVersion.version,
|
||
isExperiment: isExperimentGroup,
|
||
result
|
||
});
|
||
|
||
return result;
|
||
}
|
||
|
||
// 豈丞捉蛻<E68D89>梵A/B豬玖ッ慕サ捺棡
|
||
async function analyzeABTest(field: string): Promise<ABTestReport> {
|
||
const stableResults = await getPromptUsageStats(field, 'stable');
|
||
const experimentResults = await getPromptUsageStats(field, 'experimental');
|
||
|
||
const improvement = {
|
||
accuracy: experimentResults.accuracy - stableResults.accuracy,
|
||
confidence: experimentResults.avgConfidence - stableResults.avgConfidence,
|
||
processingTime: experimentResults.avgTime - stableResults.avgTime
|
||
};
|
||
|
||
// 扈溯ョ。譏セ闡玲ァ譽鬪?
|
||
const isSignificant = performTTest(stableResults, experimentResults);
|
||
|
||
return {
|
||
field,
|
||
stableVersion: stableResults.version,
|
||
experimentVersion: experimentResults.version,
|
||
sampleSize: {
|
||
stable: stableResults.count,
|
||
experiment: experimentResults.count
|
||
},
|
||
improvement,
|
||
isSignificant,
|
||
recommendation: isSignificant && improvement.accuracy > 0.02
|
||
? 'promote_to_stable' // 謠仙合荳コ遞ウ螳夂沿
|
||
: 'continue_testing' // 扈ァ扈ュ豬玖ッ<E78E96>
|
||
};
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 莠後〃2.0謌先悽鬚<EFBFBD>ョ<EFBFBD>
|
||
|
||
**蝨コ譎ッ<E8AD8E>?00遽<30><E981BD>譁<EFBFBD>、咲ュ幢シ磯ォ倩エィ驥城。ケ逶ョ<E980B6><EFBDAE>**
|
||
|
||
| 邇ッ闃<EFBDAF> | Token豸郁?| 讓。蝙<EFBDA1> | 謌先悽 |
|
||
|------|----------|------|------|
|
||
| 12蟄玲ョオ蛻<EFBDB5>ョオ謠仙叙<E4BB99>亥曙讓。蝙具シ?| 12K | DeepSeek-V3 + Qwen3-Max | ツ・0.06/遽?|
|
||
| 蜈ィ譁<EFBDA8>コ、蜿蛾ェ瑚ッ<E7919A> | 3K | DeepSeek-V3 | ツ・0.003/遽?|
|
||
| 蜈ウ髞ョ蟄玲ョオ荳画ィ。蝙倶サイ陬<EFBDB2>シ<EFBFBD>15%<25>?| 3K | Claude-4.5 | ツ・0.03/遽<>シ井サ?5%<25>?|
|
||
| 雍ィ驥丞ョ。隶。<E99AB6>?0%謚ス譟・<E8AD9F>?| 2K | 莠コ蟾・ | 10蛻<30>帖/遽?|
|
||
| **100遽<30>サ謌先<E8AC8C>?* | - | - | **ツ・10 + 莠コ蟾・謌先悽** |
|
||
|
||
**雍ィ驥乗署蜊<E7BDB2>**<EFBFBD>壼㊥遑ョ邇<EFBFBD> 92% 竊?96%
|
||
**謌先悽蠅槫刈**<EFBFBD>堋? 竊?ツ・10<31>?25%<25>御ス<E5BEA1>セセ蛻ー蛹サ蟄ヲ郤ァ譬<EFBDA7>㊥<EFBFBD><E38AA5>
|
||
|
||
---
|
||
|
||
### 荳峨〃2.0鬪梧噺譬<EFBFBD>㊥
|
||
|
||
| 謖<><E8AC96><EFBFBD> | 逶ョ譬<EFBDAE> | 鬪瑚ッ∵婿豕<E5A9BF> |
|
||
|------|------|----------|
|
||
| 蜃<>。ョ邇<EFBDAE>シ井ク灘ョカ隸<EFBDB6>シー<EFBDBC>?| 竕?96% | 莠コ蟾・謚ス譟・100遽?|
|
||
| 莠コ譛コ荳閾エ諤?| Cohen's Kappa 竕?0.90 | 扈溯ョ。蛻<EFBDA1>梵 |
|
||
| 蛛<>亠諤ァ邇<EFBDA7> | 竕?3% | 扈溯ョ。蛻<EFBDA1>梵 |
|
||
| 蛛<>亢諤ァ邇<EFBDA7> | 竕?2% | 扈溯ョ。蛻<EFBDA1>梵 |
|
||
| 隸∵紺體セ螳梧紛諤?| 100% | 閾ェ蜉ィ譽譟?|
|
||
| 閾ェ蜉ィ蛹門ョ。隶?| 豈丞捉1谺?| 邉サ扈滓冠陦ィ |
|
||
| Prompt迚域悽邂。逅<EFBDA1> | 100% | Git蜴<74>彰霑ス雕ェ |
|
||
| 隨ヲ蜷<EFBDA6>ochrane譬<65>㊥ | 竕?95% | 荳灘ョカ隶、隸<EFBDA4> |
|
||
|
||
---
|
||
|
||
## <20>投 荳蛾亳谿オ蟇ケ豈疲サ扈<EFBDBB>
|
||
|
||
| 扈エ蠎ヲ | MVP | V1.0 | V2.0 |
|
||
|------|-----|------|------|
|
||
| **蜃<>。ョ邇?* | 85% | 92% | 96% |
|
||
| **譬ク蠢<EFBDB8>ュ也払** | Nougat+蛻<>ョオ謠仙叙 | +蜈ィ譁<EFBDA8>ェ瑚ッ<E7919A>+騾サ霎題ァ<E9A18C><EFBDA7> | +荳画ィ。蝙倶サイ陬?螳。隶。 |
|
||
| **隸∵紺體?* | 蝓コ譛ャ蠑慕畑 | 螳梧紛螳壻ス<E5A3BB> | 螳。隶。郤ァ譌・蠢?|
|
||
| **雍ィ驥乗而蛻カ** | 蜿梧ィ。蝙矩ェ瑚ッ?| 蛹サ蟄ヲ騾サ霎大シ墓梼 | HITL+閾ェ蜉ィ螳。隶。 |
|
||
| **謌先悽/100遽?* | ツ・6 | ツ・8 | ツ・10 |
|
||
| **蠑蜿大捉譛?* | 3蜻?| 5蜻?| 8蜻?|
|
||
| **騾ら畑蝨コ譎ッ** | 蠢ォ騾滄ェ瑚ッ?| 蟶ク隗<EFBDB8>。ケ逶ョ | Cochrane蜿題。ィ |
|
||
|
||
---
|
||
|
||
## <20>売 螳樊命霍ッ蠕<EFBDAF>
|
||
|
||
### 髦カ谿オ1<EFBDB5>哺VP蠑蜿托シ<E68998>eek 1-3<>?
|
||
|
||
**Week 1**<EFBFBD>壼渕遑譫カ譫<EFBFBD>
|
||
- [x] PDF蟄伜お譛榊苅<E6A68A>亥キイ螳梧<E89EB3><E6A2A7>俄怛
|
||
- [ ] Nougat謠仙叙+遶<>闃りァ」譫<EFBDA3>
|
||
- [ ] 12蟄玲ョオ霍ッ逕ア陦ィ隶セ隶?
|
||
- [ ] 蝓コ遑Prompt讓。譚ソ<E8AD9A>?2荳ェ蟄玲ョオ<EFBDAE><EFBDB5>
|
||
|
||
**Week 2**<EFBFBD>壽<EFBFBD>ク蠢<EFBFBD>粥閭?
|
||
- [ ] 蛻<>ョオ蟷カ陦梧署蜿<E7BDB2>
|
||
- [ ] 蜿梧ィ。蝙玖ー<E78E96><EFBDB0>?
|
||
- [ ] 蟄玲ョオ郤ァ蜀イ遯∵」豬?
|
||
- [ ] 蝓コ遑隸∵紺體?
|
||
|
||
**Week 3**<EFBFBD>壼燕遶?豬玖ッ<E78E96>
|
||
- [ ] 蜑咲ォッ蟾・菴懷<E88FB4>?
|
||
- [ ] 蜀イ遯∝ッケ豈碑ァ<E7A291>崟
|
||
- [ ] 莠コ蟾・螟肴<E89E9F>ク逡碁擇
|
||
- [ ] 蜉溯<E89C89>豬玖ッ<E78E96>+蜃<>。ョ邇<EFBDAE>ッ<EFBFBD>シ?
|
||
|
||
### 髦カ谿オ2<EFBDB5>啖1.0蠅槫シコ<EFBFBD><EFBFBD>eek 4-8<>?
|
||
|
||
**Week 4-5**<EFBFBD>夊エィ驥乗署蜊?
|
||
- [ ] Cochrane譬<65>㊥Prompt蠅槫シコ
|
||
- [ ] Few-shot蛹サ蟄ヲ譯井セ句コ難シ域ッ丞ュ玲ョ?-5荳ェ<E88DB3><EFBDAA>
|
||
- [ ] CoT謗ィ逅<EFBDA8>「槫シコ
|
||
|
||
**Week 6-7**<EFBFBD>夐ェ瑚ッ∵惻蛻?
|
||
- [ ] 蜈ィ譁<EFBDA8>コ、蜿蛾ェ瑚ッ<E7919A>
|
||
- [ ] 蛹サ蟄ヲ騾サ霎題ァ<E9A18C><EFBDA7>蠑墓梼
|
||
- [ ] 螳梧紛隸∵紺體?
|
||
|
||
**Week 8**<EFBFBD>壻シ伜<EFBFBD>?譁<>。」
|
||
- [ ] 諤ァ閭ス莨伜喧
|
||
- [ ] A/B豬玖ッ<E78E96>
|
||
- [ ] 譁<>。」螳悟埋
|
||
|
||
### 髦カ谿オ3<EFBDB5>啖2.0螳悟埋<EFBFBD><EFBFBD>eek 9-16<31>?
|
||
|
||
**Week 9-11**<EFBFBD>夐ォ倡コァ蜉溯<EFBFBD>?
|
||
- [ ] 荳画ィ。蝙倶サイ陬?
|
||
- [ ] HITL譎コ閭ス蛻<EFBDBD>オ<EFBFBD>
|
||
- [ ] Prompt迚域悽邂。逅<EFBDA1>+A/B豬玖ッ<E78E96>
|
||
|
||
**Week 12-14**<EFBFBD>夊エィ驥丞ョ。隶?
|
||
- [ ] 閾ェ蜉ィ螳。隶。邉サ扈<EFBDBB>
|
||
- [ ] 雍ィ驥乗冠陦ィ
|
||
- [ ] 蠑ょクク譽豬?
|
||
|
||
**Week 15-16**<EFBFBD>壼現蟄ヲ荳灘ョカ鬪瑚ッ?
|
||
- [ ] Cochrane荳灘ョカ隸<EFBDB6>ョ。
|
||
- [ ] 蜈ィ驥乗オ玖ッ<E78E96>
|
||
- [ ] 蜿大ク<E5A4A7>枚譯」
|
||
|
||
---
|
||
|
||
## <20>答 逶ク蜈ウ譁<EFBDB3>。」
|
||
|
||
- [譬<EFBFBD>「俶遭隕∝<EFBFBD>遲幄エィ驥丈ソ晞囿遲也払](./06-雍ィ驥丈ソ晞囿荳主庄霑ス貅ッ遲也払.md)
|
||
- [蜈ィ譁<EFBDA8>、咲ュ帛シ蜿題ョ。蛻綻(../04-蠑蜿題ョ。蛻?04-蜈ィ譁<EFBDA8>、咲ュ帛シ蜿題ョ。蛻?md)
|
||
- [謨ー謐ョ蠎楢ョセ隶。](./01-謨ー謐ョ蠎楢ョセ隶?md)
|
||
- [API隶セ隶。隗<EFBFBD>激](./02-API隶セ隶。隗<EFBDA1>激.md)
|
||
- [莠大次逕溷シ蜿題ァ<EFBFBD>激](../../../04-蠑蜿題ァ<E9A18C><EFBDA7>?08-莠大次逕溷シ蜿題ァ<E9A18C><EFBDA7>?md)
|
||
|
||
---
|
||
|
||
**譖エ譁ー譌・蠢<EFBDA5>**<EFBFBD>?
|
||
- 2025-11-22: 蛻帛サコ譁<EFBDBA>。」<EFBDA1>悟ョ壻ケ牙<EFBDB9>譁<EFBFBD>、咲ュ帑ク蛾亳谿オ雍ィ驥丈ソ晞囿遲也払
|
||
- 蝓コ莠晒ougat扈捺桷蛹?蛻<>ョオ謠仙叙+蜈ィ譁<EFBDA8>ェ瑚ッ∫噪謚譛ッ譁ケ譯?
|
||
- 蜿りイochrane RoB 2.0譬<EFBFBD>㊥隶セ隶。荳謎ク啀rompt讓。譚ソ
|
||
- 蠑コ隹<EFBDBA>ョ梧紛隸∵紺體セ蜥悟庄霑ス貅ッ諤?
|
||
|
||
|
||
|