Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/06-技术债务/技术债务清单.md
HaHafeng 1b53ab9d52 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%)
2026-01-14 19:15:01 +08:00

32 KiB
Raw Blame History

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD>讃璅<EFBFBD> - <20><><EFBFBD><EFBFBD>箏𦛚皜<F0A69B9A><E79A9C>

*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦嚗? v1.2
*<EFBFBD>𥕦遣<EFBFBD><EFBFBD>嚗? 2025-11-21
蝏湔擪<EFBFBD><EFBFBD><EFBFBD> AI<41><EFBFBD><E7AE84><EFBFBD>讃撘<E8AE83><E69298>穃𣪧<E7A983>? <EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD> 2025-11-23
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? 霈啣<E99C88>MVP摰峕<E691B0><E5B395>𡡞<EFBFBD><EFBFBD><E996AC><EFBFBD>𣇉<EFBFBD><F0A38789><EFBFBD><EFBFBD>舫䔮憸?


<EFBFBD><EFBFBD> <20><>﹝霂湔<E99C82>

<EFBFBD><EFBFBD><EFBFBD>扇敶𧭈I<EFBFBD><EFBFBD><EFBFBD><EFBFBD>讃璅<EFBFBD><EFBFBD>決VP撘<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝滚蔣<EFBFBD>齿瓲敹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>舫䔮憸塩<EFBFBD><EFBFBD><EFBFBD>鈭偦䔮憸睃<EFBFBD><EFBFBD>決VP蝔喳<EFBFBD>餈鞱<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鞉郊閫<EFBFBD><EFBFBD><EFBFBD>? **敶枏<E695B6>MVP<56><EFBFBD>?*嚗?- <20>?<3F><EFBFBD><E8A9A8><EFBFBD>摰峕㟲嚗<E39FB2><E59A97>隡罱<E99AA1>蝑偦<E89D91><EFBFBD>憭齿瓲嚗?- <20>?<3F>峕芋<E5B395><EFBFBD><E8AEA0>匧虾<E58CA7><EFBFBD>DeepSeek + Qwen嚗?- <20>?<3F><EFBFBD>蝡航<E89DA1><EFBFBD><E99D9A><EFBFBD>

  • <EFBFBD>𩤃<EFBFBD> <20><><EFBFBD>?0%嚗䔶<E59A97>鈭𡒊𤌍<F0A1928A>?5%
  • <EFBFBD>𩤃<EFBFBD> <20><EFBFBD><EFBFBD><E9A2B2>嚗?99蝭<39>漲33-66<36><36><EFBFBD>

<EFBFBD>𣞁 隡睃<E99AA1>蝥?嚗朞捶<E69C9E><EFBFBD><E8AD8D><EFBFBD><E59094><EFBFBD><EFBFBD><EFBC86><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD>讛膩

**敶枏<E695B6><E69E8F><EFBFBD>?*嚗?- <20><><EFBFBD><EFBC86><EFBFBD>60%

  • <EFBFBD><EFBFBD>嚗尠竉85%
  • 撌株<EFBFBD>嚗?5%

敶勗<EFBFBD><EFBFBD><EFBFBD>嚗?- <20>湔𦻖敶勗<E695B6><E58B97><EFBFBD>撖農I蝑偦<E89D91><EFBFBD><E58EA9>𦦵<EFBFBD>靽∩遙摨?- 憓𧼮<E68693>鈭箏極憭齿瓲撌乩<E6928C><E4B9A9>?- <20><EFBFBD>撖潸稲瞍讐<E79E8D><E8AE90>𤥁秤蝑? **<2A>寞𧋦<E5AF9E><EFBFBD>**嚗<>抅鈭?025-11-18瘚贝<E7989A><E8B49D><EFBFBD>嚗㚁<E59A97>

  1. Prompt銝滚<EFBFBD><EFBFBD>嚗鋫I撖?颲寧<E9A2B2><E5AFA7><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><E996AB>鈭箇掩銝滢<E98A9D><E6BBA2>?2. **蝻箏<E89DBB>Few-shot蝷箔<E89DB7>**嚗𡁏芋<F0A1818F>𧢲瓷<F0A7A2B2><EFBFBD><E58CA7><EFBFBD><EFBFBD>靘页<E99D98><E9A1B5>曆誑<E69B86>𦠜𨘥<F0A6A09C><F0A898A5><EFBFBD>
  2. **PICOS<4F><53><EFBFBD>璅∠<E79285>**嚗𡁶鍂<F0A181B6><EFBFBD><E79181><EFBFBD><E4BAA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E888AA><EFBFBD>銝齿<E98A9D>
  3. **<2A><EFBFBD><EFBFBD>瘚衤<E7989A><E8A1A4>𤩺<EFBFBD>**嚗𡁜蘨璉<E898A8>瘚讠<E7989A>霈箔<E99C88><EFBFBD><E98A9D><EFBFBD>敹賜裦鈭<E8A3A6>蔭靽<E288AA>釶ICO撌桀<E6928C>

隡睃<EFBFBD><EFBFBD><EFBFBD>1嚗鎄ew-shot蝷箔<E89DB7>

**<2A><EFBFBD>**嚗𡁜銁Prompt銝剜溶<E5899C>?-5銝芷<E98A9D>韐券<E99F90>蝷箔<E89DB7>

摰墧鴌甇仿炊嚗?

Step 1: 霈曇恣蝷箔<E89DB7>蝏𤘪<E89D8F>

瘥譍葵蝷箔<EFBFBD><EFBFBD><EFBFBD>鉄嚗?1. <20><><EFBFBD><E8AE83><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E996AC>蝎曄<E89D8E><E69B84><EFBFBD><EFBFBD>
2. PICOS<4F><53><EFBFBD>
3. 蝥喳<E89DA5>/<2F>㘾膄<E398BE><E88684><EFBFBD>
4. 甇<><EFBFBD><EFBC86>ế<EFBFBD><EFBFBD><E58994><EFBFBD>include/exclude嚗?5. 霂衣<E99C82><E8A1A3><EFBFBD><EFBFBD><E7B6AB><EFBFBD>蝔?```

#### Step 2: <20>㗇𥋘蝷箔<E89DB7>蝐餃<E89D90>

蝷箔<EFBFBD>1嚗𡁏<EFBFBD>蝖桀<EFBFBD>蝥喳<EFBFBD> - 摰𣬚<E691B0><F0A3AC9A><EFBFBD><E5AFA5><EFBFBD><EFBFBD>侨ICOS 蝷箔<E89DB7>2嚗𡁏<E59A97>蝖桀<E89D96><E6A180>㘾膄 - 鈭箇黎銝滚龪<E6BB9A>?蝷箔<E89DB7>3嚗𡁏<E59A97>蝖桀<E89D96><E6A180>㘾膄 - <20>𠉛弦霈曇恣銝滨泵 蝷箔<E89DB7>4嚗朞器<E69C9E><EFBFBD><E5B395>?- <20><EFBFBD><E585B8><EFBFBD>嚗䔶<E59A97>摨𠉛熙<F0A0899B>?蝷箔<E89DB7>5嚗朞器<E69C9E><EFBFBD><E5B395>?- <20>衤撮<E8A1A4><EFBFBD>嚗䔶<E59A97>摨娍<E691A8><E5A88D>?```

Step 3: 蝻硋<E89DBB>蝷箔<E89DB7>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摰墧<EFBFBD>霂閙<EFBFBD>靘衤葉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>憭梯揖獢<EFBFBD><EFBFBD>
蝖桐<E89D96>蝷箔<E89DB7><EFBFBD><E996AC>撣貉<E692A3><E8B289><EFBFBD>ế<EFBFBD>剖㦤<E58996>?```

#### Step 4: <20><><EFBFBD><EFBFBD>訐rompt

雿滨蔭嚗颹ackend/prompts/asl/screening/v1.1.0-fewshot.txt <0A><EFBFBD>嚗?---

蝷箔<EFBFBD>1嚗𡁏<EFBFBD>蝖桃熙<EFBFBD>?<3F><EFBFBD><E99E89><EFBFBD>𡢅<EFBFBD>...

<EFBFBD>辥ICOS<EFBFBD>𡢅<EFBFBD>... <0A>𣂼ế<F0A382BC><EFBFBD>𡢅<EFBFBD>include <0A>𣂼<EFBFBD><F0A382BC>𨬭<EFBFBD>𡢅<EFBFBD>...


**憸<><EFBFBD>𣂼<EFBFBD>**嚗𡁜<E59A97>蝖桃<E89D96> +10-15%嚗?0% <20>?70-75%嚗?
**憸<><EFBFBD>埈𧒄**嚗?憭?
---

### 隡睃<E99AA1><E79D83><EFBFBD>2嚗䥪ICOS<4F><53><EFBFBD><EFBFBD>𡒊<F0A1928A>?
**<2A><EFBFBD>**嚗𡁜葬<F0A1819C>呸I<E591B8><EFBFBD>蝖桃<E89D96><EFBFBD><EFBFBD><EFBFBD>PICOS<4F><53><EFBFBD>

**摰墧鴌甇仿炊**嚗?
#### Step 1: 憓𧼮撩PICOS颲枏<E9A2B2>
```typescript
// 敶枏<E695B6>颲枏<E9A2B2>
picoCriteria: {
  P: "2<><EFBFBD>撠輻<E692A0><E8BCBB>𣂷犖<F0A382B7><E78A96><EFBFBD>?,
  I: "SGLT2<54><EFBFBD><E7A983>?,
  ...
}

// 隡睃<E99AA1><E79D83><EFBFBD><E88898>?picoCriteria: {
  P: {
    description: "2<><EFBFBD>撠輻<E692A0><E8BCBB>𣂷犖<F0A382B7><E78A96><EFBFBD>?,
    keywords: ["2<><EFBFBD>撠輻<E692A0>", "<22>𣂷犖", "T2DM"],
    mustInclude: ["蝟硋倏<E7A18B>?],
    mustExclude: ["1<>?, "<22>輻咱", "<22><EFBFBD>撟?]
  },
  ...
}

Step 2: <20>沌rompt銝剜<E98A9D>蝖株<E89D96>瘙?```

<EFBFBD>沌rompt銝剜溶<EFBFBD>𩤃<EFBFBD>

  • <EFBFBD>𡒊<EFBFBD><EFBFBD><EFBFBD>喲睸霂滚<EFBFBD>憿餃枂<EFBFBD>?- <20>𡒊<F0A1928A><EFBFBD><E88AAF>喲睸霂滢<E99C82><E6BBA2>賢枂<E8B3A2>?- <20><EFBFBD><E585B8><EFBFBD><E5AFA5><EFBFBD>ế<EFBFBD><EFBFBD><E5899C><EFBFBD><EFBFBD>憒?<3F><EFBFBD><E585B8><EFBFBD>"<22>誩㭠<E8AAA9><E3ADA0><EFBFBD><EFBFBD><E98A8B>

#### Step 3: 靚<><EFBFBD>滨垢銵典<E98AB5>

<EFBFBD>汽itleScreeningSettings.tsx銝哨<E98A9D>

  • 銝箸<EFBFBD>銝枉ICO摮埈挾瘛餃<EFBFBD>"<22>喲睸霂齿<E99C82><E9BDBF>?<3F><EFBFBD>
  • 瘛餃<EFBFBD>"敹<><EFBFBD><E29786>鉄"<22>?敹<><EFBFBD>㘾膄"<22><><EFBFBD>蝥折<E89DA5>厰★
  • <EFBFBD>𣂷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>璅⊥踎

**憸<><EFBFBD>𣂼<EFBFBD>**嚗𡁜<E59A97>蝖桃<E89D96> +5-10%嚗?5% <20>?80-85%嚗?
**憸<><EFBFBD>埈𧒄**嚗?憭?
---

### 隡睃<E99AA1><E79D83><EFBFBD>3嚗𡁶蔭靽<E288AA><E6BCB2><EFBFBD><EFBFBD>隡?
**<2A><EFBFBD>**嚗𡁏<E59A97>擃䀹芋<E480B9>见ế<E8A781><EFBFBD>蝵桐縑摨佗<E691A8><E4BD97><EFBFBD>銝滨摰𡁏<E691B0>?
**摰墧鴌甇仿炊**嚗?
#### Step 1: <20><><EFBFBD>蝵桐縑摨血<E691A8>撣?```sql
-- <20>亥砭蝵桐縑摨血<E691A8>撣?SELECT 
  ROUND(ds_confidence * 10) / 10 as confidence_range,
  COUNT(*) as count
