Files
AIclinicalresearch/docs/07-运维文档/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

11 KiB
Raw Blame History

髟ソ譌カ髣エ莉サ蜉。蜿ッ髱<EFBFBD>諤ァ蛻<EFBFBD><EFBFBD>哺emoryQueue vs Redis髦溷<E9ABA6>

*蝨コ譎ッ<EFBFBD>? 1000遽<30>枚迪ョ遲幃€会シ碁「<E7A281>ョ。2蟆乗慮螟<E685AE>炊譌カ髣エ
*蠖灘燕譁ケ譯茨シ? MemoryQueue<75><EFBFBD>蟄倬弌蛻暦シ<E69AA6>
*髣ョ鬚假シ? 閭ス蜷ヲ蜿ッ髱<EFBDAF>螳梧<E89EB3><E6A2A7>? *扈楢ョコ<EFBFBD>? 笶?荳崎<EFBFBD>


<EFBFBD>蝨コ譎ッ蛻<EFBFBD>

莉サ蜉。迚ケ蠕<EFBFBD>

莉サ蜉。邀サ蝙具シ壽枚迪ョ遲幃€会シ域<EFBFBD><EFBFBD>「俶遭隕∝<EFBFBD>遲幢シ?
譁<>鍵謨ー驥擾シ?000遽?
蜊慕ッ<E68595>€玲慮<E78EB2>?-10遘抵シ亥曙讓。蝙句ケカ陦鯉シ<E9AF89>
諤サ閠玲慮<E78EB2>?000-10000遘?= 100-167蛻<37>帖 竕?2蟆乗慮

蠖灘燕螳樒鴫

// backend/src/modules/asl/services/screeningService.ts (隨?5陦?

// 4. 蠑よュ・螟<EFBDA5>炊譁<E7828A><EFBFBD>育ョ€蛹也沿<E4B99F>夂峩謗・蝨ィ霑咎㈹螟<E388B9><EFBFBD>?
// 逕滉コァ邇ッ蠅<EFBDAF>コ碑ッ・蜿鷹€∝芦豸域<E8B1B8>髦溷<E9ABA6>  竊?豕ィ諢剰ソ呵。梧ウィ驥奇シ?
processLiteraturesInBackground(task.id, projectId, literatures);

// 霑吩クェ蜃ス謨ー莨夲シ<E5A4B2>
// 1. 霑占。悟惠蠖灘燕Node霑帷ィ倶ク?
// 2. 荳イ陦悟、<E6829F>炊1000遽<30>枚迪?
// 3. 豐。譛画戟荵<E6889F><EFBFBD><EFBFBD>蝨ィ蜀<EFBDA8>ュ假シ?

笶?*MemoryQueue逧<EFBFBD><EFBFBD>蜻ス髣ョ鬚?

髣ョ鬚<EFBFBD>1<EFBFBD>售AE螳樔セ倶シ夊「ォ閾ェ蜉ィ髞€豈?<3F>€荳・驥<EFBFBD>

*Serverless逧<EFBFBD>悽雍ィ<EFBFBD>壽潔髴€隶。雍ケ = 謖蛾怙髞€豈?

髦ソ驥御コ全AE逧<EFBFBD><EFBFBD>蜉ィ郛ゥ螳ケ遲也払<EFBFBD><EFBFBD>
笏懌楳 譌<><EFBFBD>㍼譌カ<E8AD8C>?5蛻<35>帖蜷守シゥ螳ケ蛻ー0
笏懌楳 菴取オ<E58F96>㍼譌カ<E8AD8C>夂シゥ蜃丞ョ樔セ区焚
笏懌楳 螟憺龍譌カ谿オ<E8B0BF><EFBFBD>蜉ィ郛ゥ螳ケ<E89EB3>郁鰍逵∵<E980B5>譛ャ<E8AD9B>?
笏披楳 邉サ扈溷合郤ァ<E983A4>壼ョ樔セ矩㍾蜷?

