@nahisaho/shikigami 1.17.8 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -476,3 +476,225 @@ workflow_phases:
|
|
|
476
476
|
shikigami-deep-research: "phase_2"
|
|
477
477
|
shikigami-consulting-framework: "phase_3"
|
|
478
478
|
shikigami-writing: "phase_4"
|
|
479
|
+
# ========================================
|
|
480
|
+
# 信頼度スコアリング(v1.18.0 NEW!)
|
|
481
|
+
# ========================================
|
|
482
|
+
confidence_scoring:
|
|
483
|
+
description: "調査結果の品質を数値化"
|
|
484
|
+
|
|
485
|
+
# スコア計算要素
|
|
486
|
+
scoring_factors:
|
|
487
|
+
source_reliability:
|
|
488
|
+
weight: 0.30
|
|
489
|
+
description: "ソースの信頼性平均"
|
|
490
|
+
calculation: "average(sources[].reliability_score)"
|
|
491
|
+
scale:
|
|
492
|
+
excellent: 0.9 # 学術機関、公的機関
|
|
493
|
+
good: 0.7 # 主要メディア、専門誌
|
|
494
|
+
moderate: 0.5 # 一般メディア、企業サイト
|
|
495
|
+
low: 0.3 # ブログ、SNS
|
|
496
|
+
unknown: 0.2 # ソース不明
|
|
497
|
+
|
|
498
|
+
data_freshness:
|
|
499
|
+
weight: 0.20
|
|
500
|
+
description: "データの鮮度"
|
|
501
|
+
calculation: "weighted_average(sources[].publication_date)"
|
|
502
|
+
scale:
|
|
503
|
+
recent: 1.0 # 3ヶ月以内
|
|
504
|
+
current: 0.8 # 1年以内
|
|
505
|
+
dated: 0.5 # 3年以内
|
|
506
|
+
old: 0.2 # 3年超
|
|
507
|
+
|
|
508
|
+
coverage:
|
|
509
|
+
weight: 0.25
|
|
510
|
+
description: "調査範囲のカバー率"
|
|
511
|
+
calculation: "covered_topics / required_topics"
|
|
512
|
+
requirements:
|
|
513
|
+
- "目的に関連するトピックをどれだけカバーしたか"
|
|
514
|
+
- "複数の視点(賛否両論)を含むか"
|
|
515
|
+
|
|
516
|
+
source_diversity:
|
|
517
|
+
weight: 0.15
|
|
518
|
+
description: "ソースの多様性"
|
|
519
|
+
calculation: "unique_source_types / total_sources"
|
|
520
|
+
source_types:
|
|
521
|
+
- "academic" # 学術論文
|
|
522
|
+
- "government" # 政府機関
|
|
523
|
+
- "news" # ニュースメディア
|
|
524
|
+
- "industry" # 業界レポート
|
|
525
|
+
- "company" # 企業公式
|
|
526
|
+
- "expert" # 専門家意見
|
|
527
|
+
|
|
528
|
+
internal_consistency:
|
|
529
|
+
weight: 0.10
|
|
530
|
+
description: "データの内部整合性"
|
|
531
|
+
calculation: "1 - contradiction_ratio"
|
|
532
|
+
checks:
|
|
533
|
+
- "数値の矛盾がないか"
|
|
534
|
+
- "主張の一貫性"
|
|
535
|
+
|
|
536
|
+
# 総合スコア計算
|
|
537
|
+
overall_calculation: |
|
|
538
|
+
overall_confidence =
|
|
539
|
+
source_reliability * 0.30 +
|
|
540
|
+
data_freshness * 0.20 +
|
|
541
|
+
coverage * 0.25 +
|
|
542
|
+
source_diversity * 0.15 +
|
|
543
|
+
internal_consistency * 0.10
|
|
544
|
+
|
|
545
|
+
# スコア閾値
|
|
546
|
+
thresholds:
|
|
547
|
+
high: 0.8 # 高信頼度(品質ゲート通過推奨)
|
|
548
|
+
medium: 0.6 # 中信頼度(条件付き通過)
|
|
549
|
+
low: 0.4 # 低信頼度(追加調査推奨)
|
|
550
|
+
insufficient: 0.2 # 不十分(ゲート通過不可)
|
|
551
|
+
|
|
552
|
+
# 表示フォーマット
|
|
553
|
+
display_format: |
|
|
554
|
+
## 📊 信頼度スコア
|
|
555
|
+
|
|
556
|
+
| 要素 | スコア | 重み |
|
|
557
|
+
|------|--------|------|
|
|
558
|
+
| ソース信頼性 | {source_reliability:.0%} | 30% |
|
|
559
|
+
| データ鮮度 | {data_freshness:.0%} | 20% |
|
|
560
|
+
| カバー率 | {coverage:.0%} | 25% |
|
|
561
|
+
| ソース多様性 | {source_diversity:.0%} | 15% |
|
|
562
|
+
| 内部整合性 | {internal_consistency:.0%} | 10% |
|
|
563
|
+
| **総合** | **{overall_confidence:.0%}** | - |
|
|
564
|
+
|
|
565
|
+
判定: {confidence_level}
|
|
566
|
+
|
|
567
|
+
# manifest.yaml への出力
|
|
568
|
+
output_to: "manifest.yaml:deep_research.confidence_score"
|
|
569
|
+
|
|
570
|
+
# ========================================
|
|
571
|
+
# 中断・再開機能(v1.18.0 NEW!)
|
|
572
|
+
# ========================================
|
|
573
|
+
checkpoint_resume:
|
|
574
|
+
description: "ワークフローの中断・再開をサポート"
|
|
575
|
+
|
|
576
|
+
# チェックポイント設定
|
|
577
|
+
checkpoint:
|
|
578
|
+
enabled: true
|
|
579
|
+
|
|
580
|
+
# 自動チェックポイント作成タイミング
|
|
581
|
+
auto_checkpoint_triggers:
|
|
582
|
+
- "phase_completion" # フェーズ完了時
|
|
583
|
+
- "gate_passed" # ゲート通過時
|
|
584
|
+
- "major_data_collected" # 主要データ収集時
|
|
585
|
+
- "user_pause_request" # ユーザーの中断要求時
|
|
586
|
+
|
|
587
|
+
# チェックポイントデータ
|
|
588
|
+
checkpoint_data:
|
|
589
|
+
workflow_state:
|
|
590
|
+
current_phase: "phase_id"
|
|
591
|
+
last_action: "action_name"
|
|
592
|
+
checkpoint_at: "ISO8601_timestamp"
|
|
593
|
+
|
|
594
|
+
progress:
|
|
595
|
+
completed_phases: ["phase_0", "phase_1"]
|
|
596
|
+
pending_phases: ["phase_2", "phase_3", "phase_4"]
|
|
597
|
+
current_step: "step_description"
|
|
598
|
+
|
|
599
|
+
collected_data:
|
|
600
|
+
sources_count: 0
|
|
601
|
+
sources_list: []
|
|
602
|
+
research_notes: []
|
|
603
|
+
|
|
604
|
+
context:
|
|
605
|
+
purpose: "true_purpose"
|
|
606
|
+
success_condition: "condition_type"
|
|
607
|
+
personas: []
|
|
608
|
+
|
|
609
|
+
# チェックポイント保存先
|
|
610
|
+
save_location: "manifest.yaml:workflow.checkpoint"
|
|
611
|
+
|
|
612
|
+
# 中断処理
|
|
613
|
+
pause:
|
|
614
|
+
# ユーザーからの中断リクエスト検出
|
|
615
|
+
detection_keywords:
|
|
616
|
+
ja:
|
|
617
|
+
- "中断"
|
|
618
|
+
- "一時停止"
|
|
619
|
+
- "後で続ける"
|
|
620
|
+
- "保存して終了"
|
|
621
|
+
- "また明日"
|
|
622
|
+
en:
|
|
623
|
+
- "pause"
|
|
624
|
+
- "stop"
|
|
625
|
+
- "continue later"
|
|
626
|
+
- "save and exit"
|
|
627
|
+
- "resume tomorrow"
|
|
628
|
+
|
|
629
|
+
# 中断時のアクション
|
|
630
|
+
on_pause:
|
|
631
|
+
- action: "save_checkpoint"
|
|
632
|
+
description: "現在の状態をチェックポイントに保存"
|
|
633
|
+
- action: "generate_summary"
|
|
634
|
+
description: "進捗サマリーを生成"
|
|
635
|
+
output: |
|
|
636
|
+
## 🔄 中断時点のサマリー
|
|
637
|
+
|
|
638
|
+
- **現在フェーズ**: {current_phase}
|
|
639
|
+
- **完了フェーズ**: {completed_phases}
|
|
640
|
+
- **収集ソース数**: {sources_count}
|
|
641
|
+
- **中断日時**: {checkpoint_at}
|
|
642
|
+
|
|
643
|
+
再開するには「続きから」「再開」と入力してください。
|
|
644
|
+
- action: "notify_user"
|
|
645
|
+
message: "チェックポイントを保存しました。後で「再開」と入力すると続きから開始できます。"
|
|
646
|
+
|
|
647
|
+
# 再開処理
|
|
648
|
+
resume:
|
|
649
|
+
# 再開リクエスト検出
|
|
650
|
+
detection_keywords:
|
|
651
|
+
ja:
|
|
652
|
+
- "再開"
|
|
653
|
+
- "続きから"
|
|
654
|
+
- "続ける"
|
|
655
|
+
- "前回の続き"
|
|
656
|
+
- "チェックポイントから"
|
|
657
|
+
en:
|
|
658
|
+
- "resume"
|
|
659
|
+
- "continue"
|
|
660
|
+
- "pick up where I left off"
|
|
661
|
+
- "from checkpoint"
|
|
662
|
+
|
|
663
|
+
# 再開時のアクション
|
|
664
|
+
on_resume:
|
|
665
|
+
- action: "load_checkpoint"
|
|
666
|
+
description: "チェックポイントから状態を復元"
|
|
667
|
+
- action: "display_context"
|
|
668
|
+
description: "中断時点のコンテキストを表示"
|
|
669
|
+
output: |
|
|
670
|
+
## 🔄 再開: {project_name}
|
|
671
|
+
|
|
672
|
+
**前回の中断時点**:
|
|
673
|
+
- フェーズ: {current_phase}
|
|
674
|
+
- 最終アクション: {last_action}
|
|
675
|
+
- 中断日時: {checkpoint_at}
|
|
676
|
+
|
|
677
|
+
**収集済みデータ**:
|
|
678
|
+
- ソース数: {sources_count}
|
|
679
|
+
- 主要な発見: {key_findings}
|
|
680
|
+
|
|
681
|
+
この状態から続けますか?(はい/いいえ)
|
|
682
|
+
- action: "resume_workflow"
|
|
683
|
+
description: "ワークフローを再開"
|
|
684
|
+
|
|
685
|
+
# 古いチェックポイントの処理
|
|
686
|
+
stale_checkpoint:
|
|
687
|
+
threshold_days: 30 # 30日以上経過
|
|
688
|
+
action: "ask_user"
|
|
689
|
+
prompt: |
|
|
690
|
+
⚠️ **古いチェックポイントを検出**
|
|
691
|
+
|
|
692
|
+
このプロジェクトは{days_since_checkpoint}日前に中断されました。
|
|
693
|
+
|
|
694
|
+
- 最終フェーズ: {current_phase}
|
|
695
|
+
- 中断日時: {checkpoint_at}
|
|
696
|
+
|
|
697
|
+
選択してください:
|
|
698
|
+
1. 続きから再開
|
|
699
|
+
2. 最初からやり直し
|
|
700
|
+
3. 新規プロジェクトとして開始
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# triage-rules.yaml
|
|
2
|
+
# v1.18.0 - 緊急度トリアージルール定義
|
|
3
|
+
# リサーチの緊急度を判定し、適切なワークフローパスを選択
|
|
4
|
+
|
|
5
|
+
version: "1.18.0"
|
|
6
|
+
|
|
7
|
+
# ========================================
|
|
8
|
+
# 緊急度レベル定義
|
|
9
|
+
# ========================================
|
|
10
|
+
urgency_levels:
|
|
11
|
+
- level: "NORMAL"
|
|
12
|
+
name: "通常"
|
|
13
|
+
description: "標準的なリサーチ(Phase 0-5 フルフロー)"
|
|
14
|
+
icon: "🟢"
|
|
15
|
+
max_duration: "無制限"
|
|
16
|
+
workflow_path: "full"
|
|
17
|
+
|
|
18
|
+
- level: "URGENT"
|
|
19
|
+
name: "緊急"
|
|
20
|
+
description: "短縮リサーチ(一部フェーズ簡略化)"
|
|
21
|
+
icon: "🟡"
|
|
22
|
+
max_duration: "1日以内"
|
|
23
|
+
workflow_path: "quick"
|
|
24
|
+
|
|
25
|
+
- level: "CRITICAL"
|
|
26
|
+
name: "超緊急"
|
|
27
|
+
description: "即時対応(要約のみ)"
|
|
28
|
+
icon: "🔴"
|
|
29
|
+
max_duration: "2時間以内"
|
|
30
|
+
workflow_path: "instant"
|
|
31
|
+
|
|
32
|
+
# ========================================
|
|
33
|
+
# 緊急度検出キーワード
|
|
34
|
+
# ========================================
|
|
35
|
+
detection_keywords:
|
|
36
|
+
URGENT:
|
|
37
|
+
ja:
|
|
38
|
+
- "急ぎ"
|
|
39
|
+
- "今日中"
|
|
40
|
+
- "明日まで"
|
|
41
|
+
- "早めに"
|
|
42
|
+
- "できるだけ早く"
|
|
43
|
+
- "ASAP"
|
|
44
|
+
- "優先的に"
|
|
45
|
+
- "1日以内"
|
|
46
|
+
en:
|
|
47
|
+
- "urgent"
|
|
48
|
+
- "asap"
|
|
49
|
+
- "by today"
|
|
50
|
+
- "by tomorrow"
|
|
51
|
+
- "quickly"
|
|
52
|
+
- "priority"
|
|
53
|
+
- "within a day"
|
|
54
|
+
|
|
55
|
+
CRITICAL:
|
|
56
|
+
ja:
|
|
57
|
+
- "今すぐ"
|
|
58
|
+
- "至急"
|
|
59
|
+
- "緊急"
|
|
60
|
+
- "超急ぎ"
|
|
61
|
+
- "この1時間"
|
|
62
|
+
- "会議前に"
|
|
63
|
+
- "すぐに回答"
|
|
64
|
+
- "概要だけ"
|
|
65
|
+
- "ざっくり"
|
|
66
|
+
en:
|
|
67
|
+
- "immediately"
|
|
68
|
+
- "right now"
|
|
69
|
+
- "critical"
|
|
70
|
+
- "within an hour"
|
|
71
|
+
- "before the meeting"
|
|
72
|
+
- "quick summary"
|
|
73
|
+
- "just an overview"
|
|
74
|
+
|
|
75
|
+
# ========================================
|
|
76
|
+
# 緊急度判定ロジック
|
|
77
|
+
# ========================================
|
|
78
|
+
triage_logic:
|
|
79
|
+
# 判定優先順位
|
|
80
|
+
evaluation_order:
|
|
81
|
+
- "explicit_request" # ユーザーが明示的に指定
|
|
82
|
+
- "keyword_detection" # キーワード検出
|
|
83
|
+
- "deadline_parsing" # 期限解析
|
|
84
|
+
- "context_inference" # コンテキスト推測
|
|
85
|
+
|
|
86
|
+
# 明示的リクエスト
|
|
87
|
+
explicit_request:
|
|
88
|
+
patterns:
|
|
89
|
+
- "緊急度: {level}"
|
|
90
|
+
- "優先度: {level}"
|
|
91
|
+
- "{level}で対応"
|
|
92
|
+
action: "use_specified_level"
|
|
93
|
+
|
|
94
|
+
# 期限解析
|
|
95
|
+
deadline_parsing:
|
|
96
|
+
patterns:
|
|
97
|
+
- regex: "(\\d+)時間以内"
|
|
98
|
+
mapping:
|
|
99
|
+
"1-2": "CRITICAL"
|
|
100
|
+
"3-8": "URGENT"
|
|
101
|
+
"9+": "NORMAL"
|
|
102
|
+
- regex: "(今日|本日|tonight)"
|
|
103
|
+
level: "URGENT"
|
|
104
|
+
- regex: "(今すぐ|immediately)"
|
|
105
|
+
level: "CRITICAL"
|
|
106
|
+
|
|
107
|
+
# デフォルト
|
|
108
|
+
default_level: "NORMAL"
|
|
109
|
+
|
|
110
|
+
# ========================================
|
|
111
|
+
# ワークフローパス定義
|
|
112
|
+
# ========================================
|
|
113
|
+
workflow_paths:
|
|
114
|
+
# 通常フロー(フル)
|
|
115
|
+
full:
|
|
116
|
+
name: "Full Research Flow"
|
|
117
|
+
description: "Phase 0-5 すべてを実行"
|
|
118
|
+
phases:
|
|
119
|
+
- "phase_0" # Project Initialization
|
|
120
|
+
- "phase_1" # Purpose Discovery
|
|
121
|
+
- "phase_2" # Deep Research
|
|
122
|
+
- "phase_3" # Framework Analysis
|
|
123
|
+
- "phase_4" # Report Writing
|
|
124
|
+
- "phase_5" # Completion
|
|
125
|
+
estimated_time: "数時間〜数日"
|
|
126
|
+
quality_level: "高"
|
|
127
|
+
|
|
128
|
+
# クイックフロー
|
|
129
|
+
quick:
|
|
130
|
+
name: "Quick Research Flow"
|
|
131
|
+
description: "簡略化されたリサーチ"
|
|
132
|
+
phases:
|
|
133
|
+
- "phase_0" # Project Initialization(必須)
|
|
134
|
+
- "phase_1_lite" # Purpose Discovery(簡略版: 質問1-2問)
|
|
135
|
+
- "phase_2" # Deep Research(通常)
|
|
136
|
+
- "phase_4_lite" # Report Writing(簡略版: 要約重視)
|
|
137
|
+
skip_phases:
|
|
138
|
+
- "phase_3" # Framework Analysis をスキップ
|
|
139
|
+
estimated_time: "2-4時間"
|
|
140
|
+
quality_level: "中"
|
|
141
|
+
limitations:
|
|
142
|
+
- "フレームワーク分析なし"
|
|
143
|
+
- "財務分析なし"
|
|
144
|
+
- "簡易レポート形式"
|
|
145
|
+
|
|
146
|
+
# 即時フロー
|
|
147
|
+
instant:
|
|
148
|
+
name: "Instant Summary Flow"
|
|
149
|
+
description: "即時要約のみ"
|
|
150
|
+
phases:
|
|
151
|
+
- "phase_0" # Project Initialization(必須)
|
|
152
|
+
- "phase_2_quick" # Quick Search(3ソース限定)
|
|
153
|
+
- "phase_4_summary" # Summary Only(要約のみ)
|
|
154
|
+
skip_phases:
|
|
155
|
+
- "phase_1" # Purpose Discovery をスキップ
|
|
156
|
+
- "phase_3" # Framework Analysis をスキップ
|
|
157
|
+
estimated_time: "30分〜1時間"
|
|
158
|
+
quality_level: "低"
|
|
159
|
+
limitations:
|
|
160
|
+
- "目的探索なし(ユーザーの言葉通りに調査)"
|
|
161
|
+
- "3ソース限定"
|
|
162
|
+
- "フレームワーク分析なし"
|
|
163
|
+
- "財務分析なし"
|
|
164
|
+
- "要約形式のみ(提言書なし)"
|
|
165
|
+
warning: |
|
|
166
|
+
⚠️ **注意**: 即時フローは品質が限定的です。
|
|
167
|
+
重要な意思決定には、後日フルリサーチを推奨します。
|
|
168
|
+
|
|
169
|
+
# ========================================
|
|
170
|
+
# フェーズ簡略版定義
|
|
171
|
+
# ========================================
|
|
172
|
+
lite_phases:
|
|
173
|
+
phase_1_lite:
|
|
174
|
+
name: "Purpose Discovery Lite"
|
|
175
|
+
description: "簡略化された目的探索"
|
|
176
|
+
max_questions: 2
|
|
177
|
+
required_info:
|
|
178
|
+
- "基本目的"
|
|
179
|
+
- "期待する成果形式"
|
|
180
|
+
skip:
|
|
181
|
+
- "5 Whys分析"
|
|
182
|
+
- "JTBD分析"
|
|
183
|
+
- "詳細ペルソナ収集"
|
|
184
|
+
|
|
185
|
+
phase_2_quick:
|
|
186
|
+
name: "Quick Search"
|
|
187
|
+
description: "限定的な情報収集"
|
|
188
|
+
max_sources: 3
|
|
189
|
+
search_depth: "shallow"
|
|
190
|
+
skip:
|
|
191
|
+
- "ソース批判的評価"
|
|
192
|
+
- "日英並列検索"
|
|
193
|
+
- "アーカイブフォールバック"
|
|
194
|
+
|
|
195
|
+
phase_4_lite:
|
|
196
|
+
name: "Report Writing Lite"
|
|
197
|
+
description: "簡略化されたレポート"
|
|
198
|
+
template: "quick-summary-template.md"
|
|
199
|
+
sections:
|
|
200
|
+
- "要約(300字以内)"
|
|
201
|
+
- "主要な発見(3点)"
|
|
202
|
+
- "推奨アクション(1-2点)"
|
|
203
|
+
- "参考ソース"
|
|
204
|
+
skip:
|
|
205
|
+
- "エグゼクティブサマリー"
|
|
206
|
+
- "詳細分析"
|
|
207
|
+
- "財務予測"
|
|
208
|
+
- "リスク分析"
|
|
209
|
+
|
|
210
|
+
phase_4_summary:
|
|
211
|
+
name: "Summary Only"
|
|
212
|
+
description: "要約のみの出力"
|
|
213
|
+
template: "instant-summary-template.md"
|
|
214
|
+
sections:
|
|
215
|
+
- "結論(100字以内)"
|
|
216
|
+
- "根拠(3点)"
|
|
217
|
+
- "ソースURL"
|
|
218
|
+
max_length: 500 # 文字
|
|
219
|
+
|
|
220
|
+
# ========================================
|
|
221
|
+
# トリアージ確認プロンプト
|
|
222
|
+
# ========================================
|
|
223
|
+
triage_prompts:
|
|
224
|
+
# 緊急度確認
|
|
225
|
+
confirm_urgency:
|
|
226
|
+
trigger: "urgency_detected"
|
|
227
|
+
prompt: |
|
|
228
|
+
⏰ **緊急度の確認**
|
|
229
|
+
|
|
230
|
+
「{detected_keyword}」というキーワードから、{detected_level}のリサーチと判断しました。
|
|
231
|
+
|
|
232
|
+
| フロー | 所要時間 | 品質 | 制限事項 |
|
|
233
|
+
|--------|---------|------|---------|
|
|
234
|
+
| 🟢 通常 | 数時間〜 | 高 | なし |
|
|
235
|
+
| 🟡 緊急 | 2-4時間 | 中 | 分析簡略化 |
|
|
236
|
+
| 🔴 超緊急 | 30分〜1時間 | 低 | 要約のみ |
|
|
237
|
+
|
|
238
|
+
どのフローで進めますか?(通常/緊急/超緊急)
|
|
239
|
+
|
|
240
|
+
# 緊急フロー警告
|
|
241
|
+
quick_flow_warning:
|
|
242
|
+
trigger: "quick_flow_selected"
|
|
243
|
+
prompt: |
|
|
244
|
+
⚠️ **クイックフロー選択**
|
|
245
|
+
|
|
246
|
+
以下の制限があります:
|
|
247
|
+
- フレームワーク分析(SWOT等)はスキップ
|
|
248
|
+
- 財務分析はスキップ
|
|
249
|
+
- 簡易レポート形式
|
|
250
|
+
|
|
251
|
+
続行しますか?
|
|
252
|
+
|
|
253
|
+
# 即時フロー警告
|
|
254
|
+
instant_flow_warning:
|
|
255
|
+
trigger: "instant_flow_selected"
|
|
256
|
+
prompt: |
|
|
257
|
+
🔴 **超緊急フロー選択**
|
|
258
|
+
|
|
259
|
+
以下の制限があります:
|
|
260
|
+
- 目的探索なし(ご依頼通りに調査)
|
|
261
|
+
- 3ソース限定
|
|
262
|
+
- 要約形式のみ
|
|
263
|
+
- **重要な意思決定には不向き**
|
|
264
|
+
|
|
265
|
+
後日、フルリサーチを推奨します。続行しますか?
|
|
266
|
+
|
|
267
|
+
# ========================================
|
|
268
|
+
# トリアージ後のアクション
|
|
269
|
+
# ========================================
|
|
270
|
+
post_triage_actions:
|
|
271
|
+
- action: "log_triage_decision"
|
|
272
|
+
log_to: "manifest.yaml:workflow.triage"
|
|
273
|
+
fields:
|
|
274
|
+
- "detected_urgency"
|
|
275
|
+
- "confirmed_urgency"
|
|
276
|
+
- "selected_workflow_path"
|
|
277
|
+
- "estimated_completion"
|
|
278
|
+
|
|
279
|
+
- action: "adjust_quality_gates"
|
|
280
|
+
description: "緊急度に応じて品質ゲートを調整"
|
|
281
|
+
adjustments:
|
|
282
|
+
URGENT:
|
|
283
|
+
gate_1_to_2:
|
|
284
|
+
required_conditions:
|
|
285
|
+
- "G1-2-001" # 真の目的のみ(対話回数緩和)
|
|
286
|
+
gate_2_to_3:
|
|
287
|
+
required_conditions:
|
|
288
|
+
- "G2-3-001" # 3ソースのみ
|
|
289
|
+
CRITICAL:
|
|
290
|
+
skip_gates:
|
|
291
|
+
- "gate_1_to_2"
|
|
292
|
+
- "gate_3_to_4"
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# workflow-gates.yaml
|
|
2
|
+
# v1.18.0 - 品質ゲート(Phase Gate)定義
|
|
3
|
+
# 各フェーズ間の遷移条件と承認プロセスを定義
|
|
4
|
+
|
|
5
|
+
version: "1.18.0"
|
|
6
|
+
|
|
7
|
+
# ========================================
|
|
8
|
+
# 品質ゲート概要
|
|
9
|
+
# ========================================
|
|
10
|
+
description: |
|
|
11
|
+
各フェーズ間の品質ゲートを定義。
|
|
12
|
+
ゲート条件を満たさない限り、次フェーズに進めない。
|
|
13
|
+
ユーザー承認が必要なゲートも定義。
|
|
14
|
+
|
|
15
|
+
# ========================================
|
|
16
|
+
# Gate 0→1: プロジェクト初期化 → 目的探索
|
|
17
|
+
# ========================================
|
|
18
|
+
gate_0_to_1:
|
|
19
|
+
name: "Project Initialization Gate"
|
|
20
|
+
from_phase: "phase_0"
|
|
21
|
+
to_phase: "phase_1"
|
|
22
|
+
|
|
23
|
+
# 必須条件(すべて満たす必要あり)
|
|
24
|
+
required_conditions:
|
|
25
|
+
- id: "G0-1-001"
|
|
26
|
+
name: "プロジェクトフォルダ存在"
|
|
27
|
+
check: "projects/pjXXXXX_*/ directory exists"
|
|
28
|
+
auto_check: true
|
|
29
|
+
- id: "G0-1-002"
|
|
30
|
+
name: "manifest.yaml存在"
|
|
31
|
+
check: "manifest.yaml file exists in project folder"
|
|
32
|
+
auto_check: true
|
|
33
|
+
- id: "G0-1-003"
|
|
34
|
+
name: "ナレッジ継承完了"
|
|
35
|
+
check: "manifest.yaml:knowledge_inheritance.status == 'complete'"
|
|
36
|
+
auto_check: true
|
|
37
|
+
|
|
38
|
+
# ユーザー承認(不要)
|
|
39
|
+
user_approval_required: false
|
|
40
|
+
|
|
41
|
+
# ゲート通過時のアクション
|
|
42
|
+
on_pass:
|
|
43
|
+
- action: "log"
|
|
44
|
+
message: "✅ Gate 0→1 通過: プロジェクト初期化完了"
|
|
45
|
+
- action: "update_manifest"
|
|
46
|
+
field: "workflow.gates.gate_0_to_1"
|
|
47
|
+
value: "passed"
|
|
48
|
+
|
|
49
|
+
# ゲート失敗時のアクション
|
|
50
|
+
on_fail:
|
|
51
|
+
- action: "notify_user"
|
|
52
|
+
message: "❌ プロジェクト初期化が完了していません。npx shikigami new を実行してください。"
|
|
53
|
+
|
|
54
|
+
# ========================================
|
|
55
|
+
# Gate 1→2: 目的探索 → Deep Research
|
|
56
|
+
# ========================================
|
|
57
|
+
gate_1_to_2:
|
|
58
|
+
name: "Purpose Discovery Gate"
|
|
59
|
+
from_phase: "phase_1"
|
|
60
|
+
to_phase: "phase_2"
|
|
61
|
+
|
|
62
|
+
required_conditions:
|
|
63
|
+
- id: "G1-2-001"
|
|
64
|
+
name: "真の目的定義済み"
|
|
65
|
+
check: "manifest.yaml:purpose_discovery.true_purpose != null"
|
|
66
|
+
auto_check: true
|
|
67
|
+
- id: "G1-2-002"
|
|
68
|
+
name: "調査計画策定済み"
|
|
69
|
+
check: "manifest.yaml:purpose_discovery.research_plan != null"
|
|
70
|
+
auto_check: true
|
|
71
|
+
- id: "G1-2-003"
|
|
72
|
+
name: "成功条件明確化"
|
|
73
|
+
check: "manifest.yaml:purpose_discovery.success_condition != null"
|
|
74
|
+
auto_check: true
|
|
75
|
+
- id: "G1-2-004"
|
|
76
|
+
name: "最低3回の対話完了"
|
|
77
|
+
check: "manifest.yaml:purpose_discovery.dialog_count >= 3"
|
|
78
|
+
auto_check: true
|
|
79
|
+
|
|
80
|
+
# ユーザー承認(必須)
|
|
81
|
+
user_approval_required: true
|
|
82
|
+
approval_prompt: |
|
|
83
|
+
📋 **Phase 1 完了確認**
|
|
84
|
+
|
|
85
|
+
以下の内容でリサーチを開始してよろしいですか?
|
|
86
|
+
|
|
87
|
+
- **真の目的**: {true_purpose}
|
|
88
|
+
- **成功条件**: {success_condition.type}
|
|
89
|
+
- **調査範囲**: {research_plan.scope}
|
|
90
|
+
|
|
91
|
+
「承認」または「修正」を選択してください。
|
|
92
|
+
|
|
93
|
+
on_pass:
|
|
94
|
+
- action: "log"
|
|
95
|
+
message: "✅ Gate 1→2 通過: 目的探索完了、ユーザー承認済み"
|
|
96
|
+
- action: "update_manifest"
|
|
97
|
+
field: "workflow.gates.gate_1_to_2"
|
|
98
|
+
value: "passed"
|
|
99
|
+
|
|
100
|
+
on_fail:
|
|
101
|
+
- action: "notify_user"
|
|
102
|
+
message: "❌ 目的探索が不完全です。追加の質問が必要です。"
|
|
103
|
+
|
|
104
|
+
# ========================================
|
|
105
|
+
# Gate 2→3: Deep Research → Framework Analysis
|
|
106
|
+
# ========================================
|
|
107
|
+
gate_2_to_3:
|
|
108
|
+
name: "Deep Research Gate"
|
|
109
|
+
from_phase: "phase_2"
|
|
110
|
+
to_phase: "phase_3"
|
|
111
|
+
|
|
112
|
+
required_conditions:
|
|
113
|
+
- id: "G2-3-001"
|
|
114
|
+
name: "最低3ソース収集"
|
|
115
|
+
check: "manifest.yaml:deep_research.sources.length >= 3"
|
|
116
|
+
auto_check: true
|
|
117
|
+
- id: "G2-3-002"
|
|
118
|
+
name: "ソース信頼性評価済み"
|
|
119
|
+
check: "manifest.yaml:deep_research.source_quality != null"
|
|
120
|
+
auto_check: true
|
|
121
|
+
- id: "G2-3-003"
|
|
122
|
+
name: "research-summary作成済み"
|
|
123
|
+
check: "research/research-summary-*.md exists"
|
|
124
|
+
auto_check: true
|
|
125
|
+
- id: "G2-3-004"
|
|
126
|
+
name: "信頼度スコア60%以上"
|
|
127
|
+
check: "manifest.yaml:deep_research.confidence_score >= 0.6"
|
|
128
|
+
auto_check: true
|
|
129
|
+
|
|
130
|
+
user_approval_required: false
|
|
131
|
+
|
|
132
|
+
on_pass:
|
|
133
|
+
- action: "log"
|
|
134
|
+
message: "✅ Gate 2→3 通過: Deep Research完了"
|
|
135
|
+
- action: "update_manifest"
|
|
136
|
+
field: "workflow.gates.gate_2_to_3"
|
|
137
|
+
value: "passed"
|
|
138
|
+
|
|
139
|
+
on_fail:
|
|
140
|
+
- action: "notify_user"
|
|
141
|
+
message: "❌ 調査が不十分です。追加の情報収集が必要です。"
|
|
142
|
+
- action: "suggest_action"
|
|
143
|
+
suggestions:
|
|
144
|
+
- "追加のソースを検索"
|
|
145
|
+
- "信頼性の低いソースを再評価"
|
|
146
|
+
|
|
147
|
+
# ========================================
|
|
148
|
+
# Gate 3→4: Framework Analysis → Report Writing
|
|
149
|
+
# ========================================
|
|
150
|
+
gate_3_to_4:
|
|
151
|
+
name: "Framework Analysis Gate"
|
|
152
|
+
from_phase: "phase_3"
|
|
153
|
+
to_phase: "phase_4"
|
|
154
|
+
|
|
155
|
+
required_conditions:
|
|
156
|
+
- id: "G3-4-001"
|
|
157
|
+
name: "フレームワーク1つ以上適用"
|
|
158
|
+
check: "manifest.yaml:framework_analysis.frameworks.length >= 1"
|
|
159
|
+
auto_check: true
|
|
160
|
+
- id: "G3-4-002"
|
|
161
|
+
name: "数値データ検証済み"
|
|
162
|
+
check: "manifest.yaml:framework_analysis.numerical_validation == true"
|
|
163
|
+
auto_check: true
|
|
164
|
+
- id: "G3-4-003"
|
|
165
|
+
name: "財務分析完了(該当時)"
|
|
166
|
+
check: "manifest.yaml:framework_analysis.financial_analysis != null OR !requires_financial"
|
|
167
|
+
auto_check: true
|
|
168
|
+
|
|
169
|
+
user_approval_required: false
|
|
170
|
+
|
|
171
|
+
on_pass:
|
|
172
|
+
- action: "log"
|
|
173
|
+
message: "✅ Gate 3→4 通過: Framework Analysis完了"
|
|
174
|
+
- action: "update_manifest"
|
|
175
|
+
field: "workflow.gates.gate_3_to_4"
|
|
176
|
+
value: "passed"
|
|
177
|
+
|
|
178
|
+
on_fail:
|
|
179
|
+
- action: "notify_user"
|
|
180
|
+
message: "❌ フレームワーク分析が不完全です。"
|
|
181
|
+
|
|
182
|
+
# ========================================
|
|
183
|
+
# Gate 4→5: Report Writing → Completion
|
|
184
|
+
# ========================================
|
|
185
|
+
gate_4_to_5:
|
|
186
|
+
name: "Report Quality Gate"
|
|
187
|
+
from_phase: "phase_4"
|
|
188
|
+
to_phase: "phase_5"
|
|
189
|
+
|
|
190
|
+
required_conditions:
|
|
191
|
+
- id: "G4-5-001"
|
|
192
|
+
name: "レポートファイル存在"
|
|
193
|
+
check: "reports/*.md exists"
|
|
194
|
+
auto_check: true
|
|
195
|
+
- id: "G4-5-002"
|
|
196
|
+
name: "数値整合性チェック合格"
|
|
197
|
+
check: "manifest.yaml:report_writing.quality_checks.consistency_check == 'passed'"
|
|
198
|
+
auto_check: true
|
|
199
|
+
- id: "G4-5-003"
|
|
200
|
+
name: "サマリー整合性チェック合格"
|
|
201
|
+
check: "manifest.yaml:report_writing.quality_checks.executive_sync == 'passed'"
|
|
202
|
+
auto_check: true
|
|
203
|
+
- id: "G4-5-004"
|
|
204
|
+
name: "引用ソース完備"
|
|
205
|
+
check: "all_claims_have_citations == true"
|
|
206
|
+
auto_check: true
|
|
207
|
+
|
|
208
|
+
# ユーザー承認(必須)
|
|
209
|
+
user_approval_required: true
|
|
210
|
+
approval_prompt: |
|
|
211
|
+
📋 **レポート完了確認**
|
|
212
|
+
|
|
213
|
+
レポートが完成しました。内容をご確認ください。
|
|
214
|
+
|
|
215
|
+
- **レポートファイル**: {report_path}
|
|
216
|
+
- **品質チェック**: {quality_check_summary}
|
|
217
|
+
- **信頼度スコア**: {confidence_score}%
|
|
218
|
+
|
|
219
|
+
「承認」→ 完了 / 「修正」→ 改訂サイクルへ
|
|
220
|
+
|
|
221
|
+
on_pass:
|
|
222
|
+
- action: "log"
|
|
223
|
+
message: "✅ Gate 4→5 通過: レポート承認済み"
|
|
224
|
+
- action: "update_manifest"
|
|
225
|
+
field: "workflow.gates.gate_4_to_5"
|
|
226
|
+
value: "passed"
|
|
227
|
+
|
|
228
|
+
on_fail:
|
|
229
|
+
- action: "start_revision_cycle"
|
|
230
|
+
message: "改訂サイクルを開始します"
|
|
231
|
+
|
|
232
|
+
# ========================================
|
|
233
|
+
# フィードバック・改訂ループ
|
|
234
|
+
# ========================================
|
|
235
|
+
feedback_loop:
|
|
236
|
+
description: "ユーザーフィードバックに基づく改訂サイクル"
|
|
237
|
+
|
|
238
|
+
trigger_conditions:
|
|
239
|
+
- "user_requests_revision"
|
|
240
|
+
- "gate_4_to_5.user_approval == 'revision'"
|
|
241
|
+
|
|
242
|
+
max_iterations: 5 # 最大改訂回数
|
|
243
|
+
|
|
244
|
+
revision_workflow:
|
|
245
|
+
- step: "collect_feedback"
|
|
246
|
+
action: "ユーザーから具体的な修正要求を収集"
|
|
247
|
+
prompt: |
|
|
248
|
+
📝 **修正リクエスト**
|
|
249
|
+
|
|
250
|
+
どの部分を修正しますか?
|
|
251
|
+
1. 内容の追加・削除
|
|
252
|
+
2. 数値・データの修正
|
|
253
|
+
3. 表現・トーンの調整
|
|
254
|
+
4. 構成の変更
|
|
255
|
+
5. その他
|
|
256
|
+
|
|
257
|
+
- step: "categorize_feedback"
|
|
258
|
+
action: "フィードバックを分類"
|
|
259
|
+
categories:
|
|
260
|
+
- "content_change" # 内容変更
|
|
261
|
+
- "data_correction" # データ修正
|
|
262
|
+
- "tone_adjustment" # トーン調整
|
|
263
|
+
- "structure_change" # 構成変更
|
|
264
|
+
- "minor_fix" # 軽微な修正
|
|
265
|
+
|
|
266
|
+
- step: "apply_revision"
|
|
267
|
+
action: "修正を適用"
|
|
268
|
+
return_to: "phase_4" # レポート作成フェーズに戻る
|
|
269
|
+
|
|
270
|
+
- step: "re_quality_check"
|
|
271
|
+
action: "品質チェックを再実行"
|
|
272
|
+
|
|
273
|
+
- step: "present_revised_report"
|
|
274
|
+
action: "修正後のレポートを提示"
|
|
275
|
+
return_to: "gate_4_to_5" # 再度承認ゲートへ
|
|
276
|
+
|
|
277
|
+
tracking:
|
|
278
|
+
- "revision_count"
|
|
279
|
+
- "feedback_history"
|
|
280
|
+
- "changes_applied"
|
|
281
|
+
|
|
282
|
+
# ========================================
|
|
283
|
+
# ゲート統計・ダッシュボード
|
|
284
|
+
# ========================================
|
|
285
|
+
gate_dashboard:
|
|
286
|
+
enabled: true
|
|
287
|
+
|
|
288
|
+
display_format: |
|
|
289
|
+
## 🚦 品質ゲート状況
|
|
290
|
+
|
|
291
|
+
| Gate | 状態 | 通過日時 |
|
|
292
|
+
|------|------|---------|
|
|
293
|
+
| Gate 0→1 | {gate_0_to_1_status} | {gate_0_to_1_time} |
|
|
294
|
+
| Gate 1→2 | {gate_1_to_2_status} | {gate_1_to_2_time} |
|
|
295
|
+
| Gate 2→3 | {gate_2_to_3_status} | {gate_2_to_3_time} |
|
|
296
|
+
| Gate 3→4 | {gate_3_to_4_status} | {gate_3_to_4_time} |
|
|
297
|
+
| Gate 4→5 | {gate_4_to_5_status} | {gate_4_to_5_time} |
|
|
298
|
+
|
|
299
|
+
status_icons:
|
|
300
|
+
passed: "✅"
|
|
301
|
+
pending: "🔄"
|
|
302
|
+
failed: "❌"
|
|
303
|
+
skipped: "⏭️"
|
package/AGENTS.md
CHANGED
|
@@ -27,9 +27,12 @@
|
|
|
27
27
|
├─────────────────────────────────────────────────────────────┤
|
|
28
28
|
│ ステップ4: ナレッジ継承(過去レポート検索) │
|
|
29
29
|
├─────────────────────────────────────────────────────────────┤
|
|
30
|
-
│ ステップ5:
|
|
30
|
+
│ ステップ5: ✨ プロンプト最適化(Phase 0.5) │
|
|
31
|
+
│ AIが元プロンプトを添削・最適化→表示→承認 │
|
|
31
32
|
├─────────────────────────────────────────────────────────────┤
|
|
32
|
-
│ ステップ6:
|
|
33
|
+
│ ステップ6: 目的探索(1問1答形式で真の目的を探る) │
|
|
34
|
+
├─────────────────────────────────────────────────────────────┤
|
|
35
|
+
│ ステップ7: ここでようやくWeb検索・調査を開始してよい │
|
|
33
36
|
└─────────────────────────────────────────────────────────────┘
|
|
34
37
|
```
|
|
35
38
|
|
|
@@ -76,8 +79,10 @@ Phase 0: Project Initialization(必須)← 最初に必ず実行
|
|
|
76
79
|
↓ npx shikigami new <ProjectName> を実行
|
|
77
80
|
Phase 0-1: ナレッジ継承
|
|
78
81
|
↓ 関連する過去レポートを検索・継承
|
|
82
|
+
Phase 0.5: Prompt Refinement(プロンプト最適化)← v1.19.0 NEW!
|
|
83
|
+
↓ AIがプロンプトを添削・最適化→表示→承認
|
|
79
84
|
Phase 1: Purpose Discovery(目的探索)
|
|
80
|
-
↓
|
|
85
|
+
↓ 1問1答形式で真の目的を発見
|
|
81
86
|
Phase 2: Deep Research(深層リサーチ)← ここでようやく調査開始
|
|
82
87
|
↓ Think→Search→Report→Actionサイクル
|
|
83
88
|
Phase 3: Framework Analysis(フレームワーク分析)
|
|
@@ -98,22 +103,120 @@ Phase 5: Completion(完了)
|
|
|
98
103
|
| **⛔ 禁止** | ハイフン、スペース、日本語をプロジェクト名に含めること |
|
|
99
104
|
| **⛔ 禁止** | プロジェクト作成前にsearchツールを使用すること |
|
|
100
105
|
|
|
106
|
+
### 2.5. 構造化プロンプト生成ルール(Phase 0.5)- v1.19.0 NEW!
|
|
107
|
+
|
|
108
|
+
**Phase 0(プロジェクト作成)完了後、Phase 1の前に必ず構造化プロンプトを生成し、ユーザー確認を得ること。**
|
|
109
|
+
|
|
110
|
+
#### ⚠️ Phase 0.5の必須行動
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
[Phase 0完了: プロジェクトフォルダ作成済み、ナレッジ継承完了]
|
|
114
|
+
↓
|
|
115
|
+
[Phase 0.5開始: 構造化プロンプト生成]
|
|
116
|
+
↓
|
|
117
|
+
1️⃣ 元のプロンプトを分析(曖昧さ検出、不足情報特定)
|
|
118
|
+
↓
|
|
119
|
+
2️⃣ 6要素に構造化(PURPOSE/TARGET/SCOPE/TIMELINE/CONSTRAINTS/DELIVERABLES)
|
|
120
|
+
↓
|
|
121
|
+
3️⃣ 構造化プロンプトを表示
|
|
122
|
+
↓
|
|
123
|
+
4️⃣ ユーザーに確認「このプロンプトでよろしいですか?」
|
|
124
|
+
↓
|
|
125
|
+
[承認] → Phase 1へ
|
|
126
|
+
[修正] → 該当要素を修正して再表示
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### 構造化プロンプトの6要素(必須)
|
|
130
|
+
|
|
131
|
+
| 要素 | 日本語 | 説明 | 例 |
|
|
132
|
+
|------|--------|------|-----|
|
|
133
|
+
| **PURPOSE** | 目的 | 何を判断/決定したいか | 「レアメタル市場への新規参入可否を判断」 |
|
|
134
|
+
| **TARGET** | 対象 | 何について/誰について調査するか | 「リチウム、コバルト、ニッケルの3種」 |
|
|
135
|
+
| **SCOPE** | 範囲 | 調査の深さ・広さ | 「国内市場中心、過去3年〜今後5年予測」 |
|
|
136
|
+
| **TIMELINE** | 時間軸 | いつまでの情報か、期限 | 「2023-2028年、レポート期限: 1週間」 |
|
|
137
|
+
| **CONSTRAINTS** | 制約 | 調査の制限事項 | 「予算上限500万円、競合A社は除外」 |
|
|
138
|
+
| **DELIVERABLES** | 成果物 | 期待するアウトプット | 「参入判断レポート、リスク評価表、投資試算」 |
|
|
139
|
+
|
|
140
|
+
#### 構造化プロンプトの表示フォーマット(必ずこの形式で表示)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
144
|
+
✨ 構造化プロンプトを生成しました
|
|
145
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
146
|
+
|
|
147
|
+
📝 元のプロンプト:
|
|
148
|
+
「{original_prompt}」
|
|
149
|
+
|
|
150
|
+
⬇️ 構造化後 ⬇️
|
|
151
|
+
|
|
152
|
+
┌─────────────────────────────────────────────────────────┐
|
|
153
|
+
│ 📐 構造化プロンプト │
|
|
154
|
+
├─────────────────────────────────────────────────────────┤
|
|
155
|
+
│ 🎯 PURPOSE(目的): │
|
|
156
|
+
│ {purpose} │
|
|
157
|
+
│ │
|
|
158
|
+
│ 📦 TARGET(調査対象): │
|
|
159
|
+
│ {target} │
|
|
160
|
+
│ │
|
|
161
|
+
│ 📏 SCOPE(調査範囲): │
|
|
162
|
+
│ {scope} │
|
|
163
|
+
│ │
|
|
164
|
+
│ ⏰ TIMELINE(時間軸): │
|
|
165
|
+
│ {timeline} │
|
|
166
|
+
│ │
|
|
167
|
+
│ 🚫 CONSTRAINTS(制約条件): │
|
|
168
|
+
│ {constraints} │
|
|
169
|
+
│ │
|
|
170
|
+
│ 📄 DELIVERABLES(期待する成果物): │
|
|
171
|
+
│ {deliverables} │
|
|
172
|
+
└─────────────────────────────────────────────────────────┘
|
|
173
|
+
|
|
174
|
+
📊 補完した要素:
|
|
175
|
+
• {補完した要素1とその理由}
|
|
176
|
+
• {補完した要素2とその理由}
|
|
177
|
+
|
|
178
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
179
|
+
❓ このプロンプトでよろしいですか?
|
|
180
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
181
|
+
[はい/承認] → Phase 1(目的深掘り)へ進みます
|
|
182
|
+
[修正] → 修正したい箇所をお知らせください
|
|
183
|
+
例: 「TARGETをリチウムのみに絞りたい」
|
|
184
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
#### ユーザー確認フェーズのルール
|
|
188
|
+
|
|
189
|
+
| ルール | 説明 |
|
|
190
|
+
|--------|------|
|
|
191
|
+
| **必須表示** | 構造化プロンプトは必ず全6要素を表示する |
|
|
192
|
+
| **補完明示** | AIが推測・補完した要素は「(推測)」と明記する |
|
|
193
|
+
| **確認必須** | ユーザーの明示的な承認なしにPhase 1へ進まない |
|
|
194
|
+
| **修正対応** | ユーザーが修正を指示した場合、該当要素のみ修正して再表示 |
|
|
195
|
+
| **最大3回** | 修正は最大3回まで。それ以上はPhase 1で深掘り |
|
|
196
|
+
|
|
197
|
+
#### 例:構造化プロンプト生成
|
|
198
|
+
|
|
199
|
+
| 元のプロンプト | 構造化後 |
|
|
200
|
+
|--------------|---------|
|
|
201
|
+
| 「レアメタルについて調べて」 | **PURPOSE**: レアメタル市場への新規参入可否を判断する<br/>**TARGET**: リチウム、コバルト、ニッケルの国内市場<br/>**SCOPE**: 供給状況、価格動向、主要プレイヤー、参入障壁<br/>**TIMELINE**: 過去3年〜今後5年予測(推測)<br/>**CONSTRAINTS**: 特になし(推測)<br/>**DELIVERABLES**: 参入判断レポート、リスク評価、初期投資試算 |
|
|
202
|
+
| 「AIの最新動向教えて」 | **PURPOSE**: 自社プロダクトに適用すべきAI技術を選定する<br/>**TARGET**: 生成AI、AIエージェント、マルチモーダルAI<br/>**SCOPE**: 技術概要、実用事例、導入コスト、技術成熟度<br/>**TIMELINE**: 2025-2026年のトレンド(推測)<br/>**CONSTRAINTS**: 導入予算1000万円以内(推測)<br/>**DELIVERABLES**: 技術比較表、導入ロードマップ案、推奨技術TOP3 |
|
|
203
|
+
|
|
101
204
|
### 3. 質問ルール(1問1答)- Phase 1で必ず実行
|
|
102
205
|
|
|
103
|
-
**Phase 0
|
|
206
|
+
**Phase 0.5(構造化プロンプト生成)完了後、Phase 1で必ず対話的目的探索を開始すること。**
|
|
104
207
|
|
|
105
208
|
#### ⚠️ Phase 1開始時の必須行動
|
|
106
209
|
|
|
107
210
|
```
|
|
108
|
-
[Phase 0完了:
|
|
211
|
+
[Phase 0.5完了: 構造化プロンプト承認済み]
|
|
109
212
|
↓
|
|
110
|
-
[Phase 1開始:
|
|
213
|
+
[Phase 1開始: 構造化プロンプトの各要素を深掘り]
|
|
111
214
|
↓
|
|
112
|
-
❓ 質問1:
|
|
215
|
+
❓ 質問1: 「PURPOSEについて、この判断結果をどう活用しますか?」
|
|
113
216
|
↓ ユーザーの回答を待つ
|
|
114
217
|
❓ 質問2: 「この結果を誰が使いますか?」
|
|
115
218
|
↓ ユーザーの回答を待つ
|
|
116
|
-
❓ 質問3
|
|
219
|
+
❓ 質問3〜: 必要に応じて追加質問
|
|
117
220
|
↓
|
|
118
221
|
[真の目的を確認してPhase 2へ]
|
|
119
222
|
```
|
|
@@ -148,6 +251,92 @@ Phase 5: Completion(完了)
|
|
|
148
251
|
|
|
149
252
|
**すべてのデータ・事実主張にはソースURLを付与すること。URLなしの参考文献は禁止。**
|
|
150
253
|
|
|
254
|
+
### 6. 品質ゲート(v1.19.0 Updated!)
|
|
255
|
+
|
|
256
|
+
各フェーズ間には**品質ゲート**があり、条件を満たさないと次フェーズに進めません。
|
|
257
|
+
|
|
258
|
+
| ゲート | 条件 | ユーザー承認 |
|
|
259
|
+
|--------|------|-------------|
|
|
260
|
+
| Gate 0→0.5 | プロジェクトフォルダ存在、manifest.yaml存在 | 不要 |
|
|
261
|
+
| Gate 0.5→1 | 最適化プロンプト生成済み、ユーザー確認済み | **必要** |
|
|
262
|
+
| Gate 1→2 | 真の目的定義済み、調査計画策定済み、最低3回対話 | **必要** |
|
|
263
|
+
| Gate 2→3 | 3ソース以上、信頼性評価済み、信頼度60%以上 | 不要 |
|
|
264
|
+
| Gate 3→4 | フレームワーク1つ以上、数値検証済み | 不要 |
|
|
265
|
+
| Gate 4→5 | レポート存在、品質チェック合格、引用完備 | **必要** |
|
|
266
|
+
|
|
267
|
+
**設定ファイル**: `configs/workflow-gates.yaml`
|
|
268
|
+
|
|
269
|
+
### 7. フィードバック・改訂ループ(v1.18.0 NEW!)
|
|
270
|
+
|
|
271
|
+
レポート完了後、ユーザーが「修正」を選択すると改訂サイクルに入ります。
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
[Gate 4→5: レポート承認]
|
|
275
|
+
↓ ユーザー: 「修正」
|
|
276
|
+
[フィードバック収集]
|
|
277
|
+
↓
|
|
278
|
+
[修正カテゴリ分類]
|
|
279
|
+
↓
|
|
280
|
+
[修正適用 → Phase 4へ戻る]
|
|
281
|
+
↓
|
|
282
|
+
[品質チェック再実行]
|
|
283
|
+
↓
|
|
284
|
+
[再度 Gate 4→5 へ]
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**最大改訂回数**: 5回
|
|
288
|
+
|
|
289
|
+
### 8. 緊急度トリアージ(v1.18.0 NEW!)
|
|
290
|
+
|
|
291
|
+
リサーチ依頼時に緊急度を判定し、適切なワークフローパスを選択します。
|
|
292
|
+
|
|
293
|
+
| レベル | アイコン | ワークフロー | 所要時間 | 制限事項 |
|
|
294
|
+
|--------|---------|-------------|---------|---------|
|
|
295
|
+
| 🟢 通常 | NORMAL | Phase 0-5 フル | 数時間〜 | なし |
|
|
296
|
+
| 🟡 緊急 | URGENT | Phase 0→1簡略→2→4簡略 | 2-4時間 | 分析スキップ |
|
|
297
|
+
| 🔴 超緊急 | CRITICAL | Phase 0→2簡易→4要約 | 30分〜1時間 | 目的探索なし、3ソース限定 |
|
|
298
|
+
|
|
299
|
+
**検出キーワード**:
|
|
300
|
+
- 🟡 緊急: 「急ぎ」「今日中」「明日まで」「ASAP」
|
|
301
|
+
- 🔴 超緊急: 「今すぐ」「至急」「緊急」「この1時間」「概要だけ」
|
|
302
|
+
|
|
303
|
+
**設定ファイル**: `configs/triage-rules.yaml`
|
|
304
|
+
|
|
305
|
+
### 9. 中断・再開機能(v1.18.0 NEW!)
|
|
306
|
+
|
|
307
|
+
長時間のリサーチを中断し、後で再開できます。
|
|
308
|
+
|
|
309
|
+
| キーワード | アクション |
|
|
310
|
+
|-----------|-----------|
|
|
311
|
+
| 「中断」「一時停止」「後で続ける」 | チェックポイント保存 |
|
|
312
|
+
| 「再開」「続きから」「前回の続き」 | チェックポイントから復元 |
|
|
313
|
+
|
|
314
|
+
**チェックポイントデータ**:
|
|
315
|
+
- 現在フェーズ、最終アクション、中断日時
|
|
316
|
+
- 収集済みソース一覧
|
|
317
|
+
- 調査メモ
|
|
318
|
+
- コンテキスト(目的、成功条件、ペルソナ)
|
|
319
|
+
|
|
320
|
+
**古いチェックポイント**: 30日経過で再確認プロンプト表示
|
|
321
|
+
|
|
322
|
+
### 10. 信頼度スコアリング(v1.18.0 NEW!)
|
|
323
|
+
|
|
324
|
+
調査結果の品質を数値化し、透明性を向上させます。
|
|
325
|
+
|
|
326
|
+
| 要素 | 重み | 説明 |
|
|
327
|
+
|------|------|------|
|
|
328
|
+
| ソース信頼性 | 30% | 学術機関0.9、主要メディア0.7、ブログ0.3 |
|
|
329
|
+
| データ鮮度 | 20% | 3ヶ月以内1.0、1年以内0.8、3年超0.2 |
|
|
330
|
+
| カバー率 | 25% | 調査範囲のカバー率 |
|
|
331
|
+
| ソース多様性 | 15% | ソースタイプの多様性 |
|
|
332
|
+
| 内部整合性 | 10% | データの矛盾がないか |
|
|
333
|
+
|
|
334
|
+
**閾値**:
|
|
335
|
+
- 80%以上: 高信頼度(推奨)
|
|
336
|
+
- 60%以上: 中信頼度(Gate通過可能)
|
|
337
|
+
- 40%以上: 低信頼度(追加調査推奨)
|
|
338
|
+
- 40%未満: 不十分(Gate通過不可)
|
|
339
|
+
|
|
151
340
|
---
|
|
152
341
|
|
|
153
342
|
## 🎯 プロジェクト概要
|
|
@@ -156,7 +345,7 @@ Phase 5: Completion(完了)
|
|
|
156
345
|
|
|
157
346
|
| 項目 | 詳細 |
|
|
158
347
|
|------|------|
|
|
159
|
-
| **バージョン** | 1.
|
|
348
|
+
| **バージョン** | 1.19.0 |
|
|
160
349
|
| **言語** | TypeScript |
|
|
161
350
|
| **ランタイム** | Node.js >= 20.0.0 |
|
|
162
351
|
| **Agent Skills** | 4スキル |
|
|
@@ -168,6 +357,81 @@ Phase 5: Completion(完了)
|
|
|
168
357
|
|
|
169
358
|
---
|
|
170
359
|
|
|
360
|
+
## 🆕 v1.19.0 新機能(構造化プロンプト生成+ユーザー確認フェーズ)
|
|
361
|
+
|
|
362
|
+
### Phase 0.5: Prompt Refinement(構造化プロンプト生成)
|
|
363
|
+
|
|
364
|
+
ユーザーの入力プロンプトをAIが自動で**6要素の構造化プロンプト**に変換し、**ユーザー確認**を経てから調査を開始する新フェーズを追加しました。
|
|
365
|
+
|
|
366
|
+
#### 構造化プロンプトの6要素
|
|
367
|
+
|
|
368
|
+
| 要素 | 説明 |
|
|
369
|
+
|------|------|
|
|
370
|
+
| **PURPOSE** | 目的・判断事項(何を決めたいか) |
|
|
371
|
+
| **TARGET** | 調査対象(何について/誰について) |
|
|
372
|
+
| **SCOPE** | 調査範囲・深さ(どこまで調べるか) |
|
|
373
|
+
| **TIMELINE** | 時間軸・期限(いつまでの情報か) |
|
|
374
|
+
| **CONSTRAINTS** | 制約条件(予算・除外事項など) |
|
|
375
|
+
| **DELIVERABLES** | 期待する成果物(レポート、表など) |
|
|
376
|
+
|
|
377
|
+
#### 新機能
|
|
378
|
+
|
|
379
|
+
| 機能 | 説明 |
|
|
380
|
+
|------|------|
|
|
381
|
+
| **プロンプト分析** | 曖昧さ検出、不足情報特定、目的推測 |
|
|
382
|
+
| **構造化生成** | 6要素に分解し、不足要素を補完 |
|
|
383
|
+
| **補完明示** | AIが推測した要素は「(推測)」と明記 |
|
|
384
|
+
| **ユーザー確認** | 構造化プロンプト表示→承認/修正を選択 |
|
|
385
|
+
| **修正対応** | 該当要素のみ修正して再表示(最大3回) |
|
|
386
|
+
|
|
387
|
+
#### ワークフローの変更点
|
|
388
|
+
|
|
389
|
+
```
|
|
390
|
+
[旧] Phase 0 → Phase 1(目的探索)→ Phase 2
|
|
391
|
+
[新] Phase 0 → Phase 0.5(構造化プロンプト生成+確認)→ Phase 1(1問1答)→ Phase 2
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
#### ユーザー確認フェーズ
|
|
395
|
+
|
|
396
|
+
```
|
|
397
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
398
|
+
❓ このプロンプトでよろしいですか?
|
|
399
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
400
|
+
[はい/承認] → Phase 1(目的深掘り)へ進みます
|
|
401
|
+
[修正] → 修正したい箇所をお知らせください
|
|
402
|
+
例: 「TARGETをリチウムのみに絞りたい」
|
|
403
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
#### 品質ゲートの追加
|
|
407
|
+
|
|
408
|
+
| ゲート | 条件 | ユーザー承認 |
|
|
409
|
+
|--------|------|-------------|
|
|
410
|
+
| Gate 0→0.5 | フォルダ存在、manifest存在 | 不要 |
|
|
411
|
+
| Gate 0.5→1 | 構造化プロンプト生成済み、ユーザー確認済み | **必要** |
|
|
412
|
+
|
|
413
|
+
詳細は「絶対ルール」セクションの項目2.5を参照。
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## 🆕 v1.18.0 新機能(ワークフロー品質強化)
|
|
418
|
+
|
|
419
|
+
### 品質ゲート・フィードバックループ・緊急度トリアージ
|
|
420
|
+
|
|
421
|
+
5つの新機能でワークフロー品質を強化しました。
|
|
422
|
+
|
|
423
|
+
| 機能 | 設定ファイル | 目的 |
|
|
424
|
+
|------|-------------|------|
|
|
425
|
+
| 品質ゲート | `configs/workflow-gates.yaml` | フェーズ間の品質担保 |
|
|
426
|
+
| フィードバックループ | `configs/workflow-gates.yaml` | 改訂サイクル管理 |
|
|
427
|
+
| 緊急度トリアージ | `configs/triage-rules.yaml` | ワークフローパス選択 |
|
|
428
|
+
| 中断・再開 | `configs/auto-invoke-triggers.yaml` | チェックポイント管理 |
|
|
429
|
+
| 信頼度スコア | `configs/auto-invoke-triggers.yaml` | 品質の数値化 |
|
|
430
|
+
|
|
431
|
+
詳細は「絶対ルール」セクションの項目6〜10を参照。
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
171
435
|
## 🆕 v1.12.0 新機能(フレームワーク分析・マッチング自動化)
|
|
172
436
|
|
|
173
437
|
### Phase 3: Framework Analysis 自動化(REQ-FW-001, REQ-MATCH-001)
|
package/package.json
CHANGED