FROM asl_schema.screening_results
GROUP BY confidence_range
ORDER BY confidence_range;

Step 2: 靚<>㟲Prompt閬<74><E996AC>

<EFBFBD>沌rompt銝剜<EFBFBD>蝖殷<EFBFBD>
- 隞<><EFBFBD><E98A8B><EFBFBD><EFBFBD>摨磰砲蝏坔枂擃条蔭靽漲嚗?.8-1.0嚗?- 隞<><EFBFBD><E98A8B><EFBFBD><EFBFBD>摨磰砲蝏坔枂銝剔蔭靽漲嚗?.5-0.8嚗?- 隞<><EFBFBD><E98A8B><EFBFBD><EFBFBD>摨磰砲蝏坔枂雿𡒊蔭靽漲嚗?-0.5嚗?- 雿𦒘<E99BBF>0.7<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霈唬蛹"<22><><EFBFBD>犖撌亙<E6928C><E4BA99>?

Step 3: 隡睃<E99AA1><E79D83><EFBFBD><EFBFBD>瘚?```typescript

// 敶枏<E695B6>嚗𡁜蘨璉<E898A8>瘚讠<E7989A>霈箔<E99C88><EFBFBD><E98A9D>?hasConflict = (dsConclusion !== qwenConclusion);

// 隡睃<E99AA1>嚗𡁜<E59A97><F0A1819C>删蔭靽漲撌桀<E6928C><EFBFBD>瘚?hasConflict = (dsConclusion !== qwenConclusion) || // 蝏栞捏銝滢<E98A9D><E6BBA2>? (Math.abs(dsConfidence - qwenConfidence) > 0.3) || // 蝵桐縑摨血榆撘<E6A686>之 (dsJudgments.P !== qwenJudgments.P && important.includes('P')); // <20>喲睸PICO銝滢<E98A9D><E6BBA2>?```

**憸<><EFBFBD>𣂼<EFBFBD>**嚗𡁜<E59A97><EFBFBD><E89D92>瘚见<E7989A>蝖桃<E89D96> +10%嚗<><E59A97>撠烐<E692A0><EFBFBD>

<EFBFBD><EFBFBD>埈𧒄嚗?.5憭?

隡睃<EFBFBD><EFBFBD><EFBFBD>4嚗𡁏<EFBFBD>霂蓥<EFBFBD>餈凋誨

**<2A><EFBFBD>**嚗𡁏<E59A97>蝏剜<E89D8F>霂訫<E99C82>隡睃<E99AA1>嚗𣬚凒<F0A3AC9A><EFBFBD>蝖桃<E89D96><E6A183>?5%

摰墧鴌甇仿炊嚗?

Step 1: 雿輻鍂<E8BCBB><EFBFBD>瘚贝<E7989A><E8B49D>𡁏𧋦

cd backend
npm run test:llm

# <20>𣇉凒<F0A38789><EFBFBD>銵?npx ts-node scripts/test-llm-screening.ts

Step 2: <20><><EFBFBD>憭梯揖獢<E68F96><E78DA2>

撖嫣<EFBFBD>瘥譍葵憭梯揖獢<EFBFBD><EFBFBD>嚗?1. 霈啣<E99C88>AI<41><49>ế<EFBFBD><EFBFBD><E58994>?2. 霈啣<E99C88><EFBFBD>蝑娍<E89D91>
3. <20><><EFBFBD>撌桀<E6928C><E6A180><EFBFBD>
4. 靚<>㟲Prompt<70>𣇉內靘?```

#### Step 3: A/B瘚贝<E7989A>

瘚贝<EFBFBD>銝滚<EFBFBD><EFBFBD><EFBFBD>𧋦<EFBFBD><EFBFBD>rompt嚗?- v1.0.0-mvp嚗<70><E59A97><EFBFBD><EFBFBD>60%嚗?- v1.1.0-fewshot嚗?Few-shot嚗?- v1.2.0-picos-enhanced嚗?PICOS<4F>𡒊<F0A1928A><EFBFBD>

  • v1.3.0-confidence嚗?蝵桐縑摨虫<E691A8><E899AB><EFBFBD>

#### Step 4: 霈啣<E99C88>瘚贝<E7989A>蝏𤘪<E89D8F>

<EFBFBD>𥕦遣瘚贝<EFBFBD><EFBFBD><EFBFBD>嚗?- <20><><EFBFBD><EFBC86><EFBFBD><EFBFBD>𡝗𤩅蝥?- <20><><EFBFBD><EFBFBD>砍笆瘥?- 憭梯揖獢<E68F96><E78DA2><EFBFBD><EFBFBD><EFBFBD>

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?```

<EFBFBD><EFBFBD>埈𧒄嚗?-2憭抬<E686AD>餈凋誨嚗?

韐券<EFBFBD>隡睃<EFBFBD><EFBFBD>餉恣

**憸<><EFBFBD>𣂼<EFBFBD>**嚗?0% <20>?85-90%

<EFBFBD><EFBFBD><EFBFBD>埈𧒄嚗?-5憭? **韐蠘提鈭?*嚗鋫I撌亦<E6928C>撣?+ <20>餃郎銝枏振

**撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>**嚗?- <20>?<3F><><EFBFBD>?<3F>?85%

  • <EFBFBD>?<3F>峕芋<E5B395><EFBFBD><E8A1A4><EFBFBD> <20>?80%
  • <EFBFBD>?鈭箏極憭齿瓲<E9BDBF><EFBFBD> <20>?20%
  • <EFBFBD>?蝵桐縑摨血<E691A8><EFBFBD><E692A3><EFBFBD><EFBFBD><EFBFBD>擃条蔭靽<E288AA>?0%+嚗?

<EFBFBD>椬 隡睃<E99AA1>蝥?嚗𡁏<E59A97><EFBFBD>隡睃<E99AA1><EFBFBD><EFBFBD><EFBFBD><E7A983><EFBFBD><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD>讛膩

**敶枏<E695B6><E69E8F><EFBFBD>?*嚗?- 憭<><E686AD><EFBFBD><EFBFBD>嚗帋葡銵䕘<E98AB5><EFBFBD><EFBFBD>𦻖銝<F0A6BB96><EFBFBD><E89DAD>

  • <EFBFBD><EFBFBD><EFBFBD>笔漲嚗?0-20蝘?蝭<><E89DAD>DeepSeek + Qwen撟嗉<E6929F>嚗?- <20><EFBFBD>埈𧒄嚗?99蝭<39>漲33-66<36><36><EFBFBD>

**<2A><EFBFBD>**嚗?- 憭<><E686AD><EFBFBD><EFBFBD>嚗?-5撟嗅<E6929F>

  • <EFBFBD><EFBFBD>埈𧒄嚗?99蝭<39>漲10-20<32><30><EFBFBD><EFBFBD><E59A97><EFBFBD>?<3F><EFBFBD>

敶勗<EFBFBD><EFBFBD><EFBFBD>嚗?- <20><EFBFBD>雿㯄<E99BBF><EFBFBD><E59A97><EFBFBD>𧒄<EFBFBD>湧鵭嚗?- 鈭烐<E988AD><E78390><EFBFBD><E28AA5>穿<EFBFBD><E7A9BF>踵𧒄<E8B8B5><EFBFBD><E6B8B8><EFBFBD>皞琜<E79A9E>


隡睃<EFBFBD><EFBFBD><EFBFBD>嚗𡁜僎<EFBFBD><EFBFBD><EFBFBD>?

摰墧鴌甇仿炊嚗?

Step 1: 摰㕑<E691B0>撟嗅<E6929F><E59785><EFBFBD>摨?```bash

cd backend npm install p-limit


#### Step 2: 靽格㺿蝑偦<E89D91><EFBFBD><E39787>?```typescript
// <20><>辣嚗颹ackend/src/modules/asl/services/screeningService.ts

import pLimit from 'p-limit';

// <20>?processLiteraturesInBackground 銝凋耨<E5878B>?
// <20>?敶枏<E695B6>嚗帋葡銵<E891A1><E98AB5><EFBFBD>?for (const literature of literatures) {
  await llmScreeningService.dualModelScreening(...);
}

// <20>?隡睃<E99AA1><E79D83>𠬍<EFBFBD>撟嗅<E6929F><EFBFBD><E686AD>
const concurrency = 3; // 3銝芸僎<E88AB8>?const limit = pLimit(concurrency);

const tasks = literatures.map((literature, index) =>
  limit(async () => {
    try {
      console.log(`\n<><6E><>憪见<E686AA><E8A781><EFBFBD><EFBFBD><EFBFBD>?${index + 1}/${literatures.length}`);
      
      // 靚<>鍂LLM蝑偦<E89D91>?      const screeningResult = await llmScreeningService.dualModelScreening(...);
      
      // 靽嘥<E99DBD>蝏𤘪<E89D8F>
      await prisma.aslScreeningResult.create({ data: screeningResult });
      
      // <20>湔鰵餈𥕦漲
      await updateTaskProgress(...);
      
      console.log(`<60>?<3F><>讃 ${index + 1}/${literatures.length} 憭<><E686AD><EFBFBD>𣂼<EFBFBD>`);
    } catch (error) {
      console.error(`<60>?<3F><>讃 ${index + 1}/${literatures.length} 憭<><E686AD>憭梯揖:`, error);
      // 蝏抒賒憭<E8B392><E686AD><EFBFBD><EFBFBD><E597A1><EFBFBD>讃
    }
  })
);

await Promise.all(tasks);

Step 3: 瘛餃<E7989B>餈𥕦漲<F0A595A6>湔鰵隡睃<E99AA1>

// 敶枏<E695B6><E69E8F><EFBFBD>嚗𡁻<E59A97>撟嗅<E6929F>銝钅<E98A9D><EFBFBD><EFBFBD>唳㺭<E594B3><EFBFBD>
// 閫<><E996AB><EFBFBD><EFBFBD>嚗𡁏鸌<F0A1818F>𤩺凒<F0A4A9BA><EFBFBD>雿輻鍂<E8BCBB><E98D82><EFBFBD>霈⊥㺭<E28AA5>?
let processedCount = 0;
let successCount = 0;
let conflictCount = 0;
let failedCount = 0;

// 瘥?蝭<><E89DAD>瘥?0蝘埝凒<E59F9D><EFBFBD>甈⊥㺭<E28AA5><EFBFBD>
const updateInterval = setInterval(async () => {
  await prisma.aslScreeningTask.update({
    where: { id: taskId },
    data: {
      processedItems: processedCount,
      successItems: successCount,
      conflictItems: conflictCount,
      failedItems: failedCount,
    }
  });
}, 10000); // 10蝘埝凒<E59F9D><EFBFBD>甈?
// 憭<><E686AD>摰峕<E691B0><E5B395><EFBFBD><E693A7>?clearInterval(updateInterval);

Step 4: 瘛餃<E7989B><E9A483><EFBFBD>靽脲擪

// <20>脫迫API<50><EFBFBD>
const API_RATE_LIMITS = {
  'deepseek-chat': { rpm: 30, tpm: 100000 }, // 瘥誩<E798A5><E8AAA9>?0甈?  'qwen-max': { rpm: 60, tpm: 200000 },
};

// <20><EFBFBD><E586BD><EFBFBD><EFBFBD>游僎<E6B8B8>烐㺭
function calculateOptimalConcurrency(model: string): number {
  const limit = API_RATE_LIMITS[model];
  // 靽嘥<E99DBD>隡啗恣嚗帋蝙<E5B88B><EFBFBD><E588B8><EFBFBD>50%
  return Math.floor(limit.rpm / 20); // DeepSeek: 1-2, Qwen: 3
}

const concurrency = Math.min(
  calculateOptimalConcurrency('deepseek-chat'),
  calculateOptimalConcurrency('qwen-max')
); // <20>𡝗<EFBFBD>撠誩<E692A0><EFBFBD>蝥?

Step 5: 瘛餃<E7989B><E9A483>躰秤<E8BAB0><EFBFBD>