*2蟆乗慮莉サ蜉。逧<EFBFBD>」朱勦隸<EFBFBD>シ?

譌カ谿オ SAE螳樔セ矩楳豈∵ヲら<EFBFBD>? 隸エ譏<EFBFBD>
*蟾・菴懈慮髣エ<EFBFBD>?:00-18:00<30>? <EFBFBD>泯 30-50% <EFBFBD>㍼豕「蜉ィ蟇シ閾エ郛ゥ螳ケ
*螟憺龍譌カ谿オ<EFBFBD>?2:00-06:00<30>? <EFBFBD>閥 80-95% 閾ェ蜉ィ郛ゥ螳ケ遲也払
*蜻ィ譛ォ/闃ょ∞譌? <EFBFBD>閥 70-90% 菴取オ<EFBFBD>㍼譌カ谿?

逵溷ョ槫惻譎ッ讓。諡<EFBFBD><EFBFBD>?

21:00 逕ィ謌キ謠蝉コ、1000遽<30>枚迪ョ遲幃€?
21:00 SAE螳樔セ句シ€蟋句、<E58FA5><EFBFBD>磯「<E7A3AF>ョ。2蟆乗慮螳梧<E89EB3><E6A2A7>?
21:15 蜑咲ォッ譛臥畑謌キ隶ソ髣ョ<E9ABA3>亥ョ樔セ句ュ俶エサ<EFBDB4>?
22:00 逕ィ謌キ荳狗少蝗槫ョカ<EFBDAE>域裏譁ー隶ソ髣ョ<E9ABA3><EFBDAE>
22:15 SAE譽€豬具シ<E585B7>15蛻<35>帖譌<E5B896><EFBFBD><E8B1AC>?竊?蜃<><EFBFBD>シゥ螳ケ
22:16 笶?螳樔セ玖「ォ髞€豈?
      笏披楳 莉サ蜉。霑帛コヲ<EFBDBA>?50/1000<30>?5%<25>?
      笏披楳 扈捺棡<E68DBA>壻ササ蜉。荳「螟ア<E89E9F>悟燕蜉溷ース蠑<EFBDBD>

髣ョ鬚<EFBFBD>2<EFBFBD>夊ソ帷ィ句エゥ貅<EFBFBD>裏豕墓△螟?

// 蠖灘燕螳樒鴫<E6A892>育ョ€蛹也沿<E4B99F>?
async function processLiteraturesInBackground(taskId, projectId, literatures) {
  for (const lit of literatures) {
    try {
      // 螟<>炊蜊慕ッ<E68595>枚迪ョ<E8BFAA>€玲慮6-10遘抵シ<E68AB5>
      await processLiterature(lit);
    } catch (error) {
      // 譟千ッ<E58D83>、ア雍・<E99B8D>檎サァ扈ュ荳倶ク€遽?
      logger.error('Failed to process literature', { error });
    }
  }
}

// 鬟朱勦<E69CB1>?
// 1. 螯よ棡Node霑帷ィ句エゥ貅<EFBDA9><EFBFBD>OM縲∵悴謐戊執蠑ょクク<EFBDB8><EFBFBD> 蜈ィ驛ィ荳「螟ア
// 2. 螯よ棡DB霑樊磁譁ュ蠑€ 竊?譌<>豕穂ソ晏ュ倩ソ帛コヲ
// 3. 螯よ棡API髯先オ<E58588> 竊?莉サ蜉。蜊。豁サ
// 4. 豐。譛画妙轤ケ扈ュ莨<EFBDAD> 竊?蠢<>。サ驥榊、エ蠑€蟋?

髣ョ鬚<EFBFBD>3<EFBFBD>壽裏豕慕尅謗ァ逵溷ョ櫁ソ帛コ?

// 蠖灘燕螳樒鴫逧<E9B4AB>ソ帛コヲ譖エ譁?
await prisma.aslScreeningTask.update({
  where: { id: taskId },
  data: { processedItems: processedCount }
});

