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%)
27 KiB
Prompt邂。逅<EFBFBD>ウサ扈溷シ蜿題ョ。蛻?
*迚域悽<EFBFBD>? v1.2
*蛻帛サコ譌・譛滂シ? 2026-01-11
*譖エ譁ー譌・譛滂シ? 2026-01-12
莨伜<EFBFBD>郤ァ<EFBFBD><EFBFBD> P0<50>域<EFBFBD>ク蠢<EFBDB8>夂畑閭ス蜉幢シ? 迥カ諤<EFBFBD>シ<EFBFBD> 笨?Phase 3.5.1-3.5.5 蜈ィ驛ィ螳梧<E89EB3><E6A2A7>?00%<25>? *鬚<EFBFBD>ョ。蟾・譛滂シ? 7荳ェ蟾・菴懈律
*螳樣刔螳梧<EFBFBD><EFBFBD>? Day 1-7 蟾イ螳梧<E89EB3><E6A2A7><EFBFBD>2026-01-12<31>?
<EFBFBD>識 蠢ォ騾溷ッシ闊ェ<E9978A><EFBDAA>2026-01-11譖エ譁ー<E8AD81>?
笨?蟾イ螳梧<E89EB3><E6A2A7><EFBFBD>hase 3.5.1 - 3.5.5<EFBFBD>?
| 髦カ谿オ | 譬ク蠢<EFBFBD>コァ蜃コ | 譁<EFBFBD>サカ菴咲スョ | 螳梧<EFBFBD>譌・譛<EFBFBD> |
|---|---|---|---|
| 3.5.1 蝓コ遑隶セ譁ス | capability_schema縲∬。ィ扈捺桷縲∵揀髯舌∬ソ∫ァ? | backend/prisma/schema.prisma |
2026-01-11 |
| 3.5.2 譬ク蠢<EFBDB8>恪蜉。 | PromptService<EFBFBD>育<EFBFBD>蠎ヲ縲∵クイ譟薙∝序驥乗<EFBFBD>。鬪鯉シ<EFBFBD> | backend/src/common/prompt/ |
2026-01-11 |
| 3.5.3 邂。逅<EFBDA1>PI | 8荳ェRESTful謗・蜿」 | backend/src/common/prompt/prompt.routes.ts |
2026-01-11 |
| 3.5.4 蜑咲ォッ逡碁擇 | 邂。逅<EFBFBD>ォッ譫カ譫<EFBFBD> ̄rompt蛻苓。ィ縲∫シ冶セ大勣 | frontend-v2/src/pages/admin/ |
2026-01-11 |
| 3.5.5 荳壼苅髮<E88B85><E9ABAE> | RVW讓。蝮鈴寔謌舌∬ョ、隸∬ァ<EFBFBD>激蛹<EFBFBD> | backend/src/modules/rvw/ |
2026-01-12 笨? |
<EFBFBD><EFBFBD> Phase 3.5.5 螳梧<E89EB3>蜀<EFBFBD>ョケ<EFBDAE>?026-01-12<31>?
*RVW 讓。蝮鈴寔謌撰シ?
- 笨?editorialService.ts - 髮<><E9ABAE> PromptService<63>檎ァサ髯、譁<EFBDA4>サカ隸サ蜿?- 笨?methodologyService.ts - 髮<><E9ABAE> PromptService<63>檎ァサ髯、譁<EFBDA4>サカ隸サ蜿?- 笨?reviewWorker.ts - 莨<>騾?userId 謾ッ謖∫<E8AC96>蠎ヲ鬚<EFBDA6>ァ<EFBFBD>
- 笨?菫ョ螟<EFBDAE> ReviewTask 螟夜醗郤ヲ譚滂シ郁キィ schema 髣ョ鬚假シ? *蜈ィ讓。蝮苓ョ、隸∬ァ<EFBFBD>激蛹厄シ?
- 笨?RVW/PKB/ASL/DC 讓。蝮玲キサ蜉<EFBDBB> authenticate 荳ュ髣エ莉?- 笨?扈滉ク菴ソ逕ィ request.user?.userId<49>檎ァサ髯、謇譛?MOCK_USER_ID
- 笨?蜑咲ォッ扈滉ク菴ソ逕ィ apiClient<6E><74>xios + JWT interceptor<6F>?- 笨?蛻帛サコ
docs/04-蠑蜿題ァ<E9A18C><EFBDA7>?10-讓。蝮苓ョ、隸∬ァ<E288AC>激.md
*逡碁擇莨伜喧<EFBFBD>?
- 笨?Prompt 蛻苓。ィ讓。蝮怜<E89DAE>譏セ遉コ荳ュ譁<EFBDAD>錐遘?- 笨?迚域悽蜴<E682BD>彰蠅槫シコ<EFBDBC>域衍逵句<E980B5>螳ケ縲∝屓貊壼粥閭ス<E996AD><EFBDBD>
<EFBFBD>搭 逶ョ蠖<EFBDAE>
- 鬘ケ逶ョ讎りソー
- [髴豎ら。ョ隶、](#2-髴豎ら。ョ隶?
- [謚譛ッ譫カ譫Ь(#3-謚譛ッ譫カ譫?
- [蠑蜿題ョ。蛻綻(#4-蠑蜿題ョ。蛻?
- [謨ー謐ョ霑∫ァサ隶。蛻綻(#5-謨ー謐ョ霑∫ァサ隶。蛻<EFBDA1>)
- 譚<EFBFBD>剞隶セ隶。
- [豬玖ッ戊ョ。蛻綻(#7-豬玖ッ戊ョ。蛻<EFBDA1>)
- [鬟朱勦荳主コ泌ッケ](#8-鬟朱勦荳主コ泌ッ?
1. 鬘ケ逶ョ讎りソー
1.1 鬘ケ逶ョ逶ョ譬<EFBDAE>
譫<EFBFBD>サコ荳荳?*逕滉コァ邇ッ蠅<EFBDAF><E8A085>蠎ヲ鬚<EFBDA6>ァ育ウサ扈<EFBDBB>**<2A>悟<EFBFBD>隶ク荳謎ク壻ココ蜻假シ<E58187>rompt蟾・遞句ク医∽クエ蠎贋ク灘ョカ<EFBDAE>牙惠逕滉コァ邇ッ蠅<EFBDAF>ョ牙<EFBDAE>隹<EFBFBD>ッ柊I Prompt<70>悟ョ樒鴫<E6A892><E9B4AB>
- 笨?Prompt 荳惹サ」遐∝<E98190>遖サ<E98196>域焚謐ョ蠎灘ュ伜お<E4BC9C><E3818A>
- 笨?迚域悽邂。逅<EFBDA1>ク主屓貊夊<E8B28A>蜉?- 笨?轣ー蠎ヲ鬚<EFBDA6>ァ茨シ郁ー<E98381>ッ戊<E6888A>恚DRAFT<46>檎畑謌キ逵帰CTIVE<56>?- 笨?讓。蝮礼コァ隹<EFBDA7>ッ戊激蝗エ謗ァ蛻?- 笨?譚<>剞扈<E5899E><E68988><EFBFBD>育シ冶セ?蜿大ク<E5A4A7><EFBDB8>遖サ<E98196>?
1.2 譬ク蠢<EFBDB8>サキ蛟?
| 逞帷せ | 隗」蜀ウ譁ケ譯<EFBFBD> |
|---|---|
| 豬玖ッ慕識蠅<EFBFBD>裏豕墓ィ。諡溽悄螳樊焚謐ョ | 逕滉コァ邇ッ蠅<EFBFBD><EFBFBD>蠎ヲ鬚<EFBFBD>ァ<EFBFBD> |
| 豈乗ャ。隹<EFBFBD>紛髴謾ケ莉」遐≫<EFBFBD>驛ィ鄂イ<EFBFBD>?蛻<>帖<EFBFBD>? | 謨ー謐ョ蠎灘勘諤<EFBFBD><EFBFBD>鄂ョ<EFBFBD>檎ァ堤コァ逕滓譜 |
| 荳エ蠎贋ク灘ョカ譌<EFBFBD>豕募盾荳手ー<EFBFBD>ッ<EFBFBD> | RBAC + 蜿句・ス邂。逅<EFBDA1>阜髱「 |
| 蜿大ク<EFBFBD>錘譌<EFBFBD>豕募屓貊? | 迚域悽蜴<EFBFBD>彰 + 荳髞ョ蝗樊サ? |
1.3 豸牙所讓。蝮嶺シ伜<EFBDBC>郤?
| 莨伜<EFBFBD>郤? | 讓。蝮<EFBFBD> | Prompt謨ー驥<EFBFBD> | 螟肴揩蠎? | 迥カ諤? |
|---|---|---|---|---|
| <EFBFBD>閥 P0 | RVW | 4荳? | 箝絶ュ<EFBFBD> | 鬥匁音謗・蜈・ |
| <EFBFBD>泯 P1 | ASL | 8荳? | 箝絶ュ絶ュ絶ュ絶ュ? | 莠梧悄 |
| <EFBFBD>泯 P1 | DC | 5荳? | 箝絶ュ絶ュ絶ュ<EFBFBD> | 莠梧悄 |
| <EFBFBD>泙 P2 | PKB | 3荳? | 箝絶ュ絶ュ? | 荳画悄 |
| <EFBFBD>泙 P2 | IIT | 3荳? | 箝絶ュ絶ュ絶ュ<EFBFBD> | 荳画悄 |
| <EFBFBD>鳩 P3 | AIA | 10荳ェ譎コ閭ス菴<EFBFBD> | 箝絶ュ絶ュ? | 蠕<EFBFBD>シ蜿第ィ。蝮? |
2. 髴豎ら。ョ隶?
2.1 蟾イ遑ョ隶、髴豎?
| 髴豎る。ケ | 遑ョ隶、扈捺棡 |
|---|---|
| 莨伜<EFBFBD>謗・蜈・讓。蝮<EFBFBD> | 笨?RVW 讓。蝮怜<E89DAE>陦鯉シ瑚オー騾壼錘謇ゥ螻<EFBDA9> |
| 譚<EFBFBD>剞扈<EFBFBD><EFBFBD> | 笨?PROMPT_ENGINEER 蜿ェ閭ス郛冶セ托シ郡UPER_ADMIN 謇崎<E8AC87>蜿大ク<E5A4A7> |
| 蛻晏ァ区焚謐ョ霑∫ァサ | 笨?閾ェ蜉ィ霑∫ァサ邇ー譛画枚莉カPrompt蛻ー謨ー謐ョ蠎<EFBDAE> |
| 隹<EFBFBD>ッ戊激蝗エ | 笨?蜿ッ謖<EFBDAF>ョ壽ィ。蝮暦シ亥ヲょ宵隹<E5AEB5>ッ紐VW<56>御ク榊スア蜩喉SL<53>? |
| AIA譎コ閭ス菴? | 笨?鬚<>ョ。10荳ェ譎コ閭ス菴難シ梧悴譚・騾夊ソ⑰rompt邂。逅<EFBDA1> |
2.2 邉サ扈溽鴫迥カ
*邇ー譛臼rompt蟄伜お譁ケ蠑擾シ?
backend/prompts/
笏懌楳笏 review_editorial_system.txt # RVW - 遞ソ郤ヲ隗<EFBDA6>激諤ァ隸<EFBDA7>シ?笏懌楳笏 review_methodology_system.txt # RVW - 譁ケ豕募ュヲ隸<EFBDA6>シ?笏懌楳笏 topic_evaluation_system.txt # RVW - 騾蛾「倩ッ<E580A9>シー<EFBDBC><EFBDB0>ystem<65>?笏懌楳笏 topic_evaluation_user.txt # RVW - 騾蛾「倩ッ<E580A9>シー<EFBDBC><EFBDB0>ser<65>?笏披楳笏 asl/
笏披楳笏 screening/
笏懌楳笏 v1.0.0-mvp.txt
笏懌楳笏 v1.1.0-lenient.txt
笏懌楳笏 v1.1.0-standard.txt
笏披楳笏 v1.1.0-strict.txt
*邇ー譛芽ー<EFBFBD>畑譁ケ蠑擾シ?
// 蠖灘燕<E78198>壻サ取枚莉カ隸サ蜿<EFBDBB>
const systemPrompt = await fs.readFile(PROMPT_PATH, 'utf-8');
// 逶ョ譬<EFBDAE>シ壻サ傘romptService闔キ蜿<EFBDB7>
const systemPrompt = await promptService.get('RVW_EDITORIAL', {}, userId);
3. 謚譛ッ譫カ譫?
3.1 謨エ菴捺楔譫<E6A594><E8ADAB>?
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏? 霑占是邂。逅<EFBDA1>ォッ<EFBDAB>亥燕遶ッ<E981B6>? 笏?笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏?笏? 笏?Prompt蛻苓。ィ 笏? 笏?Prompt郛冶セ大<EFBDBE>?笏? 笏?<3F>閥 隹<>ッ募シ蜈ウ<E89C88>亥庄騾画ィ。蝮暦シ<E69AA6> 笏?笏?笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?API隹<49>畑
笆?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏? 蜷守ォッ API Layer 笏?笏? /api/admin/prompts - 邂。逅<EFBDA1>磁蜿」<E89CBF>磯怙隶、隸<EFBDA4>+譚<>剞<EFBFBD>? 笏?笏? /api/admin/prompts/debug - 隹<>ッ墓ィ。蠑丞シ蜈? 笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏? 笆?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏? PromptService<63>域<EFBFBD>ク蠢<EFBDB8>シ<EFBFBD> 笏?笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?笏? 笏?debugUsers 笏? 笏?activeCache 笏? 笏?moduleDebugMap 笏? 笏?笏? 笏?Map<userId, 笏? 笏?Map<code, 笏? 笏?Map<userId, 笏? 笏?笏? 笏? Set<module>>笏? 笏? content> 笏? 笏? Set<module>> 笏? 笏?笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?笏? 笏?笏? get(code, variables, userId) 竊?閾ェ蜉ィ轣ー蠎ヲ霍ッ逕ア 笏?笏? setDebugMode(userId, modules, enabled) 竊?讓。蝮礼コァ隹<EFBDA7>ッ? 笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏? 笆?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏? PostgreSQL (capability_schema) 笏?笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?笏? 笏?prompt_templates 笏? 笏?prompt_versions 笏? 笏?笏? 笏?- code (蜚ッ荳譬<C280>ッ<EFBFBD>) 笏? 笏?- status: DRAFT/ACTIVE/ARCHIVED 笏? 笏?笏? 笏?- module (讓。蝮<EFBDA1>) 笏? 笏?- content (Prompt蜀<74>ョケ) 笏? 笏?笏? 笏?- variables 笏? 笏?- model_config (讓。蝙句盾謨ー) 笏? 笏?笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?笏? 笏?笏? LISTEN/NOTIFY prompt_update 竊?螟壼ョ樔セ狗シ灘ュ伜酔豁? 笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?```
### 3.2 譬ク蠢<EFBDB8>焚謐ョ豬?
逕ィ謌キ隸キ豎<EFBFBD> 竊?荳壼苅讓。蝮<EFBDA1> 竊?promptService.get(code, vars, userId) 笏? 笆? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?譽譟?debugUsers 笏? 笏?+ moduleDebugMap 笏? 笏披楳笏笏笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏笏笏? 笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏エ笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏? 笏? 笆? 笆? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?隹<>ッ戊?+ 讓。蝮怜源驟<E6BA90> 笏? 笏?譎ョ騾夂畑謌?荳榊源驟? 笏? 笏披楳笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏? 笏? 笏? 笆? 笆? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?譟・隸「 DRAFT 迚域悽 笏? 笏?譟・隸「 ACTIVE 郛灘ュ<E78198> 笏? 笏披楳笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏? 笏? 笏? 笆? 笆? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?貂イ譟灘序驥剰ソ泌屓 笏? 笏?郛灘ュ俶悴蜻ス荳ュ蛻呎衍DB 笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏披楳笏笏笏笏笏笏笏笏ャ笏笏笏笏笏笏笏笏笏? 笏? 笆? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?蜈懷コ包シ夂。ャ郛也<E9839B><E4B99F> 笏? 笏?FALLBACK_PROMPTS笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?```
3.3 讓。蝮礼コァ隹<EFBDA7>ッ戊ョセ隶?
// 隹<>ッ墓ィ。蠑乗焚謐ョ扈捺桷
interface DebugState {
userId: string;
modules: Set<string>; // 'RVW', 'ASL', 'DC', 'ALL'
enabledAt: Date;
}
// 蠑蜷ッ隹<EFBDAF>ッ包シ壼宵隹<E5AEB5>ッ紐VW讓。蝮<EFBDA1>
await promptService.setDebugMode(userId, ['RVW'], true);
// 闔キ蜿鳳rompt譌カ閾ェ蜉ィ蛻、譁?const prompt = await promptService.get('RVW_EDITORIAL', vars, userId);
// 竊?霑泌屓DRAFT<46>亥屏荳コuserId蠑蜷ッ莠<EFBDAF>VW隹<57>ッ包シ?
const prompt2 = await promptService.get('ASL_SCREENING', vars, userId);
// 竊?霑泌屓ACTIVE<56>亥屏荳コuserId譛ェ蠑蜷ッASL隹<4C>ッ包シ?```
### 3.4 蜿倬㍼譬。鬪梧惻蛻カ<EFBFBD><EFBFBD>ariable Validation<EFBFBD>解氣?
**髣ョ鬚伜惻譎ッ<EFBFBD>?* 郛冶セ大勣驥悟<EFBFBD>莠<EFBFBD> `{{title}}`<EFBFBD>御ス<EFBFBD> `variables` 蟄玲ョオ豐。驟咲ス?`title`<EFBFBD>瑚ー<EFBFBD>ッ墓慮謚・髞吶?
**隗」蜀ウ譁ケ譯茨シ?*
```typescript
// 蜷守ォッ<EFBDAB>壻ソ晏ュ俶慮閾ェ蜉ィ謠仙叙蜿倬㍼
function extractVariables(content: string): string[] {
const regex = /\{\{(\w+)\}\}/g;
const variables = new Set<string>();
let match;
while ((match = regex.exec(content)) !== null) {
variables.add(match[1]);
}
return Array.from(variables);
}
// 菫晏ュ倩拷遞ソ譌カ閾ェ蜉ィ譖エ譁?variables 蟄玲ョオ
async saveDraft(templateId: number, content: string, ...) {
const extractedVars = extractVariables(content);
// 閾ェ蜉ィ譖エ譁ー讓。譚ソ逧?variables 蟄玲ョオ
await prisma.prompt_templates.update({
where: { id: templateId },
data: { variables: extractedVars },
});
// 蛻帛サコ譁ー迚域<E8BF9A>? await prisma.prompt_versions.create({
data: { template_id: templateId, content, ... }
});
}
*蜑咲ォッ<EFBFBD>夊ー<EFBFBD>ッ慕阜髱「閾ェ蜉ィ逕滓<EFBFBD>蜿倬㍼霎灘<EFBFBD>陦ィ蜊?
// PromptDebugPanel.tsx
const PromptDebugPanel = ({ variables }: { variables: string[] }) => {
const [values, setValues] = useState<Record<string, string>>({});
return (
<div className="debug-panel">
<h4><EFBFBD>統 隹<EFBFBD>ッ募序驥<EFBFBD></h4>
{variables.map(varName => (
<Form.Item key={varName} label={varName}>
<Input
placeholder={`霎灘<E99C8E> ${varName} 逧<>シ`}
value={values[varName]}
onChange={e => setValues({ ...values, [varName]: e.target.value })}
/>
</Form.Item>
))}
<Button type="primary" onClick={() => onTest(values)}>
<EFBFBD>ァェ 豬玖ッ墓クイ譟<EFBFBD>
</Button>
</div>
);
};
*譬。鬪梧慮譛コ<EFBFBD>?
| 譌カ譛コ | 蜉ィ菴<EFBFBD> |
|---|---|
| 菫晏ュ倩拷遞ソ譌? | 閾ェ蜉ィ謠仙叙蜿倬㍼<EFBFBD>梧峩譁?variables 蟄玲ョオ |
| 蜿大ク<EFBFBD><EFBFBD>? | 隴ヲ蜻奇シ壼ヲよ<EFBFBD>?DRAFT 逧<>序驥丈ク<E4B888> ACTIVE 荳榊酔<E6A68A>梧署遉?蜿倬㍼蟾イ蜿俶<E89CBF>? |
| 隹<EFBFBD>ッ墓<EFBFBD>? | 蜑咲ォッ譬ケ謐ョ variables 閾ェ蜉ィ逕滓<E98095>霎灘<E99C8E>陦ィ蜊<EFBDA8> |
| 貂イ譟捺<EFBFBD>? | 譬。鬪梧署萓帷噪蜿倬㍼譏ッ蜷ヲ螳梧紛<EFBFBD>檎シコ螟ア蛻呎鴨蜃コ譏守。ョ髞呵ッ? |
4. 蠑蜿題ョ。蛻?
4.1 諤サ菴捺慮髣エ郤?
Day 1-2: 蝓コ遑隶セ譁ス謳ュ蟒コ
Day 3: PromptService 譬ク蠢<EFBDB8>ョ樒鴫
Day 4: 邂。逅<EFBDA1>PI蠑蜿?Day 5-6: 蜑咲ォッ邂。逅<EFBDA1>阜髱「
Day 7: RVW讓。蝮鈴寔謌<E5AF94> + 遶ッ蛻ー遶ッ豬玖ッ?```
### 4.2 隸ヲ扈<EFBDA6>ササ蜉。貂<EFBDA1>黒
#### Phase 3.5.1: 蝓コ遑隶セ譁ス<E8AD81><EFBDBD>ay 1-2<>?
##### Day 1: 謨ー謐ョ蠎灘㊥螟?
- [ ] 蛻帛サコ `capability_schema` Schema
```sql
CREATE SCHEMA IF NOT EXISTS capability_schema;
-
譖エ譁ー
schema.prisma豺サ蜉<EFBDBB> Prompt 逶ク蜈ウ讓。蝙<EFBDA1>PromptStatus譫壻クセprompt_templates讓。蝙<EFBDA1>prompt_versions讓。蝙<EFBDA1>
-
謇ァ陦<EFBFBD>
prisma db push蛻帛サコ陦? -
豺サ蜉<EFBFBD> Prompt 譚<>剞蛻?
permissions陦? ```sql INSERT INTO platform_schema.permissions (code, name, description, module) VALUES ('prompt:view', '譟・逵輝rompt', '譟・逵輝rompt讓。譚ソ蛻苓。ィ蜥瑚ッヲ諠?, 'admin'), ('prompt:edit', '郛冶セ善rompt', '蛻帛サコ蜥御ソョ謾ケPrompt闕臥ィソ', 'admin'), ('prompt:debug', '隹<>ッ姫rompt', '蠑蜷ッ隹<EFBDAF>ッ墓ィ。蠑?, 'admin'), ('prompt:publish', '蜿大クケrompt', '蟆<>拷遞ソ蜿大ク<E5A4A7>クコ豁」蠑冗<E8A091>?, 'admin'); -
譖エ譁ー
role_permissions陦? - [ ] SUPER_ADMIN: prompt:view, prompt:edit, prompt:debug, prompt:publish- PROMPT_ENGINEER: prompt:view, prompt:edit, prompt:debug<75>域裏publish<73>?
Day 2: 謨ー謐ョ霑∫ァサ<EFBDA7><EFBDBB>VW讓。蝮暦シ?
-
郛門<EFBFBD>霑∫ァサ閼壽悽
scripts/migrate-prompts.ts -
霑∫ァサ RVW 讓。蝮<EFBDA1> Prompt
譁<EFBFBD>サカ Code 蜷咲ァー review_editorial_system.txt RVW_EDITORIAL 遞ソ郤ヲ隗<EFBFBD>激諤ァ隸<EFBFBD>シ? review_methodology_system.txt RVW_METHODOLOGY 譁ケ豕募ュヲ隸<EFBFBD>シ? 豕ィ<EFBFBD>啻topic_evaluation_*` 譏?騾蛾「倩ッ<E580A9>シー"蜉溯<E89C89><E6BAAF>御ク榊ア樔コ山VW螳。遞ソ讓。蝮<EFBDA1>
-
鬪瑚ッ∬ソ∫ァサ謨ー謐ョ螳梧紛諤?
Phase 3.5.2: PromptService 譬ク蠢<EFBDB8>シ<EFBFBD>ay 3<>?
-
蛻帛サコ譁<EFBFBD>サカ扈捺桷
backend/src/common/capabilities/prompt/ 笏懌楳笏 prompt.service.ts # 譬ク蠢<EFBDB8>恪蜉。 笏懌楳笏 prompt.types.ts # 邀サ蝙句ョ壻ケ<E5A3BB> 笏懌楳笏 prompt.fallbacks.ts # 蜈懷コ姫rompt 笏披楳笏 index.ts # 蟇シ蜃コ -
螳樒鴫
PromptService邀? - [ ]get(code, variables, userId)- 譬ク蠢<EFBDB8>執蜿匁婿豕<E5A9BF>setDebugMode(userId, modules, enabled)- 讓。蝮礼コァ隹<EFBDA7>ッ募シ蜈? - [ ]isDebugging(userId, module)- 譽譟・隹<EFBDA5>ッ慕憾諤? - [ ]render(template, variables)- Handlebars貂イ譟<EFBDB2>getActiveVersion(code)- 闔キ蜿泡CTIVE迚域悽<E59F9F>亥クヲ郛灘ュ假シ? - [ ]getDraftVersion(code)- 闔キ蜿縫RAFT迚域悽getFallback(code)- 闔キ蜿門<E89CBF>蠎姫romptextractVariables(content)- <20><> 莉主<E88E89>螳ケ謠仙叙蜿倬㍼蜷<E38DBC>validateVariables(content, providedVars)- <20><> 譬。鬪悟序驥丞ョ梧紛諤?
-
螳樒鴫辜ュ譖エ譁ー譛コ蛻? - [ ]
initHotReload()- 逶大成 LISTEN/NOTIFY- 謾カ蛻ー騾夂衍蜷取ク<EFBFBD>ゥ?
activeCache
- 謾カ蛻ー騾夂衍蜷取ク<EFBFBD>ゥ?
-
郛門<EFBFBD>蜈懷コ姫rompt<EFBFBD><EFBFBD>prompt.fallbacks.ts
<EFBFBD>? ```typescript export const FALLBACK_PROMPTS: Record<string, string> = { 'RVW_EDITORIAL':菴<EFBFBD>譏ッ荳菴崎オ<EFBFBD>キア逧<EFBFBD>ュヲ譛ッ譛溷<EFBFBD>郛冶セ<EFBFBD>..., 'RVW_METHODOLOGY':菴<EFBFBD>譏ッ荳菴肴婿豕募ュヲ荳灘ョカ...`, // ... };
Phase 3.5.3: 邂。逅<EFBDA1>PI<50><49>ay 4<>?
-
蛻帛サコ譁<EFBFBD>サカ扈捺桷
backend/src/modules/admin/prompt/ 笏懌楳笏 prompt.controller.ts # 謗ァ蛻カ蝎? 笏懌楳笏 prompt.routes.ts # 霍ッ逕ア螳壻ケ<E5A3BB> 笏披楳笏 prompt.schema.ts # 隸キ豎<EFBDB7>/蜩榊コ粘chema -
螳樒鴫 API 謗・蜿」
| 譁ケ豕<EFBFBD> | 霍ッ蠕<EFBFBD> | 譚<EFBFBD>剞 | 蜉溯<EFBFBD> |
|---|---|---|---|
| GET | /api/admin/prompts |
prompt:view | 闔キ蜿匁ィ。譚ソ蛻苓。ィ<EFBFBD>域髪謖∵ィ。蝮苓ソ<EFBFBD>サ、<EFBFBD><EFBFBD> |
| GET | /api/admin/prompts/:id |
prompt:view | 闔キ蜿匁ィ。譚ソ隸ヲ諠<EFBFBD>+迚域悽蜴<E682BD>彰 |
| POST | /api/admin/prompts |
prompt:edit | 蛻帛サコ譁ー讓。譚? |
| POST | /api/admin/prompts/:id/draft |
prompt:edit | 菫晏ュ倩拷遞ソ |
| POST | /api/admin/prompts/:id/publish |
prompt:publish | 蜿大ク<EFBFBD>シ<EFBFBD>RAFT竊但CTIVE<EFBFBD>? |
| POST | /api/admin/prompts/:id/rollback |
prompt:publish | 蝗樊サ壼芦謖<EFBFBD>ョ夂沿譛? |
| POST | /api/admin/prompts/debug |
prompt:debug | 蠑蜈ウ隹<EFBFBD>ッ墓ィ。蠑? |
| GET | /api/admin/prompts/debug/status |
prompt:debug | 闔キ蜿門ス灘燕隹<EFBFBD>ッ慕憾諤? |
- 豺サ蜉<EFBFBD>譚<EFBFBD>剞荳ュ髣エ莉カ譽譟?
- 豕ィ蜀瑚キッ逕ア蛻?
index.ts
Phase 3.5.4: 蜑咲ォッ邂。逅<EFBDA1>阜髱「<E9ABB1><EFBDA2>ay 5-6<>?
Day 5: 蛻苓。ィ鬘?+ 隹<>ッ募シ蜈?
-
蛻帛サコ譁<EFBFBD>サカ扈捺桷
frontend-v2/src/modules/admin/prompt/ 笏懌楳笏 pages/ 笏? 笏懌楳笏 PromptListPage.tsx # 蛻苓。ィ鬘? 笏? 笏披楳笏 PromptEditorPage.tsx # 郛冶セ鷹。? 笏懌楳笏 components/ 笏? 笏懌楳笏 PromptDebugSwitch.tsx # 隹<>ッ募シ蜈? 笏? 笏懌楳笏 PromptVersionHistory.tsx # 迚域悽蜴<E682BD>彰 笏? 笏披楳笏 PromptPreview.tsx # 鬚<>ァ育サ<E882B2>サカ 笏懌楳笏 hooks/ 笏? 笏披楳笏 usePromptApi.ts # API隹<49>畑 笏披楳笏 index.ts -
PromptListPage.tsx- 讓。譚ソ蛻苓。ィ螻慕、コ
- 讓。蝮礼ュ幃会シ<EFBFBD>VW/ASL/DC/...<2E>? - [ ] 迥カ諤∫ュ幃会シ域怏闕臥ィ?譌<>闕臥ィソ<EFBDA8><EFBDBF>
- 謳懃エ「蜉溯<EFBFBD>
-
PromptDebugSwitch.tsx- 譚<EFBFBD>剞譽譟・<EFBFBD>井サ?prompt:debug 蜿ッ隗<EFBDAF>シ? - [ ] 讓。蝮鈴画叫蝎ィ<E89D8E>亥庄螟夐会シ<E4BC9A>
- 蠑蜈ウ迥カ諤? - [ ] 蠑蜷ッ蜷取仞遉コ隴ヲ蜻頑<E89CBB>?
Day 6: 郛冶セ大勣鬘オ髱?
-
PromptEditorPage.tsx- 蝓コ譛ャ菫。諱ッ螻慕、コ<EFBFBD><EFBFBD>ode, name, module<6C>? - [ ] Prompt 蜀<>ョケ郛冶セ大勣<E5A4A7><E58BA3>onaco Editor / CodeMirror<6F>? - [ ] 蜿倬㍼閾ェ蜉ィ謠仙叙<EFBFBD>夂シ冶セ第慮螳樊慮謇ォ謠<EFBFBD>
{{xxx}}<EFBFBD>梧仞遉コ蜿倬㍼蛻苓。?<3F><> - modelConfig 郛冶セ托シ<E68998>SON譬シ蠑擾シ? - [ ] 菫晏ュ倩拷遞ソ謖蛾聴<E89BBE>郁<EFBFBD>蜉ィ譖エ譁?variables 蟄玲ョオ<EFBDAE>? - [ ] 蜿大ク<E5A4A7>潔髓ョ<E9AB93>域揀髯先而蛻カ<E89BBB>壽<EFBFBD>?prompt:publish 蛻咏ヲ∫畑<E288AB><E79591>
- 蜿倬㍼蜿俶峩隴ヲ蜻<EFBFBD><EFBFBD>壼書蟶<EFBFBD>燕譽譟・蜿倬㍼譏ッ蜷ヲ荳<EFBFBD> ACTIVE 迚域悽荳榊酔 <20><>
- 迚域悽蜴<EFBFBD>彰髱「譚ソ
- 蜿俶峩隸エ譏手セ灘<EFBFBD><EFBFBD><EFBFBD>hangelog<EFBFBD>?
- 蝓コ譛ャ菫。諱ッ螻慕、コ<EFBFBD><EFBFBD>ode, name, module<6C>? - [ ] Prompt 蜀<>ョケ郛冶セ大勣<E5A4A7><E58BA3>onaco Editor / CodeMirror<6F>? - [ ] 蜿倬㍼閾ェ蜉ィ謠仙叙<EFBFBD>夂シ冶セ第慮螳樊慮謇ォ謠<EFBFBD>
-
PromptDebugPanel.tsx<20><>- 譬ケ謐ョ variables 閾ェ蜉ィ逕滓<E98095>霎灘<E99C8E>陦ィ蜊<EFBDA8>
- "豬玖ッ墓クイ譟<EFBDB2>"謖蛾聴<E89BBE>夐「<E5A490>ァ亥序驥乗崛謐「蜷守噪謨域<E8ACA8>? - [ ] 貂イ譟鍋サ捺棡螻慕、コ
-
PromptVersionHistory.tsx- 迚域悽蛻苓。ィ
- 迚域悽蟇ケ豈<EFBFBD>
- 荳髞ョ蝗樊サ?
-
髮<EFBFBD><EFBFBD>蛻ー蟇シ闊? - [ ] 霑占是邂。逅<EFBDA1>ォッ萓ァ霎ケ譬乗キサ蜉<EFBDBB>蜈・蜿」
- 鬘カ驛ィ譬乗キサ蜉<EFBFBD>隹<EFBFBD>ッ募シ蜈?
Phase 3.5.5: RVW讓。蝮鈴寔謌撰シ<E692B0>ay 7<>?
-
謾ケ騾?
editorialService.ts// Before const systemPrompt = await fs.readFile(PROMPT_PATH, 'utf-8'); // After const systemPrompt = await promptService.get('RVW_EDITORIAL', {}, userId); -
謾ケ騾?
methodologyService.ts -
謾ケ騾<EFBFBD>蜈カ莉?RVW 逶ク蜈ウ譛榊苅
-
遶ッ蛻ー遶ッ豬玖ッ? - [ ] 譎ョ騾夂畑謌キ<E8AC8C>壻スソ逕ィ ACTIVE 迚域悽
- 隹<EFBFBD>ッ戊<EFBFBD>シ亥シ蜷ッRVW隹<EFBFBD>ッ包シ会シ壻スソ逕ィ DRAFT 迚域悽
- 隹<EFBFBD>ッ戊<EFBFBD>シ域悴蠑蜷ッRVW隹<EFBFBD>ッ包シ会シ壻スソ逕ィ ACTIVE 迚域悽
- 蜿大ク<EFBFBD>オ∫ィ具シ咼RAFT 竊?ACTIVE
- 蝗樊サ壽オ∫ィ<EFBFBD>
4.3 莉サ蜉。霍溯クェ陦?
| ID | 莉サ蜉。 | 雍溯エ」莠? | 迥カ諤? | 螳梧<EFBFBD>譌・譛<EFBFBD> |
|---|---|---|---|---|
| 3.5.1.1 | 蛻帛サコ capability_schema | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.1.2 | 譖エ譁ー schema.prisma | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.1.3 | 豺サ蜉<EFBFBD>譚<EFBFBD>剞謨ー謐ョ | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.1.4 | 郛門<EFBFBD>霑∫ァサ閼壽悽 | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.1.5 | 霑∫ァサ RVW Prompt | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.2.1 | 螳樒鴫 PromptService | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.2.2 | 螳樒鴫辜ュ譖エ譁? | - | 竢ク<EFBFBD><EFBFBD> 證らシ難シ域焔蜉ィinvalidate<74>? | - |
| 3.5.2.3 | 郛門<EFBFBD>蜈懷コ姫rompt | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.2.4 | 螳樒鴫蜿倬㍼謠仙叙 extractVariables() <20><> |
AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.2.5 | 螳樒鴫蜿倬㍼譬。鬪<EFBFBD> validateVariables() <20><> |
AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.3.1 | 螳樒鴫邂。逅<EFBFBD>PI | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.3.2 | 豺サ蜉<EFBFBD>譚<EFBFBD>剞譽譟? | - | 竢ク<EFBFBD><EFBFBD> 證らシ難シ域ウィ驥頑脂<E9A091>? | - |
| 3.5.4.0 | 謳ュ蟒コ邂。逅<EFBFBD>ォッ蝓コ遑譫カ譫<EFBFBD> | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.4.1 | 螳樒鴫蛻苓。ィ鬘? | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.4.2 | 螳樒鴫隹<EFBFBD>ッ募シ蜈? | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.4.3 | 螳樒鴫郛冶セ大勣<EFBFBD><EFBFBD>odeMirror 6 邂蛹也沿<E4B99F>榎 AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 | |
| 3.5.4.4 | 螳樒鴫隹<EFBFBD>ッ暮擇譚ソ<EFBFBD>亥序驥剰セ灘<EFBFBD>陦ィ蜊包シ解氣<EFBFBD> | AI | 笨?蟾イ螳梧<E89EB3>? | 2026-01-11 |
| 3.5.5.1 | 謾ケ騾?RVW 譛榊苅 | - | 竢?蠕<>シ蟋? | - |
| 3.5.5.2 | 遶ッ蛻ー遶ッ豬玖ッ? | - | 竢?蠕<>シ蟋? | - |
5. 謨ー謐ョ霑∫ァサ隶。蛻<EFBDA1>
5.1 RVW讓。蝮苓ソ∫ァサ<EFBDA7>育ャャ荳謇ケ<E8AC87><EFBDB9>
| 貅先枚莉? | Code | 蜷咲ァー | 讓。蝮<EFBFBD> | 迥カ諤? |
|---|---|---|---|---|
| review_editorial_system.txt | RVW_EDITORIAL | 遞ソ郤ヲ隗<EFBFBD>激諤ァ隸<EFBFBD>シ? | RVW | ACTIVE |
| review_methodology_system.txt | RVW_METHODOLOGY | 譁ケ豕募ュヲ隸<EFBFBD>シ? | RVW | ACTIVE |
豕ィ<EFBFBD>啻topic_evaluation_*` 譏?騾蛾「倩ッ<E580A9>シー"蜉溯<E89C89><E6BAAF>御ク榊ア樔コ山VW螳。遞ソ讓。蝮暦シ梧悴霑∫ァサ
5.2 ASL讓。蝮苓ソ∫ァサ<EFBDA7>育ャャ莠梧音<E6A2A7>悟セ<E6829F>ョ夲シ<E5A4B2>
| 貅先枚莉? | Code | 蜷咲ァー | 讓。蝮<EFBFBD> |
|---|---|---|---|
| v1.1.0-standard.txt | ASL_SCREENING_STANDARD | 譬<EFBFBD>「俶遭隕∫ュ幃?譬<>㊥) | ASL |
| v1.1.0-strict.txt | ASL_SCREENING_STRICT | 譬<EFBFBD>「俶遭隕∫ュ幃?荳・譬シ) | ASL |
| v1.1.0-lenient.txt | ASL_SCREENING_LENIENT | 譬<EFBFBD>「俶遭隕∫ュ幃?螳ス譚セ) | ASL |
| fulltext-screening/system_prompt.md | ASL_FULLTEXT_SYSTEM | 蜈ィ譁<EFBFBD>ュ幃?System) | ASL |
| fulltext-screening/user_prompt_template.md | ASL_FULLTEXT_USER | 蜈ィ譁<EFBFBD>ュ幃?User) | ASL |
5.3 蜈カ莉匁ィ。蝮苓ソ∫ァサ<EFBDA7>育ャャ荳画音<E794BB>悟セ<E6829F>ョ夲シ<E5A4B2>
| 讓。蝮<EFBFBD> | 鬚<EFBFBD>ョ。Prompt謨ー驥<EFBFBD> | 莨伜<EFBFBD>郤? |
|---|---|---|
| DC | 5+ | P1 |
| PKB | 3 | P2 |
| IIT | 3 | P2 |
| AIA | 10<EFBFBD>域匱閭ス菴難シ? | P3<EFBFBD>亥セ<EFBFBD>シ蜿托シ<EFBFBD> |
6. 譚<>剞隶セ隶。
6.1 譚<>剞螳壻ケ<E5A3BB>
| 譚<EFBFBD>剞 Code | 謠剰ソー | 鬟朱勦遲臥コァ |
|---|---|---|
prompt:view |
譟・逵輝rompt蛻苓。ィ蜥瑚ッヲ諠? | 菴? |
prompt:edit |
蛻帛サコ/菫ョ謾ケDRAFT迚域悽 | 荳? |
prompt:debug |
蠑蜷ッ隹<EFBFBD>ッ墓ィ。蠑? | 荳? |
prompt:publish |
蜿大クゥRAFT竊但CTIVE | *鬮? |
6.2 隗定牡譚<E789A1>剞蛻<E5899E><E89BBB>
| 隗定牡 | prompt:view | prompt:edit | prompt:debug | prompt:publish |
|---|---|---|---|---|
| SUPER_ADMIN | 笨? | 笨? | 笨? | 笨? |
| PROMPT_ENGINEER | 笨? | 笨? | 笨? | 笶? |
| HOSPITAL_ADMIN | 笶? | 笶? | 笶? | 笶? |
| PHARMA_ADMIN | 笶? | 笶? | 笶? | 笶? |
| USER | 笶? | 笶? | 笶? | 笶? |
6.3 蜈ク蝙句キ・菴懈オ?
1. Prompt蟾・遞句ク?逋サ蠖慕ウサ扈<EFBDBB>
2. 霑帛<E99C91> Prompt 邂。逅<EFBDA1>。オ髱「<E9ABB1>梧伽蛻?RVW_EDITORIAL
3. 菫ョ謾ケ蜀<EFBDB9>ョケ<EFBDAE>檎せ蜃?菫晏ュ倩拷遞ソ"
4. 蠑蜷ッ隹<EFBDAF>ッ墓ィ。蠑擾シ磯画叫 RVW 讓。蝮暦シ?5. 蛻<>困蛻?RVW 荳壼苅鬘オ髱「<E9ABB1>御ク贋シ<E8B48B>豬玖ッ慕ィソ莉?6. 鬪瑚ッ∵譜譫懶シ悟ヲよ棡OK<4F>? - 蜈ウ髣ュ隹<EFBDAD>ッ墓ィ。蠑<EFBDA1>
- 騾夂衍 雜<>コァ邂。逅<EFBDA1><E98085>?螳。譬ク
7. 雜<>コァ邂。逅<EFBDA1><E98085>?逋サ蠖包シ梧衍逵玖拷遞ソ<E9819E>檎せ蜃サ"蜿大ク<E5A4A7>"
8. 譁ー迚域悽逕滓<E98095>?```
---
## 7. 豬玖ッ戊ョ。蛻<EFBDA1>
### 7.1 蜊募<E89C8A>豬玖ッ<E78E96>
| 豬玖ッ暮。?| 隕<>尠蜀<E5B0A0>ョケ |
|--------|---------|
| PromptService.get() | 轣ー蠎ヲ霍ッ逕ア騾サ霎<EFBDBB> |
| PromptService.render() | 蜿倬㍼貂イ譟<EFBDB2> |
| PromptService.getFallback() | 蜈懷コ暮サ霎<EFBDBB> |
### 7.2 髮<><E9ABAE>豬玖ッ<E78E96>
| 豬玖ッ募惻譎ッ | 鬚<>悄扈捺棡 |
|---------|---------|
| 譎ョ騾夂畑謌キ隶ソ髣?| 霑泌屓 ACTIVE 迚域悽 |
| 隹<>ッ戊<E6888A>シ亥シ蜷ッRVW隹<57>ッ包シ芽ョソ髣?RVW Prompt | 霑泌屓 DRAFT 迚域悽 |
| 隹<>ッ戊<E6888A>シ亥シ蜷ッRVW隹<57>ッ包シ芽ョソ髣?ASL Prompt | 霑泌屓 ACTIVE 迚域悽 |
| 隹<>ッ戊<E6888A>シ域悴蠑蜷ッ隹<EFBDAF>ッ包シ芽ョソ髣ョ | 霑泌屓 ACTIVE 迚域悽 |
| 譌?ACTIVE 迚域悽譌?| 霑泌屓 FALLBACK |
| 謨ー謐ョ蠎謎ク榊庄逕ィ譌?| 霑泌屓 FALLBACK |
### 7.3 遶ッ蛻ー遶ッ豬玖ッ?
| 豬玖ッ墓オ∫ィ<E288AB> | 豁・鬪、 |
|---------|------|
| 螳梧紛郛冶セ第オ∫ィ<E288AB> | 逋サ蠖補<E8A096>譟・逵句<E980B5>陦ィ竊堤シ冶セ鯛<EFBDBE>菫晏ュ倩拷遞ソ竊貞シ蜷ッ隹<EFBDAF>ッ補<EFBDAF>鬪瑚ッ≫<EFBDAF>蜿大ク?|
| 蝗樊サ壽オ∫ィ<E288AB> | 蜿大ク<E5A4A7>漠隸ッ迚域悽竊貞屓貊壺<E8B28A>鬪瑚ッ<E7919A> |
| 譚<>剞豬玖ッ<E78E96> | PROMPT_ENGINEER 譌<>豕募書蟶<E69BB8> |
---
## 8. 鬟朱勦荳主コ泌ッ?
### 8.1 謚譛ッ鬟朱<E9AC9F>?
| 鬟朱勦 | 蠖ア蜩<EFBDB1> | 讎ら紫 | 蠎泌ッケ遲也払 |
|------|------|------|---------|
| capability_schema 蛻帛サコ螟ア雍・ | 邉サ扈滓裏豕募星蜉ィ | 菴?| 迢ャ遶鬼QL閼壽悽<E5A3BD>悟庄謇句勘菫ョ螟<EFBDAE> |
| 謨ー謐ョ蠎捺衍隸「雜<EFBDA2><E99B9C>?| 逕ィ謌キ隸キ豎ょ序諷「 | 菴?| 菴ソ逕ィ郛灘ュ<E78198> + 蜈懷コ<E687B7> |
| 螟壼ョ樔セ狗シ灘ュ倅ク堺ク閾?| 逕ィ謌キ菴馴ェ御ク堺ク閾?| 荳?| LISTEN/NOTIFY 蜷梧ュ・ |
| 隹<>ッ戊<E6888A>ッッ蜿大ク<E5A4A7>漠隸ッPrompt | 郤ソ荳顔畑謌キ蜿怜スア蜩?| 荳?| 譚<>剞蛻<E5899E>ヲサ + 迚域悽蝗樊サ<E6A88A> |
### 8.2 荳壼苅鬟朱勦
| 鬟朱勦 | 蠖ア蜩<EFBDB1> | 蠎泌ッケ遲也払 |
|------|------|---------|
| Prompt 謾ケ蜉ィ蟇シ閾エAI謨域棡荳矩剄 | 荳壼苅蜿怜スア蜩?| 轣ー蠎ヲ鬪瑚ッ<E7919A> + 蠢ォ騾溷屓貊?|
| 譚<>剞邂。逅<EFBDA1>キキ荵ア | 隸ッ謫堺ス?| 荳・譬シRBAC + 螳。隶。譌・蠢<EFBDA5> |
### 8.3 蜈懷コ慕ュ也払
```typescript
// 荳臥コァ蜈懷コ墓惻蛻カ
async get(code: string, variables: any, userId: string): Promise<string> {
try {
// Level 1: 豁」蟶ク豬∫ィ<E288AB>
return await this.getNormalFlow(code, variables, userId);
} catch (dbError) {
logger.warn('DB query failed, trying cache', { code, error: dbError });
// Level 2: 菴ソ逕ィ郛灘ュ<E78198>
const cached = this.activeCache.get(code);
if (cached) {
return this.render(cached, variables);
}
// Level 3: 遑ャ郛也<E9839B>∝<EFBFBD>蠎? logger.error('Cache miss, using fallback', { code });
return this.render(this.getFallback(code), variables);
}
}
<EFBFBD>梼 髯<>ス<EFBFBD>
A. 逶ク蜈ウ譁<EFBDB3>。」
- [Prompt邂。逅<EFBDA1>ウサ扈滉ク守<EFBDB8>蠎ヲ鬚<EFBDA6>ァ郁ョセ隶。譁ケ譯<EFBDB9>(../02-謚譛ッ隶セ隶?02-騾夂畑閭ス蜉帛ア<E5B89B>03-Prompt邂。逅<EFBDA1>ウサ扈滉ク守<EFBDB8>蠎ヲ鬚<EFBDA6>ァ郁ョセ隶。譁ケ譯?md)
- [Prompt邂。逅<EFBDA1>ウサ扈溷ソォ騾溷盾閠ゾ(../02-謚譛ッ隶セ隶?03-Prompt邂。逅<EFBDA1>ウサ扈溷ソォ騾溷盾閠?md)
- Prompt邂。逅<EFBFBD>錘蜿ー隶セ隶。
B. 莉」遐∽ス咲スョ
| 邀サ蝙<EFBFBD> | 霍ッ蠕<EFBFBD> |
|---|---|
| 蜷守ォッ譛榊苅 | backend/src/common/capabilities/prompt/ |
| 蜷守ォッAPI | backend/src/modules/admin/prompt/ |
| 蜑咲ォッ鬘オ髱「 | frontend-v2/src/modules/admin/prompt/ |
| 謨ー謐ョ蠎鉄chema | backend/prisma/schema.prisma |
| 霑∫ァサ閼壽悽 | backend/scripts/migrate-prompts.ts |
C. 蜻ス蜷崎ァ<E5B48E>激
*Prompt Code 蜻ス蜷崎ァ<E5B48E><EFBDA7><EFBFBD>?
{MODULE}_{FUNCTION}_{ROLE}
遉コ萓具シ?- RVW_EDITORIAL # RVW讓。蝮<EFBDA1>-遞ソ郤ヲ隗<EFBDA6>激諤ァ隸<EFBDA7>シ?- RVW_METHODOLOGY # RVW讓。蝮<EFBDA1>-譁ケ豕募ュヲ隸<EFBDA6>シ?- ASL_SCREENING_STANDARD # ASL讓。蝮<EFBDA1>-譬<>㊥遲幃?- AIA_AGENT_STATISTICIAN # AIA讓。蝮<EFBDA1>-扈溯ョ。蟶域匱閭ス菴<EFBDBD>
譛蜷取峩譁ー<EFBFBD><EFBFBD>2026-01-11
<EFBFBD>噫 蜃<>、<EFBFBD>・ス蠑蟋倶コ<E580B6>雛<EFBFBD>滉サ?Phase 3.5.1 隨ャ荳荳ェ莉サ蜉。蠑蟋具シ<E585B7>