async function processWithRetry(
  literature: any,
  maxRetries: number = 2
): Promise<any> {
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
    try {
      return await llmScreeningService.dualModelScreening(...);
    } catch (error) {
      console.error(`<60>?撠肽<E692A0> ${attempt}/${maxRetries} 憭梯揖:`, error);
      if (attempt === maxRetries) throw error;
      // 蝑匧<E89D91><E58CA7>𡡞<EFBFBD>霂𤏪<E99C82><F0A48FAA><EFBFBD><EFBFBD><E3BAAD><EFBFBD><EFBFBD>
      await new Promise(resolve => setTimeout(resolve, 1000 * attempt));
    }
  }
}

**憸<><EFBFBD>𣂼<EFBFBD>**嚗?- 憭<><E686AD><EFBFBD>笔漲嚗?<3F>齿<EFBFBD><E9BDBF>?- 199蝭<39><E89DAD><EFBFBD><EFBFBD>33-66<36><36><EFBFBD> <20>?10-20<32><30><EFBFBD>

  • <EFBFBD><EFBFBD>雿㯄<EFBFBD>嚗𡁏遬<EFBFBD>埈㺿<EFBFBD>? <EFBFBD><EFBFBD>埈𧒄嚗?.5-1憭? **韐蠘提鈭?*嚗𡁜<E59A97>蝡臬<E89DA1><E887AC>? **撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>**嚗?- <20>?199蝭<39><E89DAD><EFBFBD><EFBFBD><E6A183>?<3F>?20<32><30><EFBFBD>
  • <EFBFBD>?API靚<49>鍂銝滩圻<E6BBA9><EFBFBD>瘚?- <20>?<3F>躰秤<E8BAB0><E7A7A4><EFBFBD>憓𧼮<E68693>
  • <EFBFBD>?餈𥕦漲<F0A595A6>曄內甇<E585A7>

<EFBFBD>叚 隡睃<E99AA1>蝥?嚗𡁶鍂<F0A181B6><EFBFBD>撉䔶<E69289><E494B6>?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

1. 瘚讛<E7989A><E8AE9B><EFBFBD><EFBFBD>霅血<E99C85>

[Violation]'setTimeout' handler took 72ms

**<2A><EFBFBD><E6A185><EFBFBD>**嚗?- React蝏<74>辣皜脫<E79A9C><E884AB>埈𧒄

  • 銵冽聢<EFBFBD>唳旿<EFBFBD>誩之

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?- 雿輻鍂<E8BCBB>𡁏<EFBFBD>皛𡁜𢆡嚗Ǒreact-window嚗?- 隡睃<E99AA1>銵冽聢皜脫<E79A9C><EFBFBD><E59A97>撠睲<E692A0><EFBFBD><E695B9><EFBFBD><EFBFBD>e-render嚗?- 雿輻鍂useMemo`蝻枏<E89DBB>霈∠<E99C88>蝏𤘪<E89D8F>

<EFBFBD><EFBFBD>埈𧒄嚗?.5憭?

2. <20>牐摯霈<E99C88>雿蹱𧒄<E8B9B1>?

**<2A><EFBFBD>**嚗𡁶鍂<F0A181B6><EFBFBD><E7919A>仿<EFBFBD>餈㗛<E9A488><EFBFBD><E996AC>憭帋<E686AD>

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?```typescript // 霈∠<E99C88><EFBFBD><EFBFBD>園𡢿 const avgTimePerLit = (Date.now() - task.startedAt) / task.processedItems; const remainingLits = task.totalItems - task.processedItems; const estimatedTimeRemaining = avgTimePerLit * remainingLits;

// <20>曄內

<><EFBFBD><EFBFBD><E68B90>園𡢿: {formatDuration(estimatedTimeRemaining)}
```

<EFBFBD><EFBFBD>埈𧒄嚗?.5憭?

3. <20><EFBFBD><E683A9><EFBFBD><E6BB9A><EFBFBD><EFBFBD><EFBFBD>格遬蝷?

**<2A><EFBFBD>**嚗𡁶鍂<F0A181B6><EFBFBD><E7919A>仿<EFBFBD>AI甇<49>銁憭<E98A81><E686AD><EFBFBD><EFBFBD><E88AB0><EFBFBD>

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?```typescript // <20>?screeningService.ts 銝?await prisma.aslScreeningTask.update({ where: { id: taskId }, data: { currentLiteratureTitle: literature.title, // <20><EFBFBD>摮埈挾 currentLiteratureId: literature.id, } });

// <20>滨垢<E6BBA8>曄內

敶枏<E695B6><EFBFBD><E686AD>: {task.currentLiteratureTitle}
```

<EFBFBD><EFBFBD>埈𧒄嚗?.5憭?

4. 銵冽聢撠誩<E692A0>撟閖<E6929F><E99696><EFBFBD>

**<2A><EFBFBD>**嚗𡁜<E59A97>撅誩<E69285>銝𡃏”<F0A1838F><EFBFBD>摰賢漲銝漤<E98A9D><E6BCA4><EFBFBD>

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?- 雿輻鍂<E8BCBB><EFBFBD>撘誩<E69298><EFBFBD>

  • 瘛餃<EFBFBD>"蝝批<E89D9D><E79285>"<22><>
  • 蝘餃𢆡蝡臭蝙<EFBFBD>典㨃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤜯銵冽聢

<EFBFBD><EFBFBD>埈𧒄嚗?憭?

<EFBFBD>鰊 隡睃<E99AA1>蝥?嚗鍃xcel撖澆枂隡睃<E99AA1>

<EFBFBD><EFBFBD><EFBFBD>讛膩

**敶枏<E695B6><E69E8F><EFBFBD>?*嚗?- 撖澆枂<E6BE86><EFBFBD>嚗𡁜<E59A97>蝡舐<E89DA1><E88890><EFBFBD>xlsx摨橒<EFBFBD>

  • <EFBFBD><EFBFBD><EFBFBD>唳旿<EFBFBD>𧶏<EFBFBD><5000<30>?- <20><><EFBFBD><EFBFBD>笔漲嚗?1000<30>∠漲2-3蝘? **<2A><EFBFBD><E6A0BC><EFBFBD>?*嚗<><E59A97><EFBFBD>唳旿<E594B3>?5000<30><EFBFBD><E28AA5><EFBFBD><EFBFBD><E996AC><EFBFBD><EFBFBD>聢撘𤩺𧒄嚗㚁<E59A97>
  • 撖澆枂<EFBFBD><EFBFBD>嚗𡁜<EFBFBD>蝡舐<EFBFBD><EFBFBD>?+ OSS摮睃<E691AE>
  • <EFBFBD><EFBFBD><EFBFBD>唳旿<EFBFBD>𧶏<EFBFBD><EFBFBD>𣳇<EFBFBD><EFBFBD>?- <20><EFBFBD>憭齿<E686AD><E9BDBF><EFBFBD>嚗𡁜<E59A97>Sheet<65><74>㦛銵具<E98AB5><E585B7>甅撘誩<E69298><E8AAA9>? 閫血<EFBFBD><EFBFBD>∩辣嚗?- <20>閙活撖澆枂<E6BE86>唳旿<E594B3>?>5000<30>?- <20><><EFBFBD><E996AC><EFBFBD><EFBFBD>xcel<65><EFBFBD><EFBFBD><E59A97>Sheet<65><74>㦛銵函<E98AB5>嚗?- <20><EFBFBD><E586BD><EFBFBD><E6BCA4>滨垢撖澆枂<E6BE86>⊿▼

隡睃<EFBFBD><EFBFBD><EFBFBD>嚗𡁜<EFBFBD>蝡臬紡<EFBFBD>?OSS摮睃<E691AE>

摰墧鴌甇仿炊嚗?

Step 1: <20>𡒊垢摰㕑<E691B0>Excel<65><6C><EFBFBD>摨?```bash

cd backend npm install exceljs


#### Step 2: 摰䂿緵<E482BF>𡒊垢撖澆枂<E6BE86>滚𦛚
```typescript
// backend/src/modules/asl/services/exportService.ts
import ExcelJS from 'exceljs';
import { storage } from '@/common/storage';
import { logger } from '@/common/logging';

export async function exportScreeningResults(projectId: string, filter: string) {
  // 1. <20>亥砭<E4BAA5>唳旿
  const results = await prisma.aslScreeningResult.findMany({
    where: buildWhereClause(projectId, filter),
    include: { literature: true },
  });

  // 2. <20><><EFBFBD>Excel嚗<6C><E59A97>摮䀝葉嚗?  const workbook = new ExcelJS.Workbook();
  const worksheet = workbook.addWorksheet('蝑偦<E89D91><EFBFBD><E58EA9>?);

  // 霈曄蔭銵典仍
  worksheet.columns = [
    { header: '摨誩噡', key: 'index', width: 6 },
    { header: '<27><><EFBFBD><E8AE83><EFBFBD>', key: 'title', width: 50 },
    // ... <20><EFBFBD><E6B8B8>?  ];

  // 憛怠<E6869B><E680A0>唳旿
  results.forEach((result, idx) => {
    worksheet.addRow({
      index: idx + 1,
      title: result.literature.title,
      // ... <20><EFBFBD>摮埈挾
    });
  });

  // 3. 頧砌蛹Buffer
  const buffer = await workbook.xlsx.writeBuffer();

  // 4. 潃?銝𠹺<E98A9D><F0A0B9BA>記SS嚗<53><EFBFBD>典像<E585B8><EFBFBD><E595A3><EFBFBD><E586BD><EFBFBD>
  const key = `asl/exports/${projectId}/${Date.now()}.xlsx`;
  const url = await storage.upload(key, Buffer.from(buffer));

  // 5. 霈啣<E99C88><E595A3><EFBFBD>
  logger.info('Excel exported', { projectId, recordCount: results.length, url });

  return {
    url,
    filename: `screening-results-${Date.now()}.xlsx`,
    recordCount: results.length,
  };
}

Step 3: 摰䂿緵撖澆枂API

// backend/src/modules/asl/controllers/exportController.ts
export async function exportResults(
  request: FastifyRequest<{
    Params: { projectId: string };
    Querystring: { filter?: string };
  }>,
  reply: FastifyReply
) {
  try {
    const { projectId } = request.params;
    const filter = request.query.filter || 'all';

    // 撖澆枂撟嗡<E6929F>隡惩<E99AA1>OSS
    const result = await exportService.exportScreeningResults(projectId, filter);

    return reply.send({
      success: true,
      data: result,
    });
  } catch (error) {
    logger.error('Export failed', { error });
    return reply.status(500).send({
      success: false,
      error: '撖澆枂憭梯揖',
    });
  }
}

Step 4: <20>滨垢靚<E59EA2>

// <20>滨垢
const handleExportLarge = async () => {
  try {
    message.loading('甇<><EFBFBD><E98A81><EFBFBD>Excel嚗諹窈蝔滚<E89D94>?..', 0);

    // 靚<><EFBFBD>𡒊垢撖澆枂API
    const { data } = await aslApi.exportResults(projectId, { filter: 'all' });

    message.destroy();
    message.success(`<60>𣂼<EFBFBD>撖澆枂 ${data.recordCount} <20>∟扇敶𧄧);

    // <20><EFBFBD>OSS URL銝贝蝸
    window.open(data.url, '_blank');
  } catch (error) {
    message.destroy();
    message.error('撖澆枂憭梯揖');
  }
};

Step 5: OSS<53><53>辣皜<E8BEA3><E79A9C><EFBFBD><EFBFBD><EFBFBD>

// 摰𡁏𧒄隞餃𦛚嚗𡁏<E59A97><F0A1818F>?憭拙<E686AD><E68B99><EFBFBD><EFBFBD><EFBFBD>隞?import { jobQueue } from '@/common/jobs';

jobQueue.schedule('cleanup-exports', '0 2 * * *', async () => {
  const sevenDaysAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
  
  // <20>堒枂撟嗅<E6929F><E59785><EFBFBD><E696B9><EFBFBD><EFBFBD>隞?  const files = await storage.list('asl/exports/');
  for (const file of files) {
    if (file.lastModified < sevenDaysAgo) {
      await storage.delete(file.key);
    }
  }
  
  logger.info('Cleaned up old export files');
});