// 髣ョ鬚假シ?
// - 霑帛コヲ蜿ェ蟄伜惠謨ー謐ョ蠎<EFBDAE>
// - 莉サ蜉。迥カ諤∝惠蜀<E683A0>ュ倅ク?
// - 螳樔セ矩楳豈∝錘<E2889D>梧焚謐ョ蠎捺仞遉コ processedItems: 150
// - 菴<>ササ蜉。螳樣刔蟾イ荳「螟ア<E89E9F>梧裏豕墓△螟?

髣ョ鬚<EFBFBD>4<EFBFBD>壼、壼ョ樔セ句<EFBFBD><EFBFBD>

蝨コ譎ッ<EFBFBD>售AE譛?荳ェ螳樔セ?

逕ィ謌キ謠蝉コ、莉サ蜉。 竊?螳樔セ帰蠑€蟋句、<E58FA5><EFBDA4>?
                   竊?
                螟<>炊蛻?00遽<30><EFBFBD>悟ョ樔セ帰髞€豈?
                   竊?
逕ィ謌キ蛻キ譁ー鬘オ髱「 竊?隸キ豎りキッ逕ア蛻ー螳樔セ毅
                   竊?
螳樔セ毅隸サ蜿紋ササ蜉。迥カ諤<EFBDB6>シ嗔rocessedItems: 500
                   竊?
螳樔セ毅荳咲衍驕謎ササ蜉。蟾イ荳ュ譁ュ
                   竊?
笶?莉サ蜉。譏セ遉コ"霑幄。御ク?<3F>御ス<E5BEA1>ョ樣刔豐。莠コ蝨ィ螟<EFBDA8><E89E9F>?

笨?*Redis髦溷<EFBFBD><EFBFBD>シ伜<EFBFBD>?

莨伜漢1<EFBFBD>壻ササ蜉。謖∽ケ<EFBFBD>

// 菴ソ逕ィRedis髦溷<E9ABA6>
await jobQueue.push('asl:screening', {
  taskId: task.id,
  projectId,
  literatureIds: [1, 2, 3, ..., 1000]
});

// 莉サ蜉。菫晏ュ伜惠Redis荳ュ<E88DB3><EFBDAD>
// - 螳樔セ矩楳豈?竊?笨?莉サ蜉。莉榊惠Redis
// - 譁ー螳樔セ句星蜉?竊?笨?閾ェ蜉ィ諡セ蜿紋ササ蜉。
// - 霑帷ィ句エゥ貅<EFBDA9> 竊?笨?蜈カ莉妨orker謗・邂。

莨伜漢2<EFBFBD>壽妙轤ケ扈ュ莨?

// Worker螟<72>炊莉サ蜉。
jobQueue.process('asl:screening', async (job) => {
  const { literatureIds } = job.data;
  
  for (let i = 0; i < literatureIds.length; i++) {
    // 螟<>炊譁<E7828A>    await processLiterature(literatureIds[i]);
    
    // 譖エ譁ー霑帛コヲ<EFBDBA>井ソ晏ュ伜芦Redis<69>?
    await job.updateProgress((i + 1) / literatureIds.length * 100);
    
    // 螯よ棡Worker蝨ィ霑咎㈹蟠ゥ貅<EFBDA9><EFBFBD>
    // - BullMQ莨壼ー<E5A3BC>ササ蜉。譬<EFBDA1>ョー荳?蛛懈サ<E68788>"
    // - 蜈カ莉妨orker莨夐㍾譁ー諡セ蜿?
    // - 莉惹ク頑ャ。霑帛コヲ扈ァ扈ュ<E68988>€御ク肴弍驥榊、エ蠑€蟋具シ<E585B7>
  }
});

莨伜漢3<EFBFBD><EFBFBD>蜉ィ驥崎ッ?