**憸<><EFBFBD>𣂼<EFBFBD>**嚗?- <20><EFBFBD><E88880>𣳇<EFBFBD><F0A3B387>唳旿<E594B3>?- <20><EFBFBD>憭齿<E686AD><E9BDBF><EFBFBD><EFBFBD><E59A97>Sheet<65><74>㦛銵具<E98AB5><E585B7>甅撘𧶏<E69298>

  • 銝滚<EFBFBD><EFBFBD><EFBFBD>蝡航<EFBFBD>皞? <EFBFBD><EFBFBD>埈𧒄嚗?-2憭? **韐蠘提鈭?*嚗𡁜<E59A97>蝡臬<E89DA1><E887AC>? **撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>**嚗?- <20>?<3F>臬紡<E887AC>?5000<30>⊥㺭<E28AA5>?- <20>?<3F><>辣銝𠹺<E98A9D><F0A0B9BA>記SS
  • <EFBFBD>?<3F>滨垢<E6BBA8><EFBFBD>URL銝贝蝸
  • <EFBFBD>?蝚血<E89D9A>鈭穃<E988AD><E7A983><EFBFBD><E8A098><EFBFBD><EFBFBD>雿輻鍂撟喳蝱摮睃<E691AE><E79D83>滚𦛚嚗?

<EFBFBD>㩞 隡睃<E99AA1>蝥?嚗𡁏沲<F0A1818F><E6B2B2><EFBFBD><EFBFBD><EFBFBD>鈭穃<E988AD><E7A983><EFBFBD><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

1. 撘<>郊隞餃𦛚<E9A483>芯蝙<E88AAF><EFBFBD><E586BD><EFBFBD><E888AB>?

**敶枏<E695B6><E69E8F><EFBFBD>?*嚗?- 蝑偦<E89D91>劐遙<E58A90><E288AA>𤾸蝱蝥輻<E89DA5>銝剜<E98A9D>銵?- <20>滚𦛚<E6BB9A>滚鍳隡帋腺憭曹遙<E69BB9>? **<2A><EFBFBD><E6A0BC><EFBFBD>?*嚗?- 雿輻鍂Bull<6C><EFBFBD>嚗㇌edis嚗?- 隞餃𦛚<E9A483><F0A69B9A><EFBFBD><EFBFBD>?- <20><EFBFBD><E88880><EFBFBD><EFBFBD>撘誩<E69298><E8AAA9>? **閫<><E996AB><EFBFBD><EFBFBD>**嚗?```typescript // 雿輻鍂撟喳蝱<E596B3>𣂷<EFBFBD><F0A382B7><EFBFBD>obQueue import { jobQueue } from '@/common/jobs';

// <20>𥕦遣隞餃𦛚 await jobQueue.push('asl:screening', { projectId, literatures, config, });

// Worker憭<72><E686AD> jobQueue.process('asl:screening', async (job) => { await screeningService.processLiteratures(job.data); });


**憸<><EFBFBD>埈𧒄**嚗?-2憭?
---

#### 2. <20>䭾鱏<E4ADBE>寧賒隡?
**<2A><EFBFBD>**嚗帋遙<E5B88B>∩葉<E288A9><EFBFBD><E58996><EFBFBD><EFBFBD><E996AC><EFBFBD><EFBFBD>憪?
**閫<><E996AB><EFBFBD><EFBFBD>**嚗?```typescript
// 璉<><E79289>交糓<E4BAA4><EFBFBD><E8A18C><EFBFBD><E88AB8><EFBFBD>隞餃𦛚
const existingTask = await prisma.aslScreeningTask.findFirst({
  where: {
    projectId,
    status: 'running',
  }
});

if (existingTask) {
  // <20><EFBFBD>隞餃𦛚
  const processedLiteratureIds = await getProcessedLiteratureIds(existingTask.id);
  const remainingLiteratures = literatures.filter(
    lit => !processedLiteratureIds.includes(lit.id)
  );
  await resumeTask(existingTask.id, remainingLiteratures);
} else {
  // <20>𥕦遣<F0A595A6>唬遙<E594AC>?  await startNewTask(projectId, literatures);
}

<EFBFBD><EFBFBD>埈𧒄嚗?憭?

3. <20><EFBFBD><E4ADBE>祆綉<E7A586>?

**<2A><EFBFBD>**嚗𡁏<E59A97>瘜閙綉<E99699>詛PI靚<49><EFBFBD>鞉𧋦

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?```typescript // 瘛餃<E7989B><E9A483>鞉𧋦隡啁<E99AA1> interface CostEstimate { totalTokens: number; estimatedCost: number; // USD processingTime: number; // seconds }

function estimateCost(literatures: Literature[]): CostEstimate { const avgTokensPerLit = 1500; // <20><><EFBFBD>+<2B><EFBFBD>蝥?500 tokens const totalTokens = literatures.length * avgTokensPerLit * 2; // 2銝芣芋<E88AA3>?
const deepseekCost = (totalTokens / 1000) * 0.001; // $0.001/1K tokens const qwenCost = (totalTokens / 1000) * 0.002; // $0.002/1K tokens

return { totalTokens, estimatedCost: deepseekCost + qwenCost, processingTime: literatures.length * 15, // 15蝘?蝭? }; }

// <20>滨垢<E6BBA8>曄內 const estimate = estimateCost(literatures); 憸<>恣瘨<E681A3><E798A8>? {estimate.totalTokens} tokens 憸<>恣韐寧鍂: ${estimate.estimatedCost.toFixed(2)} 憸<><EFBFBD>園𡢿: {formatDuration(estimate.processingTime)}


**憸<><EFBFBD>埈𧒄**嚗?.5憭?
---

## <20><> <20><><EFBFBD><EFBFBD>箏𦛚隡睃<E99AA1>蝥抒畆<E68A92>?
| <20>箏𦛚憿?| 敶勗<E695B6><E58B97><EFBFBD>凒 | 蝝扯翰<E689AF>?| 憸<><EFBFBD>埈𧒄 | ROI | 隡睃<E99AA1>蝥?|
|--------|---------|--------|---------|-----|--------|
| **Prompt隡睃<E99AA1>** | <20><EFBFBD>韐券<E99F90> | 擃?| 4-5憭?| 擃?| P1 <20>𣞁 |
| **撟嗅<E6929F><EFBFBD><E686AD>** | <20><EFBFBD>雿㯄<E99BBF> | 銝?| 0.5-1憭?| 擃?| P2 <20>椬 |
| **隡啗恣<E59597><EFBFBD><E68B90>園𡢿** | <20><EFBFBD>雿㯄<E99BBF> | 銝?| 0.5憭?| 銝?| P3 <20>叚 |
| **敶枏<E695B6><E69E8F><EFBFBD><EFBFBD>曄內** | <20><EFBFBD>雿㯄<E99BBF> | 雿?| 0.5憭?| 銝?| P3 <20>叚 |
| **瘚讛<E7989A><E8AE9B><EFBFBD><EFBFBD>** | <20><EFBFBD>雿㯄<E99BBF> | 雿?| 0.5憭?| 雿?| P4 <20>㩞 |
| **瘨<><E798A8><EFBFBD><EFBFBD>** | <20><EFBFBD>蝔喳<E89D94><E596B3>?| 雿?| 1-2憭?| 銝?| P4 <20>㩞 |
| **<2A><EFBFBD>蝏凋<E89D8F>** | <20><EFBFBD>雿㯄<E99BBF> | 雿?| 1憭?| 銝?| P4 <20>㩞 |
| **<2A>鞉𧋦<E99E89><EFBFBD>** | 餈鞱𨯫 | 雿?| 0.5憭?| 雿?| P4 <20>㩞 |
| **撠誩<E692A0>撟閖<E6929F><E99696><EFBFBD>** | <20><EFBFBD>雿㯄<E99BBF> | 雿?| 1憭?| 雿?| P4 <20>㩞 |

---

## <20><>儭?撱箄悅<E7AE84><E68285><EFBFBD>喲◇摨?
### <20>嗆挾1嚗朞捶<E69C9E><EFBFBD><E8AD8D><EFBFBD><EFBFBD>◆嚗?```
<0A>園𡢿嚗?<3F>?隞餃𦛚嚗?  1. Few-shot蝷箔<E89DB7>霈曇恣嚗?憭抬<E686AD>
  2. PICOS<4F><53><EFBFBD><EFBFBD>𡒊<F0A1928A><EFBFBD>2憭抬<E686AD>
  3. 蝵桐縑摨虫<E691A8><E899AB><EFBFBD>0.5憭抬<EFBFBD>
  4. 瘚贝<E7989A>餈凋誨嚗?-2憭抬<E686AD>
<0A><EFBFBD>嚗𡁜<E59A97>蝖桃<E89D96> 60% <20>?85%

<EFBFBD>嗆挾2嚗𡁏<EFBFBD><EFBFBD>隡睃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

<EFBFBD>園𡢿嚗?-2憭?隞餃𦛚嚗?  1. 撟嗅<E6929F><EFBFBD><E686AD>嚗?.5-1憭抬<E686AD>
  2. 餈𥕦漲隡睃<E99AA1>嚗?.5憭抬<EFBFBD>
<0A><EFBFBD>嚗?99蝭?33-66<36><36><EFBFBD> <20>?10-20<32><30><EFBFBD>

<EFBFBD>嗆挾3嚗帋<EFBFBD>撉䔶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

<EFBFBD>園𡢿嚗?-3憭?隞餃𦛚嚗?  1. 隡啗恣<E59597><EFBFBD><E68B90>園𡢿嚗?.5憭抬<EFBFBD>
  2. 敶枏<E695B6><E69E8F><EFBFBD><EFBFBD>曄內嚗?.5憭抬<EFBFBD>
  3. 瘚讛<E7989A><E8AE9B><EFBFBD><EFBFBD>嚗?.5憭抬<EFBFBD>
  4. 撠誩<E692A0>撟閖<E6929F><E99696><EFBFBD>嚗?憭抬<E686AD>
<0A><EFBFBD>嚗𡁏<E59A97><F0A1818F><EFBFBD><EFBFBD><EFBFBD>撉?```

### <20>嗆挾4嚗𡁏沲<F0A1818F><E6B2B2><EFBFBD><EFBFBD><EFBFBD><E59094><EFBFBD>嚗?```
<0A>園𡢿嚗?-4憭?隞餃𦛚嚗?  1. 瘨<><E798A8><EFBFBD><EFBFBD><E7AC94><EFBFBD><EFBFBD>嚗?-2憭抬<E686AD>
  2. <20><EFBFBD>蝏凋<E89D8F>嚗?憭抬<E686AD>
  3. <20>鞉𧋦<E99E89><EFBFBD>嚗?.5憭抬<EFBFBD>
<0A><EFBFBD>嚗𡁶<E59A97>鈭抒㴓憓<E3B493>停蝏?```

---

## <20><> <20><EFBFBD>霈啣<E99C88>

### 2025-11-21嚗𡁏綫餈蠘捶<E8A098><EFBFBD><E8AD8D><EFBFBD>隡睃<E99AA1>摰峕<E691B0>Week 4<><EFBFBD>

**<2A><EFBFBD>鈭?*嚗𡁶鍂<F0A181B6>?
**<2A><EFBFBD><E5969F><EFBFBD>捆**嚗?- 撠<>rompt隡睃<E99AA1><E79D83><EFBFBD><EFBFBD><EFBFBD><E7A983><EFBFBD><EFBFBD>隡睃<E99AA1>隞餃𦛚霈啣<E99C88>銝箸<E98A9D><E7AEB8><EFBFBD>箏𦛚
- 隡睃<E99AA1>摰峕<E691B0>Week 4<><EFBFBD><EFBFBD><E59A97><EFBFBD>𨅯<EFBFBD>蝷箝<E89DB7><E7AE9D><EFBFBD><E99C88><EFBD9E><EFBFBD><EFBFBD>
- 敺<>eek 4摰峕<E691B0><E5B395>𠬍<EFBFBD><F0A0AC8D>齿覔<E9BDBF><EFBFBD><E6A180><EFBFBD><EFBFBD><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箏𦛚

**<2A><>眏**嚗?1. MVP<56><EFBFBD><E8A9A8><EFBFBD>撌脣虾<E884A3><EFBFBD><E58981>臭誑<E887AD><E8AA91><EFBFBD><EFBFBD>𣂼<EFBFBD><F0A382BC>賡𡡒<E8B3A1>?2. 蝏蠘恣<E8A098><E681A3><EFBFBD><EFBFBD><E7AE8F>賣糓<E8B3A3><EFBFBD>撘粹<E69298>瘙?3. 韐券<E99F90>隡睃<E99AA1><E79D83>臭誑<E887AD><EFBFBD><E585B8><EFBFBD><E8B3A2><EFBFBD>餈凋誨

**<2A>𡒊賒霈<E99C88>**嚗?- Week 4<><EFBFBD>摰峕<E691B0><E5B395><EFBFBD>隡?- <20>寞旿<E5AF9E><EFBFBD><E586BD><EFBFBD><E6BCA4><EFBFBD>隡睃<E99AA1>隡睃<E99AA1>蝥?
---

---

## <20><> 隡睃<E99AA1>蝥?嚗𡁜<E59A97><F0A1819C><EFBFBD><EFBFBD>蝑𥟇<E89D91><F0A59F87><EFBFBD>箏𦛚嚗𠃊EW嚗?
> **<2A>湔鰵<E6B994><EFBFBD>**嚗?025-11-22  
> **敶枏<E695B6><E69E8F><EFBFBD>?*嚗鋽ay 1-3撌脣<E6928C><E884A3><EFBFBD><E7909C>𡁶鍂<F0A181B6><EFBFBD><EFBFBD>瓲敹<E793B2><E695B9>

### <20>箏𦛚1嚗鐭ougat韐券<E99F90><EFBFBD>瘚𧢲㦤<F0A7A2B2>嗥撩憭?
**<2A><EFBFBD><E6A185>讛膩**嚗?- 敶枏<E695B6>Nougat<61>𣂼<EFBFBD><F0A382BC>𠬍<EFBFBD>韐券<E99F90><EFBFBD><E99C82>銝槁undefined`
- 撖潸稲<E6BDB8><E7A8B2><EFBFBD>侨DF<44><EFBFBD>蝥批<E89DA5>PyMuPDF嚗峕<E59A97>瘜訫<E7989C><E8A8AB><EFBFBD><EFBFBD>沐ougat<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>隡睃飵

**敶勗<E695B6>**嚗?- <20><EFBFBD><E4ADBE><EFBFBD>Markdown<77><EFBFBD><E6BE86><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- Section-Aware Prompt蝑𣇉裦<F0A38789><E8A3A6><EFBFBD><EFBFBD>𤘪<EFBFBD><F0A498AA>?- <20><EFBFBD>敶勗<E695B6><E58B97><EFBFBD><EFBFBD><EFBC86><EFBFBD>蝏𤘪<E89D8F><F0A498AA>碶縑<E7A2B6>臭腺憭梧<E686AD>

**<2A>寞𧋦<E5AF9E><EFBFBD>**嚗?- Python extraction_service餈𥪜<E9A488><F0A5AA9C><EFBFBD>ougat蝏𤘪<E89D8F>蝻箏<E89DBB>`quality`摮埈挾
- <20>𤥁捶<F0A4A581><EFBFBD><E8AE9B><EFBFBD><EFBFBD><EFBFBD><E9A489><EFBFBD><E88AB8>?
**閫<><E996AB><EFBFBD><EFBFBD>**嚗?1. 璉<><E79289>匝extraction_service/services/pdf_processor.py`<60><>ougat憭<74><E686AD><EFBFBD><EFBFBD>
2. 摰䂿緵韐券<E99F90><EFBFBD><E99C82><EFBFBD><EFBFBD><EFBFBD>抅鈭舘<E988AD><E88898>怎蔭靽<E288AA><E6BCB2>arkdown摰峕㟲<E5B395><EFBFBD>嚗?3. 瘚贝<E7989A>撟嗉<E6929F>隡䁅捶<E48185><EFBFBD><E8AAAF>?
**隡睃<E99AA1>蝥?*嚗帋葉  
**憸<><EFBFBD>埈𧒄**嚗𡁜<E59A97>憭? 
**憌𡡞埯**嚗帋<E59A97>

---

### <20>箏𦛚2嚗鐝VP<56><EFBFBD><E88AB8><EFBFBD><E8B3A2><EFBFBD><EFBFBD><EFBFBD><E99C82>Full-text Validation嚗?
**<2A><EFBFBD><E6A185>讛膩**嚗?- 韐券<E99F90>靽嗪<E99DBD>蝑𣇉裦銝剛挽霈∩<E99C88>"<22><><EFBFBD>𣂼<EFBFBD> + <20><EFBFBD>撉諹<E69289>"
- MVP<56><50>鍂"銝<>甈⊥<E79488><EFBFBD><E689B9><EFBFBD><EFBFBD><EFBFBD>?蝑𣇉裦嚗諹歲餈<E6ADB2><E9A488><EFBFBD><EFBFBD>撉諹<E69289>甇仿炊

**敶勗<E695B6>**嚗?- <20><EFBFBD>摮睃銁"Lost in the Middle"<22>啗情撖潸稲<E6BDB8><E7A8B2><EFBFBD>瞍?- <20>喲睸摮埈挾<E59F88><E68CBE><EFBFBD>蝖桃<E89D96><E6A183><EFBFBD><E888AA>芾噢<E88ABE>?2%<25><EFBFBD>

**撱箄悅**嚗?1. MVP銝羓瑪<E7BE93>𠬍<EFBFBD><F0A0AC8D><EFBFBD><E59C92><EFBFBD><EFBFBD><EFBC86><EFBFBD>?2. 憒<><E68692><EFBFBD>喲睸摮埈挾<E59F88><E68CBE><EFBFBD>?90%嚗<><E59A97><EFBFBD><EFBFBD><E8B3A2><EFBFBD><EFBFBD>霂?3. 隡睃<E99AA1><E79D83><EFBFBD>笆3銝芣瓲敹<E793B2><E695B9>畾蛛<E795BE><E89B9B>𤩺㦤<F0A4A9BA>𡝗䲮瘜𨰻<E7989C><F0A8B0BB>𤩅瘜𨰻<E7989C><F0A8B0BB><EFBFBD><EFBFBD>𨅯<EFBFBD><F0A885AF><EFBFBD><EFBFBD>

**隡睃<E99AA1>蝥?*嚗帋<E59A97><EFBFBD><E59A97>MVP瘚贝<E7989A>撉諹<E69289>嚗? 
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A>∩辣閫血<E996AB>**嚗𡁜<E59A97><F0A1819C><EFBFBD>畾萄<E795BE>蝖桃<E89D96><90%

---

### <20>箏𦛚3嚗鋴ochrane<6E><65><EFBFBD><EFBFBD><EFBFBD>頧踝<E9A0A7>MVP蝞<50><E89D9E><EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- MVP銝箔<E98A9D><E7AE94><EFBFBD>Prompt<70>踹漲<E8B8B9><EFBFBD><E5B395>穿<EFBFBD><E7A9BF><EFBFBD>頧瘠ochrane RoB 2.0<EFBFBD><EFBFBD><EFBFBD>
- <20><EFBFBD>敶勗<E695B6>"韐券<E99F90><EFBFBD>摯"摮埈挾<E59F88><E68CBE>ế<EFBFBD><EFBFBD>蝖格<E89D96>?
**敶勗<E695B6>**嚗?- 韐券<E99F90><EFBFBD>摯摮埈挾<E59F88><EFBFBD>銝滚<E98A9D>銝亥馬
- 蝻箏<E89DBB>蝏煺<E89D8F><E785BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E69697>?
**撱箄悅**嚗?1. MVP瘚贝<E7989A><E8B49D><EFBFBD>隡啣<E99AA1>蝖桃<E89D96>
2. 憒<><E68692>"韐券<E99F90><EFBFBD>摯"摮埈挾<E59F88><E68CBE><EFBFBD>?85%嚗屸<E59A97><E5B1B8><EFBFBD>頧瘠ochrane<6E><65><EFBFBD>
3. <20><EFBFBD><E69C9E>滨蔭撘<E894AD><E69298><EFBFBD>瘣餅綉<E9A485><EFBFBD>PromptBuilder撌脫𣈲<E884AB><F0A388B2><EFBFBD>

**隡睃<E99AA1>蝥?*嚗帋<E59A97><EFBFBD><E59A97>MVP瘚贝<E7989A>撉諹<E69289>嚗? 
**憸<><EFBFBD>埈𧒄**嚗𡁜<E59A97>憭抬<E686AD>撌脫<E6928C><EFBFBD><E99A9E>嚗䔶<E59A97><E494B6><EFBFBD><EFBFBD>滨蔭嚗? 
**<2A>∩辣閫血<E996AB>**嚗朞捶<E69C9E><EFBFBD>隡啣<E99AA1>畾萄<E795BE>蝖桃<E89D96><85%

---

### <20>箏𦛚4嚗鎄ew-shot Examples鋡怎宏<E6808E>?
**<2A><EFBFBD><E6A185>讛膩**嚗?- 銝箔<E98A9D>隡睃<E99AA1>Prompt<70>踹漲嚗<E6BCB2><E59A97>74KB<4B>滩秐52KB嚗㚁<E59A97>蝘駁膄鈭<E88684>ew-shot examples
- <20><EFBFBD>敶勗<E695B6><E79285>撖?Lost in the Middle"<22>箸艶<E7AEB8><E889B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
**敶勗<E695B6>**嚗?- 璅<E79285>蝻箏<E89DBB><E7AE8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>靘页<E99D98><E9A1B5>笆憭齿<E686AD><E9BDBF>箸艶<E7AEB8>嗅虾<E59785>質”<E8B3AA><EFBFBD>蝔喳<E89D94>

**撱箄悅**嚗?1. MVP瘚贝<E7989A><E8B49D>𤾸<EFBFBD><F0A4BEB8>𣂼仃韐交<E99F90>靘?2. 憒<><E68692><EFBFBD>𤑳緵<F0A491B3><EFBFBD><E79285><E288AA><EFBFBD>仃韐交<E99F90>靘页<E99D98><EFBFBD><EFBFBD>臬銁銝剝𡢿雿滨蔭嚗㚁<E59A97><E39A81>齿鰵瘛餃<E7989B>Few-shot
3. <20><>鍂蝎曄<E89D8E><E69B84>㇅ew-shot嚗?-2銝芣瓲敹<E793B2><E695B9>靘页<E99D98><E9A1B5><EFBFBD><E5B1B8><EFBFBD><EFBFBD><E49489><EFBFBD><EFBFBD><EFBFBD>靘页<E99D98>

**隡睃<E99AA1>蝥?*嚗帋<E59A97><EFBFBD><E59A97>MVP瘚贝<E7989A>撉諹<E69289>嚗? 
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A>∩辣閫血<E996AB>**嚗𡁶鸌摰𡁜㦤<F0A1819C>臬仃韐亦<E99F90>>30%

---

### <20>箏𦛚5嚗𡁏鸌憭<E9B88C><E686AD><EFBFBD>滚𦛚<E6BB9A><EFBFBD><E88AB8><EFBFBD>Day 4敺<34><E695BA><EFBFBD>𡢅<EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- 敶枏<E695B6><E69E8F><EFBFBD><E88AA3><EFBFBD>PDF<44><46>LM憭<4D><E686AD><EFBFBD>滚𦛚
- 蝻箏<E89DBB><E7AE8F><EFBFBD><EFBFBD><E686AD><EFBFBD><EFBFBD><EFBFBD>摨西<E691A8>頦芥<E9A0A6><E88AA5><EFBFBD>烐綉<E78390>?
**敶勗<E695B6>**嚗?- <20><EFBFBD><E4ADBE><EFBFBD><EFBFBD><E686AD>憭𡁶<E686AD><F0A181B6><EFBFBD>讃
- 蝻箏<E89DBB>隞餃𦛚<E9A483><EFBFBD><E7AC94><EFBFBD>摨衣恣<E8A1A3>?
**閫<><E996AB><EFBFBD><EFBFBD>**嚗?- Day 4撘<34><E69298>鬔AsyncTaskService`<60>䈣FulltextScreeningService`
- <20><><EFBFBD>`p-queue`摰䂿緵撟嗅<E6929F><E59785><EFBFBD>
- 摰䂿緵餈𥕦漲<F0A595A6><EFBFBD><E599BC><EFBFBD>仃韐仿<E99F90>霂?
**隡睃<E99AA1>蝥?*嚗𡁻<E59A97>嚗㇄ay 4霈<E99C88>銝哨<E98A9D>  
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A><EFBFBD>?*嚗朞恣<E69C9E>雴葉

---

### <20>箏𦛚6嚗𡁜<E59A97>蝡狹I<E78BB9><EFBFBD><E88AB8>𡢅<EFBFBD>Day 5-6敺<36><E695BA><EFBFBD>𡢅<EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- <20><EFBFBD>憭滨<E686AD><E6BBA8><EFBFBD><EFBFBD>蝡狹I摰<49><E691B0><EFBFBD><EFBFBD><E88AB8>?- <20><>𡠺霈曄蔭憿萸<E686BF><E890B8>極雿𨅯蝱憿萸<E686BF><E890B8><EFBFBD><EFBFBD>𣈯△<F0A388AF><E296B3><EFBFBD><EFBFBD>㦛摰⊿<E691B0>撘寧<E69298>

**敶勗<E695B6>**嚗?- <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A><EFBFBD>鋡怎鍂<E6808E>瑚蝙<E7919A>?- MVP<56><EFBFBD>鈭支<E988AD>

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?- Day 5-6撘<36><E69298><EFBFBD>蝡狹I
- <20><><EFBFBD><EFBFBD><EFBFBD>憸䀹<E686B8><EFBFBD><E996AC>蝑𤤿<E89D91>UI霈曇恣
- <20><><EFBFBD>12摮埈挾璅⊥踎<E28AA5><E8B88E><EFBFBD>蝷粹<E89DB7>瘙?
**隡睃<E99AA1>蝥?*嚗𡁻<E59A97>嚗㇄ay 5-6霈<E99C88>銝哨<E98A9D>  
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A><EFBFBD>?*嚗朞恣<E69C9E>雴葉

---

### <20>箏𦛚7嚗𡁏㺭<F0A1818F><EFBFBD>銵冽𧊋<E586BD>𥕦遣 <20>?撌脰圾<E884B0>?
**<2A><EFBFBD><E6A185>讛膩**嚗?- `AslFulltextScreeningTask`<60>䈣AslFulltextScreeningResult`銵冽𧊋<E586BD>𥕦遣
- <20><EFBFBD>摮睃<E691AE><E79D83><EFBFBD>憭滨<E686AD><E6BBA8><EFBFBD><EFBFBD><EFBFBD>蝏𤘪<E89D8F>