// BullMQ驟咲スョ
const queue = new Queue('asl:screening', {
  connection: { host: 'redis' },
  defaultJobOptions: {
    attempts: 3,              // 螟ア雍・蜷朱㍾隸?谺?
    backoff: {
      type: 'exponential',
      delay: 2000             // 2遘偵€?遘偵€?遘?
    },
    removeOnComplete: true,   // 螳梧<E89EB3>蜷取ク<E58F96><EFBDB8>?
    removeOnFail: false       // 螟ア雍・蜷惹ソ晉蕗<E69989>井セソ莠取賜譟・<E8AD9F>?
  }
});

// 蝨コ譎ッ<E8AD8E>?
// - LLM API荳エ譌カ謨<EFBDB6>囿 竊?笨?閾ェ蜉ィ驥崎ッ<E5B48E>
// - 鄂醍サ懈竃蜉ィ 竊?笨?閾ェ蜉ィ驥崎ッ<E5B48E>
// - DB霑樊磁譁ュ蠑€ 竊?笨?閾ェ蜉ィ驥崎ッ<E5B48E>

莨伜漢4<EFBFBD><EFBFBD><EFBFBD>シ丈ササ蜉。蛻<EFBFBD><EFBFBD>

SAE譛?荳ェ螳樔セ具シ<E585B7>

Redis髦溷<E9ABA6><E6BAB7>?000荳ェ莉サ蜉。<E89C89><EFBDA1>
    竊?
閾ェ蜉ィ蛻<EFBDA8><E89BBB><EFBFBD>?
笏懌楳 螳樔セ帰 Worker<65>壼、<E5A3BC><EFBDA4>?Task 1-350
笏懌楳 螳樔セ毅 Worker<65>壼、<E5A3BC><EFBDA4>?Task 351-700
笏披楳 螳樔セ気 Worker<65>壼、<E5A3BC><EFBDA4>?Task 701-1000

螯よ棡螳樔セ毅髞€<C280><EFBFBD>
笏懌楳 Task 351-700 譬<>ョー荳?蛛懈サ<E68788>"
笏懌楳 螳樔セ帰謌砲逧Цorker閾ェ蜉ィ謗・邂。
笏披楳 扈ァ扈ュ螟<EFBDAD><EFBFBD>梧裏髴€莠コ蟾・蟷イ鬚<EFBDB2>

<EFBFBD>投 *蜿ッ髱<EFBFBD>諤ァ蟇ケ豈?

扈エ蠎ヲ MemoryQueue Redis髦溷<EFBFBD> 蟾ョ蠑<EFBFBD>
*2蟆乗慮莉サ蜉。螳梧<EFBFBD>邇? 10-30% 99%+ 300%謠仙合
螳樔セ矩楳豈∝錘 笶?莉サ蜉。荳「螟ア 笨?閾ェ蜉ィ諱「螟<EFBDA2> 蜈ウ髞ョ
*霑帷ィ句エゥ貅<EFBFBD><EFBFBD>? 笶?蜈ィ驛ィ荳「螟ア 笨?譁ュ轤ケ扈ュ莨<EFBDAD> 蜈ウ髞ョ
API荳エ譌カ謨<EFBFBD> 笶?莉サ蜉。螟ア雍・ 笨?閾ェ蜉ィ驥崎ッ<E5B48E> 蜈ウ髞ョ
*螟壼ョ樔セ句刻隹? 笶?譌<>豕募刻隹<E588BB> 笨?閾ェ蜉ィ蛻<EFBDA8><E89BBB> 蜈ウ髞ョ
莉サ蜉。逶第而 <EFBFBD><EFBFBD><EFBFBD><>B 笨?螳樊慮迥カ諤? 蜿ッ騾?
謌先悽 ツ・0 ツ・108/蟷? 蜿ッ謗・蜿?

<EFBFBD>逵溷ョ槫惻譎ッ讓。諡<EFBFBD>

蝨コ譎ッ1<EFBFBD>壼キ・菴懈慮髣エ謠蝉コ、<EFBFBD><EFBFBD>蜉溽<EFBFBD>?0%<25>?