**敶勗<E695B6>**嚗?- <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A><EFBFBD><E4ADBE><EFBFBD><EFBFBD><EFBFBD>𡝗㺭<F0A19D97>?
**閫<><E996AB><EFBFBD><EFBFBD>**嚗?- Day 4<><EFBFBD>Prisma餈<61>宏
- <20>𥕦遣銝支葵<E694AF>啗”撟嗅遣蝡见<E89DA1><E8A781>?
**隡睃<E99AA1>蝥?*嚗𡁻<E59A97>嚗㇄ay 4霈<E99C88>銝哨<E98A9D>  
**憸<><EFBFBD>埈𧒄**嚗𡁜<E59A97>憭? 
**<2A><EFBFBD>?*嚗尠<E59A97> 撌脣<E6928C><E884A3><EFBFBD>2025-11-23嚗?
**閫<><E996AB>霂行<E99C82>**嚗?- 雿輻鍂<E8BCBB>见𢆡SQL<51>𡁏𧋦摰峕<E691B0><EFBFBD>宏嚗<E5AE8F><E59A97><EFBFBD>滚蔣<E6BB9A>㥍ublic schema嚗?- <20>𥕦遣鈭?`fulltext_screening_tasks` <20>?`fulltext_screening_results` 銵?- 靽格㺿 `literatures` 銵剁<E98AB5>瘛餃<E7989B>13銝芸<E98A9D><E88AB8><EFBFBD><EFBFBD><EFBFBD>畾?- 霂西<E99C82>嚗靀2025-11-23_<33>唳旿摨栞<E691A8>蝘餌𠶖<E9A48C><F0A0B696><EFBFBD>?md](../05-撘<><E69298>𤏸扇敶?2025-11-23_<33>唳旿摨栞<E691A8>蝘餌𠶖<E9A48C><F0A0B696><EFBFBD>?md)

---

### <20>箏𦛚8嚗鋫PI蝡舐<E89DA1><E88890><EFBFBD><E88AB8>?
**<2A><EFBFBD><E6A185>讛膩**嚗?- <20><EFBFBD>憭滨<E686AD><E6BBA8><EFBFBD><E8A9A8><EFBFBD>ESTful API<50><EFBFBD><E88AB8>?- <20>滨垢<E6BBA8><EFBFBD><EFBFBD><EFBFBD>𡒊垢<F0A1928A>滚𦛚

**敶勗<E695B6>**嚗?- <20><EFBFBD>蝡舀<E89DA1>瘜閖<E7989C><E99696>?
**閫<><E996AB><EFBFBD><EFBFBD>**嚗?- Day 4撘<34><E69298>飊PI<50><EFBFBD><E689B9>?- 摰䂿緵隞餃𦛚<E9A483>𥕦遣<F0A595A6><E981A3><EFBFBD>摨行䰻霂<E99C82><EFBCB5><EFBFBD><EFBFBD>𨀣䰻霂<E99C82><EFBCB5>犖撌亙<E6928C><E4BA99><EFBFBD><E8B28A>亙藁

**隡睃<E99AA1>蝥?*嚗𡁻<E59A97>嚗㇄ay 4霈<E99C88>銝哨<E98A9D>  
**憸<><EFBFBD>埈𧒄**嚗𡁜<E59A97>憭? 
**<2A><EFBFBD>?*嚗朞恣<E69C9E>雴葉

---

### <20>箏𦛚9嚗𡁏<E59A97><F0A1818F><EFBFBD><E7A08C>𣇉征<F0A38789>?
**<2A><EFBFBD><E6A185>讛膩**嚗?- <20><EFBFBD>PDF憭<46><E686AD><EFBFBD>鞉𧋦蝥汕?.10嚗㇄eepSeek + Qwen嚗?- System Prompt隞齿<E99A9E>6,601摮㛖泵嚗峕<E59A97>隡睃<E99AA1>蝛粹𡢿

**瞏𨅯銁隡睃<E99AA1>**嚗?1. 蝎曄<E89D8E>System Prompt嚗<74><E59A97><EFBFBD>蹱瓲敹<E793B2><E695B9>撘𤏪<E69298>蝘駁膄<E9A781>𦯀<EFBFBD>霂湔<E99C82>嚗?2. 靚<>㟲JSON Schema嚗<61><E59A97>撠鬴escription摮埈挾嚗?3. <20><><EFBFBD><EFBFBD>閙芋<E99699>𧢲芋撘𧶏<E69298><EFBFBD>eepSeek嚗峕<E59A97><E5B395><EFBFBD>雿?5%嚗?
**憸<><E686B8><EFBFBD><EFBFBD><EFBFBD>**嚗?- <20>鞉𧋦<E99E89><EFBFBD>30-50%嚗<><E59A97><E79285>嚗?- <20><EFBFBD>雿?5%嚗<><E59A97><E79285>嚗?
**隡睃<E99AA1>蝥?*嚗帋葉嚗㇈VP蝔喳<E89D94><E596B3>𠬍<EFBFBD>  
**憸<><EFBFBD>埈𧒄**嚗?-2憭? 

---

### <20>箏𦛚10嚗𡁜捆<F0A1819C>蹱㦤<E8B9B1><EFBFBD>憓𧼮撩

**<2A><EFBFBD><E6A185>讛膩**嚗?- <20><EFBFBD>撌脣<E6928C><E884A3>?撅<>SON閫<4E><E996AB>蝑𣇉裦嚗䔶<E59A97>蝻箏<E89DBB>"LLM<4C><EFBFBD>"撅?- 憒<><E68692>3撅<33><EFBFBD><EFBFBD>憭梯揖嚗䔶遙<E494B6>∠凒<E288A0>亙仃韐?
**撱箄悅**嚗?- <20><EFBFBD>鈭抒㴓憓<E3B493><EFBFBD>烐綉JSON閫<4E><E996AB>憭梯揖<E6A2AF>?- 憒<><E68692>憭梯揖<E6A2AF>?5%嚗<><E59A97><EFBFBD>賜洵4撅<34><E69285>LLM<4C><EFBFBD><EFBFBD>蒂撘箏<E69298>Prompt嚗?
**隡睃<E99AA1>蝥?*嚗帋<E59A97><EFBFBD><E59A97><EFBFBD>煺漣<E785BA>唳旿撉諹<E69289>嚗? 
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A>∩辣閫血<E996AB>**嚗麿SON閫<4E><E996AB>憭梯揖<E6A2AF>?5%

---

## <20><20><EFBFBD>憭滨<E686AD> - <20>滨垢<E6BBA8><E59EA2><EFBFBD><EFBFBD>箏𦛚

> **璅<E79285>**嚗𡁜<E59A97><F0A1819C><EFBFBD><EFBFBD>蝑𥕦<E89D91>蝡? 
> **<2A>𥕦遣<F0A595A6>園𡢿**嚗?025-11-23  
> **<2A><EFBFBD>?*嚗𡁜<E59A97><EFBFBD><E69298>? 

---

### <20>箏𦛚11嚗䥪DF<44><46><EFBFBD><EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- MVP<56><50>𧋦<EFBFBD>芣𣈲<E88AA3><F0A388B2>DF憸<46><E686B8><EFBFBD>蕃憿萸<E686BF><E890B8><EFBFBD><EFBFBD>
- <20><EFBFBD><E4ADBE>沌DF銝𡃏<E98A9D>銵峕<E98AB5>瘜具<E7989C><E585B7><EFBFBD>鈭柴<E988AD><E69FB4><EFBFBD>䭾鸌瘜?- <20><EFBFBD>撣峕<E692A3><E5B395>典恣<E585B8>豢𧒄<E8B1A2><F0A79284><EFBFBD>喲睸靽⊥<E99DBD>

**雿輻鍂<E8BCBB>箸艶**嚗?- 摰⊥瓲撌乩<E6928C><E4B9A9>唳䰻<E594B3><EFBFBD><E8A781><EFBFBD>𧒄嚗峕<E59A97>霈啣<E99C88><E595A3><EFBFBD><E6A0AA>?- 擃䀝漁<E4809D><EFBFBD><E884A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>畾?- 瘛餃<E7989B>銝芯犖摰⊥瓲蝚磰扇

**撱箄悅<E7AE84><EFBFBD>**嚗?- <20><><EFBFBD>PDF<44><46>釣摨橒<E691A8>憒?react-pdf-highlighter嚗?- <20><EFBFBD><E88880><EFBFBD>𧋦擃䀝漁<E4809D><E6BC81><EFBFBD><EFBFBD>垍瑪<E59E8D><E791AA>鸌瘜?- <20><><EFBFBD>唳旿靽嘥<E99DBD><E598A5>唳㺭<E594B3><EFBFBD><EFBFBD>虾撖澆枂

**隡睃<E99AA1>蝥?*嚗帋葉  
**憸<><EFBFBD>埈𧒄**嚗?-4憭? 
**靘肽<E99D98>**嚗䥪DF憸<46><E686B8><EFBFBD><EFBFBD>摰峕<E691B0>  
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>潃?
---

### <20>箏𦛚12嚗𡁏<E59A97><F0A1818F><EFBFBD>霈啣<E99C88><E595A3>?
**<2A><EFBFBD><E6A185>讛膩**嚗?- <20><EFBFBD>銝箸<E98A9D><EFBFBD><E89DAD><EFBFBD>格溶<E6A0BC>惩恣<E683A9><EFBFBD>霈?- 鈭箏極憭齿瓲<E9BDBF><EFBFBD><E597A5><EFBFBD><E882BD><EFBFBD>蝔𧢲<E89D94>瘜閗扇敶?- 銝滢噶鈭𤾸<E988AD>蝏剖<E89D8F>皞臬<E79A9E>蝑碶<E89D91><E7A2B6>?
**雿輻鍂<E8BCBB>箸艶**嚗?- 霈啣<E99C88>銝箔<E98A9D><EFBFBD><EFBFBD>?<3F>㘾膄<E398BE><EFBFBD><E99E9F><EFBFBD>讃
- 霈啣<E99C88><E595A3><EFBFBD><EFBFBD><E996AC><EFBFBD>甇交瓲<E4BAA4><EFBFBD><E4BAA6><EFBFBD>
- <20><EFBFBD><EFBD81><EFBFBD><E8AD8D><EFBFBD>瘝罸<E7989D>朞扇敶?
**撱箄悅<E7AE84><EFBFBD>**嚗?- <20><EFBFBD><E586BD>株祕<E6A0AA><E7A595>𡂝撅㗇溶<E39787>?蝚磰扇"Tab
- <20><EFBFBD>撖峕<E69296><E5B395><EFBFBD>颲穃膥嚗㇈arkdown嚗?- <20><EFBFBD>@<40>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBD81>𣂼<EFBFBD>
- 蝚磰扇靽嘥<E99DBD><E598A5>唳㺭<E594B3><EFBFBD>

**隡睃<E99AA1>蝥?*嚗帋葉  
**憸<><EFBFBD>埈𧒄**嚗?-3憭? 
**靘肽<E99D98>**嚗朞祕<E69C9E><E7A595>𡂝撅匧<E69285><E58CA7>? 
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>潃?
---

### <20>箏𦛚13嚗帋<E59A97><E5B88B><EFBFBD>摨㯄<E691A8>㗇𥋘<E39787><F0A58B98>讃

**<2A><EFBFBD><E6A185>讛膩**嚗?- MVP<56><50>𧋦<EFBFBD>芣𣈲<E88AA3><F0A388B2>𧋦<EFBFBD><EFBFBD>隡蘯DF
- <20><EFBFBD>隞𤾸歇<F0A4BEB8>厩䰻霂<E4B0BB><E99C82>銝剝<E98A9D>㗇𥋘<E39787><F0A58B98>讃
- <20><><EFBFBD><E996AC>憭滢<E686AD>隡惩歇摮睃銁<E79D83><E98A81>DF

**雿輻鍂<E8BCBB>箸艶**嚗?- <20><EFBFBD><E586BD>其葵鈭箇䰻霂<E4B0BB><E99C82>銝剖歇靽嘥<E99DBD>憭折<E686AD><E68A98><EFBFBD>讃
- 撣峕<E692A3><E5B395>湔𦻖<E6B994>㗇𥋘<E39787><EFBFBD><E594B3><EFBFBD>讃餈𥡝<E9A488><F0A5A19D><EFBFBD>憭滨<E686AD>
- <20><EFBFBD><E8B8B9><EFBFBD>銝𠹺<E98A9D><F0A0B9BA><EFBFBD><EFBFBD><EFBFBD>?
**撱箄悅<E7AE84><EFBFBD>**嚗?- <20>?瘛餃<E7989B><E9A483><EFBFBD>讃"撘寧<E69298>瘛餃<E7989B>"<22><EFBFBD>摨?Tab
- <20>曄內<E69B84><EFBFBD><E586BD><EFBFBD><EFBFBD><EFBFBD>侨DF<44><46><EFBFBD>𡑒”
- <20><EFBFBD><E88880>𦦵揣<F0A6A6B5><E68FA3><EFBFBD><EFBFBD><EFBFBD><E589B9><EFBFBD><EFBFBD>?- <20>劐葉<E58A90>舘䌊<E88898><EFBFBD><E585B8>𥪜<EFBFBD>敶枏<E695B6>隞餃𦛚

**隡睃<E99AA1>蝥?*嚗帋<E59A97>  
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**靘肽<E99D98>**嚗帋葵鈭箇䰻霂<E4B0BB><E99C82><E79285>嚗㇊KB嚗? 
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>

---

### <20>箏𦛚14嚗𡁻<E59A97><EFBFBD>PMID/DOI<4F>芸𢆡<E88AB8><EFBFBD><E79195><EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- <20><EFBFBD><E586BD><EFBFBD>PMID<49>靝OI嚗峕瓷<E5B395>侨DF<44><46>辣
- <20><><EFBFBD><E996AC><EFBFBD>典縧PubMed蝑厩<E89D91>蝡嗘<E89DA1>頧瞑DF
- 憓𧼮<E68693><F0A7BCAE><EFBFBD><E6BBA2>鞉𧋦<E99E89>峕𧒄<E5B395>?
**雿輻鍂<E8BCBB>箸艶**嚗?- <20><EFBFBD><E586BD><EFBFBD><E39787><EFBFBD>PMID<49>𡑒”
- 撣峕<E692A3>蝟餌<E89D9F><E9A48C>芸𢆡<E88AB8><EFBFBD><E79195><EFBFBD>PDF
- <20>芸𢆡<E88AB8><EFBFBD>銝贝蝸撟嗅<E6929F><E59785>?
**撱箄悅<E7AE84><EFBFBD>**嚗?- <20>?瘛餃<E7989B><E9A483><EFBFBD>讃"撘寧<E69298>瘛餃<E7989B>"<22>芸𢆡<E88AB8><EFBFBD>"Tab
- 颲枏<E9A2B2>PMID/DOI<4F>𡑒”嚗<E2809D>𣈲<EFBFBD><F0A388B2><EFBFBD>𧶏<EFBFBD>
- 靚<>鍂蝚砌<E89D9A><E7A08C>農PI嚗㇊ubMed<65><64>npaywall<6C><6C>ci-Hub<75>𨅯<EFBFBD>嚗?- <20>芸𢆡銝贝蝸PDF撟嗆溶<E59786><EFBFBD>隞餃𦛚

**隡睃<E99AA1>蝥?*嚗帋<E59A97>  
**憸<><EFBFBD>埈𧒄**嚗?-5憭? 
**靘肽<E99D98>**嚗𡁶洵銝㗇䲮PDF<44><EFBFBD>API  
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>潃鐥<E6BD83>  
**瘜訫<E7989C>憌𡡞埯**嚗尠<E59A97>儭?<3F><><EFBFBD><EFBFBD><E691AF><EFBFBD><EFBFBD><EFBFBD>

---

### <20>箏𦛚15嚗𡁻<E59A97>鈭唧I撘閧鍂<E996A7><E98D82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>畾?
**<2A><EFBFBD><E6A185>讛膩**嚗?- AI<41>斗鱏<E69697><EFBFBD><E59785><EFBFBD><E585B6><EFBFBD><EFBFBD><EFBFBD>旿
- 雿<>銁PDF憸<46><E686B8>銝剜<E98A9D>瘜閗䌊<E99697><EFBFBD>雿滚<E99BBF>擃䀝漁
- <20><EFBFBD><E586BD><EFBFBD><EFBFBD><E996AC><EFBFBD>冽䰻<E586BD>曉笆摨𠉛<E691A8><F0A0899B><EFBFBD>𧋦

**雿輻鍂<E8BCBB>箸艶**嚗?- <20><EFBFBD>AI<41>斗鱏靘脲旿<E884B2><EFBFBD>撣峕<E692A3><E5B395><EFBFBD><E8A781><EFBFBD><EFBFBD>雿滨蔭
- <20>孵稬霂<E7A8AC><EFBFBD><E697BF>𧋦嚗釶DF<44>芸𢆡頝唾蓮撟園<E6929F>鈭?- 撉諹<E69289>AI<41>𣂼<EFBFBD><F0A382BC>臬炏<E887AC><E7828F>

**撱箄悅<E7AE84><EFBFBD>**嚗?- <20>杗I<E69D97>斗鱏撖寞<E69296>銝哨<E98A9D><EFBFBD><EFBFBD><E697BF>𧋦<EFBFBD>䀝蛹<E4809D><EFBFBD><E88890>?- <20>孵稬<E5ADB5>窰DF憸<46><E686B8><EFBFBD>芸𢆡頝唾蓮<E594BE>啣笆摨娪△<E5A8AA>?- 擃䀝漁<E4809D><EFBFBD><E5AFA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>畾蛛<E795BE><E89B9B><EFBFBD><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- <20>𡒊垢<F0A1928A><E59EA2><EFBFBD><E996AC><EFBFBD><EFBFBD><E5A2A7>砍銁PDF銝剔<E98A9D>雿滨蔭<E6BBA8><EFBFBD>

**隡睃<E99AA1>蝥?*嚗帋葉  
**憸<><EFBFBD>埈𧒄**嚗?-5憭? 
**靘肽<E99D98>**嚗䥪DF<44>𣂼<EFBFBD><F0A382BC>滚𦛚餈𥪜<E9A488><F0A5AA9C><EFBFBD>𧋦<EFBFBD><EFBFBD>  
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>潃鐥<E6BD83>  
**<2A><><EFBFBD>舫𠗕摨?*嚗尠<E59A97>潃鐥<E6BD83>潃?
---

### <20>箏𦛚16嚗阳ebSocket摰墧𧒄<E5A2A7><EFBFBD><E588B8>𤜯隞<F0A49CAF>蔭霂?
**<2A><EFBFBD><E6A185>讛膩**嚗?- 敶枏<E695B6>雿輻鍂頧株砭<E6A0AA><EFBFBD><EFBFBD><E59A97>3蝘坿窈瘙<E7AA88><E79899>甈∴<E79488>
- 憓𧼮<E68693><F0A7BCAE>滚𦛚<E6BB9A><EFBFBD>頧賢<E9A0A7>蝵𤑳<E89DB5><EFBFBD><E7989A>
- 餈𥕦漲<F0A595A6>湔鰵<E6B994>匧辣餈<E8BEA3><E9A488><EFBFBD><EFBFBD>憭?蝘𡜐<E89D98>

**雿輻鍂<E8BCBB>箸艶**嚗?- 隞餃𦛚餈𥕦漲<F0A595A6>烐綉憿菟𢒰
- <20>踵𧒄<E8B8B5><EFBFBD>銵𣬚<E98AB5>LLM隞餃𦛚
- 撣峕<E692A3>摰墧𧒄<E5A2A7><EFBFBD><EFBFBD><E686AD><EFBFBD><EFBFBD>

**撱箄悅<E7AE84><EFBFBD>**嚗?- <20>𡒊垢摰䂿緵WebSocket<65>滚𦛚
- <20>滨垢撱箇<E692B1>WebSocket餈墧𦻖
- 隞餃𦛚餈𥕦漲<F0A595A6><EFBFBD><E79D83>嗡蜓<E597A1>冽綫<E586BD>?- <20>滨漣蝑𣇉裦嚗阳ebSocket銝滚虾<E6BB9A>冽𧒄<E586BD><EFBFBD><E9AE8B><EFBFBD>啗蔭霂?
**隡睃<E99AA1>蝥?*嚗帋<E59A97>  
**憸<><EFBFBD>埈𧒄**嚗?-4憭? 
**靘肽<E99D98>**嚗𡁜<E59A97>蝡狸ebSocket摰䂿緵  
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>  
**<2A><EFBFBD><E689AF>𣂼<EFBFBD>**嚗尠<E59A97>潃鐥<E6BD83>潃?
---

### <20>箏𦛚17嚗朞<E59A97><E69C9E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E585B6>硋之<E7A18B>𡑒”<F0A19192><EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- 敶𤘪<E695B6><F0A498AA>格㺭<E6A0BC>?100蝭<30>𧒄嚗諹”<E8ABB9>潭葡<E6BDAD><EFBFBD><E69E8F>?- <20><><EFBFBD><EFBFBD><E39591>賣葡<E8B3A3><EFBFBD>DOM嚗<4D><E59A97><EFBFBD>典之<E585B8><EFBFBD>摮?- 皛𡁜𢆡<F0A1819C>嗅虾<E59785>賢枂<E8B3A2>啣㨃憿?
**雿輻鍂<E8BCBB>箸艶**嚗?- 憭扯<E686AD><E79285><E288AA><EFBFBD><EFBFBD>蝑𨥈<E89D91>200+蝭<><E89DAD><EFBFBD><EFBFBD>
- 摰⊥瓲撌乩<E6928C><E4B9A9><EFBFBD>蝏𤘪<E89D8F>憿菟𢒰
- <20><><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>皛𡁜𢆡雿㯄<E99BBF>