10:00 逕ィ謌キ謠蝉コ、1000遽<30>枚迪ョ遲幃€?
      笏懌楳 MemoryQueue<75>壼シ€蟋句、<E58FA5><EFBFBD>碁「<E7A281>ョ。12:00螳梧<E89EB3>
      笏?
11:30 豬<>㍼髯堺ス趣シ郡AE郛ゥ螳ケ<E89EB3>亥唖髯?荳ェ螳樔セ具シ<E585B7>
      笏懌楳 螯よ棡莉サ蜉。蝨ィ陲ォ蛻<EFBDAB>髯、逧<EFBDA4>ョ樔セ倶ク<E580B6> 竊?笶?荳「螟ア<E89E9F>域ヲら<EFBDA6>?0%<25>?
      笏?
12:00 螯よ棡蟷ク霑先悴陲ォ蛻<EFBDAB>髯、 竊?笨?螳梧<E89EB3><E6A2A7>域ヲら<EFBDA6>?0%<25>?

諤サ謌仙粥邇<E7B2A5>シ?0%

蝨コ譎ッ2<EFBFBD>壼、憺龍謠蝉コ、<EFBFBD><EFBFBD>蜉溽<EFBFBD>?%<25>?

21:00 逕ィ謌キ謠蝉コ、1000遽<30>枚迪ョ遲幃€?
      笏懌楳 MemoryQueue<75>壼シ€蟋句、<E58FA5><EFBFBD>碁「<E7A281>ョ。23:00螳梧<E89EB3>
      笏?
21:15 譌<>譁ー逕ィ謌キ隶ソ髣ョ<E9ABA3>梧オ<E6A2A7>㍼髯堺ク?
      笏?
21:30 SAE譽€豬具シ<E585B7>15蛻<35>帖譌<E5B896><EFBFBD><E8B1AC>?竊?蜃<><EFBFBD>シゥ螳ケ
      笏?
21:31 笶?螳樔セ矩楳豈<E6A5B3>シ御ササ蜉。荳「螟ア<E89E9F>域ヲら<EFBDA6>?5%<25>?

諤サ謌仙粥邇<E7B2A5>シ?%

蝨コ譎ッ3<EFBFBD>啌edis髦溷<EFBFBD><EFBFBD><EFBFBD>蜉溽紫99%+<2B>?

21:00 逕ィ謌キ謠蝉コ、1000遽<30>枚迪ョ遲幃€?
      笏懌楳 Redis髦溷<E9ABA6><E6BAB7>壻ササ蜉。蜈・髦?
      笏懌楳 Worker<65>壼シ€蟋句、<E58FA5><EFBDA4>?
      笏?
21:31 螳樔セ矩楳豈?
      笏懌楳 莉サ蜉。菫晏ュ伜惠Redis
      笏?
21:32 譁ー螳樔セ句星蜉ィ<E89C89><EFBFBD>蜈カ莉門ョ樔セ具シ<E585B7>
      笏懌楳 Worker<65><EFBFBD>蜉ィ諡セ蜿紋ササ蜉?
      笏懌楳 莉山edis隸サ蜿冶ソ帛コヲ<EFBDBA>壼キイ螟<EFBDB2>炊150遽?
      笏懌楳 扈ァ扈ュ螟<EFBDAD>炊蜑ゥ菴<EFBDA9>850遽?
      笏?
23:00 笨?莉サ蜉。螳梧<E89EB3>

諤サ謌仙粥邇<E7B2A5>シ?9%+

<EFBFBD>謌先悽蛻<EFBFBD>

MemoryQueue逧<EFBFBD>嚼阯乗<EFBFBD>譛?

莉サ蜉。螟ア雍・邇<EFBFBD><EFBFBD>70%<25>亥、憺龍<E686BA><E9BE8D>
逕ィ謌キ驥肴眠謠蝉コ、谺。謨ー<E8ACA8>壼ケウ蝮?谺。謇肴<E8AC87><EFBFBD>
LLM API豬ェ雍ケ<E99B8D>?
- 隨?谺。<E8B0BA>壼、<E5A3BC>炊200遽<30>錘螟ア雍・ 竊?豬ェ雍ケ ツ・86
- 隨?谺。<E8B0BA>壼、<E5A3BC>炊500遽<30>錘螟ア雍・ 竊?豬ェ雍ケ ツ・215
- 隨?谺。<E8B0BA>壼ョ梧<EFBDAE> 竊?ツ・430
諤サ謌先悽<E58588>堋・731<33>亥コ碑ッ・蜿ェ髴€ツ・430<33>?

逕ィ謌キ菴馴ェ鯉シ?
- 蜿榊、榊、ア雍・ 竊?謚戊ッ臥紫荳雁<E88DB3>?
- 荳肴覆螟憺龍謠蝉コ、 竊?菴ソ逕ィ蜿鈴剞
- 蟇ケ邉サ扈溷、ア蜴サ菫。莉?竊?豬∝、ア鬟朱勦

Redis髦溷<EFBFBD><EFBFBD>悄螳樊<EFBFBD>譛?

Redis蟷エ雍ケ<EFBFBD>堋?08
莉サ蜉。謌仙粥邇<E7B2A5><EFBFBD>99%+
逕ィ謌キ驥肴眠謠蝉コ、谺。謨ー<E8ACA8><EFBFBD>荵惹クコ0
LLM API謌先悽<E58588>堋?30<33>域裏豬ェ雍ケ<E99B8D>?

鬚晏、匁噺逶奇シ?
- 逕ィ謌キ貊。諢丞コヲ謠仙<E8ACA0>?
- 蜿ッ莉・謾ッ謖∵峩螟ァ謇ケ驥擾シ?000遽?<3F>?
- 螟憺龍莉サ蜉。蜿ッ髱<EFBDAF>霑占。<E58DA0>

ROI隶。邂<EFBFBD><EFBFBD>?

闃ら怐謌先悽<EFBFBD>堋?31 - ツ・430 = ツ・301/谺?
螯よ棡豈乗怦10谺。謇ケ驥丈ササ蜉。<E89C89><EFBDA1>
闃ら怐 = ツ・301 テ<> 10 = ツ・3,010/譛?
Redis謌先悽 = ツ・9/譛?
蜃€謾カ逶<EFBDB6> = ツ・3,001/譛?

ROI = 33,344%<25>域兜蜈・ツ?<3F>悟屓謚・ツ?,010<31>?

<EFBFBD><EFBFBD><EFBFBD> *扈楢ョコ荳主サコ隶?

譏守。ョ扈楢ョコ

髣ョ鬚假シ哺emoryQueue閭ス蜷ヲ螳梧<EFBFBD>2蟆乗慮莉サ蜉。<EFBFBD>?
遲疲。茨シ壺搆 荳崎<E88DB3>蜿ッ髱<EFBDAF>螳梧<E89EB3>

蜴溷屏<E6BAB7>?
1. SAE螳樔セ倶シ夊<EFBDBC>蜉ィ髞€<C280><EFBFBD>15蛻<35>帖譌<E5B896><EFBFBD><EFBFBD><E38DBC>
2. 2蟆乗慮莉サ蜉。蜃<EFBDA1>荵主ソ<E4B8BB>┯驕<E294AF>芦螳樔セ矩楳豈?
3. 莉サ蜉。荳「螟ア蜷取裏豕墓△螟?
4. 謌仙粥邇?< 30%<25>悟、憺<EFBDA4>?< 5%

蠑コ辜亥サコ隶ョ

蟇ケ莠手カ<EFBFBD>ソ<EFBFBD>10蛻<EFBFBD>帖逧<EFBFBD>ササ蜉。<EFBFBD>悟ソ<EFBFBD>。サ菴ソ逕ィRedis髦溷<EFBFBD><EFBFBD>?