**撱箄悅<E7AE84><EFBFBD>**嚗?- 雿輻鍂<E8BCBB>𡁏<EFBFBD>皛𡁜𢆡摨橒<E691A8>react-window / react-virtualized嚗?- <20>芣葡<E88AA3>枏虾閫<E899BE><EFBFBD><EFBFBD>銵?- 隡睃<E99AA1>Ant Design Table<6C><EFBFBD>
- 瘛餃<E7989B><E9A483><EFBFBD><E689AF>烐綉

**隡睃<E99AA1>蝥?*嚗帋<E59A97>  
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A>∩辣閫血<E996AB>**嚗𡁏<E59A97><F0A1818F>格㺭<E6A0BC>?100蝭? 
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>  
**<2A><EFBFBD><E689AF>𣂼<EFBFBD>**嚗尠<E59A97>潃鐥<E6BD83>潃鐥<E6BD83>

---

### <20>箏𦛚18嚗𡁏鸌<F0A1818F>𤩺<EFBFBD>雿𨅯<E99BBF><F0A885AF>?
**<2A><EFBFBD><E6A185>讛膩**嚗?- 蝏𤘪<E89D8F>憿菟𢒰<E88F9F><EFBFBD><E88ABE>蓥葵<E893A5><E891B5><EFBFBD><EFBFBD>
- <20><EFBFBD><E4ADBE><EFBFBD>靽格㺿<E6A0BC><EFBFBD>
- <20><EFBFBD><E4ADBE><EFBFBD>撖澆枂<E6BE86>劐葉<E58A90><E89189><EFBFBD><EFBFBD>?
**雿輻鍂<E8BCBB>箸艶**嚗?- <20><EFBFBD><E5AFA5><EFBFBD>扇銝?蝥喳<E89DA5>"<22>?<3F>㘾膄"
- <20><EFBFBD>撖澆枂<E6BE86>劐葉<E58A90><E89189><EFBFBD><E8AE83>DF
- <20><EFBFBD><E5AFA5>𣳇膄<F0A3B387>躰秤銝𠹺<E98A9D><F0A0B9BA><EFBFBD><EFBFBD><EFBFBD>?
**撱箄悅<E7AE84><EFBFBD>**嚗?- 銵冽聢瘛餃<E7989B>憭漤<E686AD><EFBFBD><E39787>?- 瘛餃<E7989B><E9A483><EFBFBD><E5AFA5><EFBFBD>撌亙<E6928C><E4BA99>?- <20><EFBFBD>嚗𡁏鸌<F0A1818F>譍耨<E8AD8D><EFBFBD>蝑硔<E89D91><E7A194><EFBFBD>誩紡<E8AAA9><EFBFBD><E7AE9D><EFBFBD><EFBFBD><E8AAA9>?- 瘛餃<E7989B><E9A483><EFBFBD>蝖株恕<E6A0AA>鞟內

**隡睃<E99AA1>蝥?*嚗帋<E59A97>  
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>潃?
---

### <20>箏𦛚19嚗𡁶氖蝥燕DF憸<46><E686B8><EFBFBD><EFBFBD>

**<2A><EFBFBD><E6A185>讛膩**嚗?- PDF憸<46><E686B8>靘肽<E99D98><E882BD>函瑪CDN<44>㰘蝸pdf.js worker
- 蝵𤑳<E89DB5>銝滚末<E6BB9A><EFBFBD>頧賢仃韐?- <20><><EFBFBD><EFBFBD><EFBFBD><E887AC><EFBFBD>雿輻鍂

**雿輻鍂<E8BCBB>箸艶**嚗?- <20><><EFBFBD><EFBFBD>函蔡<E587BD><EFBFBD>
- 蝵𤑳<E89DB5>銝滨迅摰𡁶<E691B0><F0A181B6><EFBFBD>
- <20><><EFBFBD><E996AC><EFBFBD>函氖蝥蹂蝙<E8B982>?
**撱箄悅<E7AE84><EFBFBD>**嚗?- 撠<>df.js worker<65><EFBFBD><E69E8F>圈★<E59C88>桐葉
- <20><EFBFBD><E88880>砍𧑐<E7A08D>㰘蝸<E3B098>龦DN<44>㰘蝸銝斤<E98A9D><E79285>
- <20>芸𢆡璉<F0A286A1>瘚讠<E7989A>蝏𨅯僎<F0A885AF>㗇𥋘<E39787><F0A58B98>隡䀹䲮撘?
**隡睃<E99AA1>蝥?*嚗帋<E59A97>  
**憸<><EFBFBD>埈𧒄**嚗?憭? 
**<2A>∩辣閫血<E996AB>**嚗𡁜<E59A97>蝵煾<E89DB5>蝵脤<E89DB5>瘙? 
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃鐥<E6BD83>

---

### <20>箏𦛚20嚗𡁜<E59A97>摨𥪜<E691A8>霈曇恣<E69B87><E681A3><EFBFBD>蝘餃𢆡蝡?
**<2A><EFBFBD><E6A185>讛膩**嚗?- 敶枏<E695B6>霈曇恣<E69B87><EFBFBD><E88ABE><EFBFBD>獢屸𢒰蝡荔<E89DA1>1920x1080嚗?- <20>典像<E585B8><EFBFBD><E8B8B9>𧢲㦤銝𦠜遬蝷箸<E89DB7><E7AEB8>𨅯榆
- 銵冽聢摰賢漲<E8B3A2><EFBFBD><EFBFBD><E59A97>撅誩<E69285>銝𧢲<E98A9D>瘜蓥蝙<E893A5>?
**雿輻鍂<E8BCBB>箸艶**嚗?- <20><EFBFBD>撣峕<E692A3><E5B395>典像<E585B8><EFBFBD>摰⊥瓲<E28AA5><E793B2>讃
- 蝘餃𢆡<E9A483>箸艶銝𧢲䰻<F0A7A2B2>衤遙<E8A1A4><EFBFBD>摨?- 憭硋枂<E7A18B>嗡葩<E597A1><EFBFBD><E59785><EFBFBD><EFBFBD>?
**撱箄悅<E7AE84><EFBFBD>**嚗?- 雿輻鍂<E8BCBB><EFBFBD>撘誩<E69298><EFBFBD>嚗㇍ailwind CSS嚗?- 撠誩<E692A0>撟蓥<E6929F>銵冽聢<E586BD>嫣蛹<E5ABA3><EFBFBD><EFBFBD>㦛
- 隡睃<E99AA1>閫行𨰫鈭支<E988AD>雿㯄<E99BBF>
- 瘛餃<E7989B>蝘餃𢆡蝡臬紡<E887AC>?
**隡睃<E99AA1>蝥?*嚗𡁏<E59A97>雿? 
**憸<><EFBFBD>埈𧒄**嚗?-7憭? 
**<2A>∩辣閫血<E996AB>**嚗𡁶鍂<F0A181B6><EFBFBD>蝖桅<E89D96>瘙? 
**<2A><EFBFBD>隞瑕<E99A9E>?*嚗尠<E59A97>潃?
---

## <20><> <20><EFBFBD><E8A9A8><EFBFBD>﹝

**<2A><><EFBFBD><EFBFBD><EFBFBD><E48185><EFBFBD>**:
- [璅<E79285>敶枏<E695B6><E69E8F><EFBFBD><E59786><EFBFBD><EFBFBD><E69298><EFBFBD><E78390>㻩(../00-璅<E79285>敶枏<E695B6><E69E8F><EFBFBD><E59786><EFBFBD><EFBFBD><E69298><EFBFBD><E78390>?md) - 撌脩䰻<E884A9><EFBFBD><E6A185><EFBFBD>
- [隞餃𦛚<E9A483><F0A69B9A>圾](../04-撘<><E69298>𤏸恣<F0A48FB8>?03-隞餃𦛚<E9A483><F0A69B9A>圾.md) - Week 4隞餃𦛚皜<F0A69B9A><E79A9C>
- [Prompt霈曇恣銝擧<E98A9D>霂閙𥁒<E99699>𠺖(../05-撘<><E69298>𤏸扇敶?2025-11-18-Prompt霈曇恣銝擧<E98A9D>霂訫<E99C82><E8A8AB>鞉𥁒<E99E89>?md) - 韐券<E99F90><E588B8><EFBFBD><E6A185><EFBFBD><EFBFBD>
- [隞𦠜𠯫撌乩<E6928C><E4B9A9><EFBFBD>](../05-撘<><E69298>𤏸扇敶?2025-11-18-隞𦠜𠯫撌乩<E6928C><E4B9A9><EFBFBD>.md) - 颲寧<E9A2B2><E5AFA7><EFBFBD>霂𦠜鱏

**<2A><EFBFBD>憭滨<E686AD>**:
- [<5B><EFBFBD>憭滨<E686AD><EFBFBD><E69298>𤏸恣<F0A48FB8>哋(../04-撘<><E69298>𤏸恣<F0A48FB8>?04-<2D><EFBFBD>憭滨<E686AD><EFBFBD><E69298>𤏸恣<F0A48FB8>?md) - <20>𡒊垢撘<E59EA2><E69298>𤏸<EFBFBD>摨血<E691A8><E99C88>
- [<5B><EFBFBD>憭滨<E686AD><E6BBA8>滨垢撘<E59EA2><E69298>𤏸恣<F0A48FB8>哋(../04-撘<><E69298>𤏸恣<F0A48FB8>?05-<2D><EFBFBD>憭滨<E686AD><E6BBA8>滨垢撘<E59EA2><E69298>𤏸恣<F0A48FB8>?md) - <20>滨垢撘<E59EA2><E69298>𤏸祕蝏<E7A595><EFBFBD>?- [<5B><EFBFBD>憭滨<E686AD>韐券<E99F90>靽嗪<E99DBD>蝑𣇉裦](../02-<2D><><EFBFBD>航挽霈?08-<2D><EFBFBD>憭滨<E686AD>韐券<E99F90>靽嗪<E99DBD>蝑𣇉裦.md) - 韐券<E99F90>蝑𣇉裦霈曇恣
- [Day 2-3撘<33><E69298>𤏸扇敶騟(../05-撘<><E69298>𤏸扇敶?2025-11-22_Day2-Day3_LLM<4C>滚𦛚銝𡡞<E98A9D><EFBFBD>頂蝏笔<E89D8F><E7AC94>?md) - LLM<4C>滚𦛚撘<F0A69B9A><E69298>?- [Day 5撘<35><E69298>𤏸扇敶騟(../05-撘<><E69298>𤏸扇敶?2025-11-23_Day5_<35><EFBFBD>憭滨<E686AD>API撘<49><E69298>?md) - <20>𡒊垢API撘<49><E69298>?
---

**<2A><>﹝蝏湔擪**嚗?- 瘥𤩺活<F0A4A9BA>𤑳緵<F0A491B3><EFBFBD><E59581><EFBFBD><EFBFBD><EFBFBD>箏𦛚<E7AE8F>嗆凒<E59786>?- 瘥𤩺活閫<E6B4BB><E996AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箏𦛚<E7AE8F><EFBFBD>霈啁𠶖<E59581>?- 摰𡁏<E691B0><EFBFBD>摯隡睃<E99AA1>蝥改<E89DA5>瘥𤩺<E798A5>嚗?
**<2A><><EFBFBD>擧凒<E693A7>?*嚗?025-11-23嚗ǒ1.2嚗? 
**<2A>祆活<E7A586>湔鰵**嚗𡁏鰵憓𧼮<E68693><F0A7BCAE><EFBFBD><EFBFBD>蝑𥕦<E89D91>蝡舀<E89DA1><E88880><EFBFBD>箏𦛚嚗?0憿對<E686BF><E5B08D>箏𦛚11-20嚗? 
**銝𧢲活霂<E6B4BB>摯**嚗𡁜<E59A97><F0A1819C><EFBFBD><EFBFBD>蝑𥕦<E89D91>蝡烘VP摰峕<E691B0><E5B395>?