譌カ髣エ髦亥€<C280><EFBDBC>
- < 10遘抵シ壼庄莉・逕ィMemoryQueue<75>亥酔豁・螟<EFBDA5><EFBFBD><E7828A>
- 10遘?- 10蛻<30><EFBFBD>壼サコ隶ョ逕ィRedis髦溷<E9ABA6>
- > 10蛻<30><EFBFBD>壼ソ<E5A3BC>。サ逕ィRedis髦溷<E9ABA6>
- > 1蟆乗慮<E4B997>壼シコ蛻カ隕∵アedis髦溷<E9ABA6>

螳樊命莨伜<EFBFBD>郤?

髦カ谿オ1<EFBFBD>域悽蜻ィ<EFBFBD>会シ啌edis郛灘ュ<EFBFBD>
笏懌楳 隗」蜀ウLLM謌先悽髣ョ鬚<EFBDAE>
笏披楳 蟾・菴憺㍼<E686BA><E38DBC>2螟?

髦カ谿オ2<EFBDB5>井ク句捉<E58FA5>会シ啌edis髦溷<E9ABA6>  竊?**蠢<>。サ蛛夲シ<E5A4B2>**
笏懌楳 隗」蜀ウ髟ソ莉サ蜉。蜿ッ髱<EFBDAF>諤?
笏懌楳 蟾・菴憺㍼<E686BA><E38DBC>3螟?
笏披楳 荳榊★逧<E29885>」朱勦<E69CB1><E58BA6>70%莉サ蜉。螟ア雍・邇?

<EFBFBD>統 *€譛ッ扈<EFBFBD><EFBFBD>壻クコ莉€荵?0蛻<30>帖譏ッ蛻<EFBDAF>ーエ蟯ュ<E89FAF>?

SAE螳樔セ狗シゥ螳ケ遲也払

髦ソ驥御コ全AE鮟倩ョ、遲也払<EFBFBD>?
- 譽€豬句捉譛滂シ<E6BB82>5蛻<35>帖
- 譌<><EFBFBD>㍼髦亥€<C280><EFBDBC>15蛻<35>帖
- 郛ゥ螳ケ蟒カ霑滂シ?蛻<>帖

諤サ隶。<E99AB6>?5蛻<35>帖蜷主庄閭ス郛ゥ螳?

莉サ蜉。譌カ髟ソ荳朱」朱<EFBFBD>?

莉サ蜉。譌カ髟ソ     螳樔セ矩楳豈<E6A5B3>」朱<EFBDA3>?    蟒コ隶ョ
笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€
< 1蛻<31>帖      蜃<>荵惹ク?%        蜷梧ュ・螟<EFBDA5>炊
1-5蛻<35>帖      < 5%           蜿ッ逕ィMemoryQueue
5-10蛻<30>帖     10-20%         蟒コ隶ョRedis髦溷<E9ABA6>
10-30蛻<30>帖    50-70%         蠢<>。サRedis髦溷<E9ABA6>
> 30蛻<30>帖     80-95%         蠑コ蛻カRedis髦溷<E9ABA6>

<EFBFBD>遶句叉陦悟勘

螯よ棡謔ィ諠ウ邇ー蝨ィ蟆ア豬玖ッ暮柄莉サ蜉。<EFBFBD>?

**荳肴耳闕?*<2A>夂畑MemoryQueue豬玖ッ<E78E96>1000遽?

  • 鬟朱勦<EFBFBD>?0%讎ら紫螟ア雍・
  • 豬ェ雍ケ<EFBFBD>夐㍾螟崎ー<EFBFBD>畑LLM API

謗ィ闕<EFBFBD><EFBFBD><EFBFBD>逕?00遽<30>オ玖ッ包シ<E58C85>10蛻<30><EFBFBD>?

// 髯仙宛豬玖ッ墓焚驥<E7849A>
const testLiteratures = literatures.slice(0, 100);
processLiteraturesInBackground(task.id, projectId, testLiteratures);

辟カ蜷手ァょッ滂シ?

  • 譏ッ蜷ヲ驕<EFBFBD>芦螳樔セ矩楳豈<EFBFBD><EFBFBD>
  • 莉サ蜉。譏ッ蜷ヲ螳梧紛<EFBFBD>?
  • 螯よ棡螟ア雍・<EFBFBD>檎ォ句叉謾ケ逕ィRedis髦溷<EFBFBD>

螯よ棡謔ィ蜃<EFBFBD><EFBFBD>隼騾<EFBFBD><EFBFBD><EFBFBD>

**蜿り€<E3828A>枚譯?*<2A>?

  • 04-Redis謾ケ騾<EFBDB9>螳樊命隶。蛻?md
  • 05-Redis郛灘ュ倅ク朱弌蛻礼噪蛹コ蛻ォ隸エ譏<EFBDB4>.md

**謾ケ騾<EFBDB9>鬘コ蠎?*<2A>?

  1. 笨?Redis郛灘ュ假シ域悽蜻ィ<E89CBB><EFBDA8>
  2. 笨?Redis髦溷<E9ABA6><E6BAB7>井ク句捉<E58FA5><EFBFBD>?驥咲せ
  3. 笨?豬玖ッ<E78E96>2蟆乗慮莉サ蜉。

<EFBFBD>投 *<EFBFBD>ス包シ壼ョ樣刔豬玖ッ募サコ隶?

豬玖ッ墓婿譯<EFBFBD><EFBFBD>夐ェ瑚ッemoryQueue逧<EFBFBD>ク榊庄髱<EFBFBD>諤?

# 豁・鬪、1<EFBDA4>壽署莠?000遽<30>枚迪ョ遲幃€我ササ蜉?
# 豁・鬪、2<EFBDA4>夂ュ牙セ?5蛻<35>
# 豁・鬪、3<EFBDA4>壽」€譟・莉サ蜉。迥カ諤?
#        - 螯よ棡螟ア雍・ 竊?隸∵<E99AB8>螳樔セ玖「ォ髞€豈?
#        - 螯よ棡謌仙粥 竊?霑先ー泌・ス<EFBDA5>御ク堺サ」陦ィ蜿ッ髱?

# 驥榊、肴オ玖ッ<E78E96>5谺。<E8B0BA><EFBDA1>
# - 謌仙粥邇<E7B2A5>コ碑ッ?< 30%

豬玖ッ墓婿譯<EFBFBD><EFBFBD>啌edis髦溷<EFBFBD>鬪瑚ッ<EFBFBD>

# 豁・鬪、1<EFBDA4>Κ鄂イRedis髦溷<E9ABA6>迚域悽
# 豁・鬪、2<EFBDA4>壽署莠?000遽<30>枚迪ョ遲幃€我ササ蜉?
# 豁・鬪、3<EFBDA4>壻クサ蜉ィ蛛懈ュ「SAE螳樔セ<E6A894>
# 豁・鬪、4<EFBDA4>夐㍾譁ー蜷ッ蜉ィ螳樔セ?
# 豁・鬪、5<EFBDA4>壽」€譟・莉サ蜉。譏ッ蜷ヲ閾ェ蜉ィ諱「螟?

# 鬚<>悄扈捺棡<E68DBA>?
# - 莉サ蜉。閾ェ蜉ィ諱「螟<EFBDA2> 笨?
# - 莉取妙轤ケ扈ァ扈?笨?
# - 譛€扈亥ョ梧<EFBDAE>?笨?

<EFBFBD>。」扈エ謚、閠<EFBFBD><EFBFBD> 謚€譛ッ蝗「髦? €蜷取峩譁ー<EFBFBD><EFBFBD> 2025-12-12
*蜈ウ髞ョ扈楢ョコ<EFBFBD>? MemoryQueue譌<65>豕募庄髱<E5BA84>螳梧<E89EB3>2蟆乗慮莉サ蜉。<E89C89>悟ソ<E6829F>。サ霑∫ァサ蛻ーRedis髦溷<E9ABA6>