@nahisaho/katashiro-analyzer 0.2.2 → 0.2.4
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.
- package/dist/factcheck/ClaimParser.d.ts +41 -0
- package/dist/factcheck/ClaimParser.d.ts.map +1 -0
- package/dist/factcheck/ClaimParser.js +149 -0
- package/dist/factcheck/ClaimParser.js.map +1 -0
- package/dist/factcheck/ConsistencyChecker.d.ts +56 -0
- package/dist/factcheck/ConsistencyChecker.d.ts.map +1 -0
- package/dist/factcheck/ConsistencyChecker.js +184 -0
- package/dist/factcheck/ConsistencyChecker.js.map +1 -0
- package/dist/factcheck/EvidenceCollector.d.ts +89 -0
- package/dist/factcheck/EvidenceCollector.d.ts.map +1 -0
- package/dist/factcheck/EvidenceCollector.js +222 -0
- package/dist/factcheck/EvidenceCollector.js.map +1 -0
- package/dist/factcheck/FactChecker.d.ts +81 -0
- package/dist/factcheck/FactChecker.d.ts.map +1 -0
- package/dist/factcheck/FactChecker.js +302 -0
- package/dist/factcheck/FactChecker.js.map +1 -0
- package/dist/factcheck/TrustedSourceRegistry.d.ts +47 -0
- package/dist/factcheck/TrustedSourceRegistry.d.ts.map +1 -0
- package/dist/factcheck/TrustedSourceRegistry.js +208 -0
- package/dist/factcheck/TrustedSourceRegistry.js.map +1 -0
- package/dist/factcheck/VerdictGenerator.d.ts +36 -0
- package/dist/factcheck/VerdictGenerator.d.ts.map +1 -0
- package/dist/factcheck/VerdictGenerator.js +154 -0
- package/dist/factcheck/VerdictGenerator.js.map +1 -0
- package/dist/factcheck/index.d.ts +15 -0
- package/dist/factcheck/index.d.ts.map +1 -0
- package/dist/factcheck/index.js +14 -0
- package/dist/factcheck/index.js.map +1 -0
- package/dist/factcheck/types.d.ts +265 -0
- package/dist/factcheck/types.d.ts.map +1 -0
- package/dist/factcheck/types.js +18 -0
- package/dist/factcheck/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/interpreter/CodeInterpreter.d.ts +119 -0
- package/dist/interpreter/CodeInterpreter.d.ts.map +1 -0
- package/dist/interpreter/CodeInterpreter.js +241 -0
- package/dist/interpreter/CodeInterpreter.js.map +1 -0
- package/dist/interpreter/CodeValidator.d.ts +57 -0
- package/dist/interpreter/CodeValidator.d.ts.map +1 -0
- package/dist/interpreter/CodeValidator.js +283 -0
- package/dist/interpreter/CodeValidator.js.map +1 -0
- package/dist/interpreter/ExecutionEngine.d.ts +73 -0
- package/dist/interpreter/ExecutionEngine.d.ts.map +1 -0
- package/dist/interpreter/ExecutionEngine.js +273 -0
- package/dist/interpreter/ExecutionEngine.js.map +1 -0
- package/dist/interpreter/ResultFormatter.d.ts +72 -0
- package/dist/interpreter/ResultFormatter.d.ts.map +1 -0
- package/dist/interpreter/ResultFormatter.js +187 -0
- package/dist/interpreter/ResultFormatter.js.map +1 -0
- package/dist/interpreter/SandboxManager.d.ts +111 -0
- package/dist/interpreter/SandboxManager.d.ts.map +1 -0
- package/dist/interpreter/SandboxManager.js +215 -0
- package/dist/interpreter/SandboxManager.js.map +1 -0
- package/dist/interpreter/SessionManager.d.ts +101 -0
- package/dist/interpreter/SessionManager.d.ts.map +1 -0
- package/dist/interpreter/SessionManager.js +184 -0
- package/dist/interpreter/SessionManager.js.map +1 -0
- package/dist/interpreter/index.d.ts +13 -0
- package/dist/interpreter/index.d.ts.map +1 -0
- package/dist/interpreter/index.js +13 -0
- package/dist/interpreter/index.js.map +1 -0
- package/dist/interpreter/types.d.ts +311 -0
- package/dist/interpreter/types.d.ts.map +1 -0
- package/dist/interpreter/types.js +91 -0
- package/dist/interpreter/types.js.map +1 -0
- package/dist/moa/AgentOrchestrator.d.ts +53 -0
- package/dist/moa/AgentOrchestrator.d.ts.map +1 -0
- package/dist/moa/AgentOrchestrator.js +164 -0
- package/dist/moa/AgentOrchestrator.js.map +1 -0
- package/dist/moa/ConsensusCalculator.d.ts +76 -0
- package/dist/moa/ConsensusCalculator.d.ts.map +1 -0
- package/dist/moa/ConsensusCalculator.js +221 -0
- package/dist/moa/ConsensusCalculator.js.map +1 -0
- package/dist/moa/MoAEngine.d.ts +97 -0
- package/dist/moa/MoAEngine.d.ts.map +1 -0
- package/dist/moa/MoAEngine.js +303 -0
- package/dist/moa/MoAEngine.js.map +1 -0
- package/dist/moa/ResponseAggregator.d.ts +65 -0
- package/dist/moa/ResponseAggregator.d.ts.map +1 -0
- package/dist/moa/ResponseAggregator.js +274 -0
- package/dist/moa/ResponseAggregator.js.map +1 -0
- package/dist/moa/TaskAnalyzer.d.ts +30 -0
- package/dist/moa/TaskAnalyzer.d.ts.map +1 -0
- package/dist/moa/TaskAnalyzer.js +116 -0
- package/dist/moa/TaskAnalyzer.js.map +1 -0
- package/dist/moa/index.d.ts +19 -0
- package/dist/moa/index.d.ts.map +1 -0
- package/dist/moa/index.js +18 -0
- package/dist/moa/index.js.map +1 -0
- package/dist/moa/types.d.ts +261 -0
- package/dist/moa/types.d.ts.map +1 -0
- package/dist/moa/types.js +70 -0
- package/dist/moa/types.js.map +1 -0
- package/dist/research/ConvergenceDetector.d.ts +37 -0
- package/dist/research/ConvergenceDetector.d.ts.map +1 -0
- package/dist/research/ConvergenceDetector.js +62 -0
- package/dist/research/ConvergenceDetector.js.map +1 -0
- package/dist/research/DeepResearchOrchestrator.d.ts +63 -0
- package/dist/research/DeepResearchOrchestrator.d.ts.map +1 -0
- package/dist/research/DeepResearchOrchestrator.js +283 -0
- package/dist/research/DeepResearchOrchestrator.js.map +1 -0
- package/dist/research/FindingIntegrator.d.ts +42 -0
- package/dist/research/FindingIntegrator.d.ts.map +1 -0
- package/dist/research/FindingIntegrator.js +239 -0
- package/dist/research/FindingIntegrator.js.map +1 -0
- package/dist/research/GapAnalyzer.d.ts +41 -0
- package/dist/research/GapAnalyzer.d.ts.map +1 -0
- package/dist/research/GapAnalyzer.js +145 -0
- package/dist/research/GapAnalyzer.js.map +1 -0
- package/dist/research/QueryGenerator.d.ts +38 -0
- package/dist/research/QueryGenerator.d.ts.map +1 -0
- package/dist/research/QueryGenerator.js +79 -0
- package/dist/research/QueryGenerator.js.map +1 -0
- package/dist/research/index.d.ts +14 -0
- package/dist/research/index.d.ts.map +1 -0
- package/dist/research/index.js +13 -0
- package/dist/research/index.js.map +1 -0
- package/dist/research/types.d.ts +215 -0
- package/dist/research/types.d.ts.map +1 -0
- package/dist/research/types.js +18 -0
- package/dist/research/types.js.map +1 -0
- package/dist/trend/ForecastEngine.d.ts +65 -0
- package/dist/trend/ForecastEngine.d.ts.map +1 -0
- package/dist/trend/ForecastEngine.js +260 -0
- package/dist/trend/ForecastEngine.js.map +1 -0
- package/dist/trend/TimeSeriesCollector.d.ts +42 -0
- package/dist/trend/TimeSeriesCollector.d.ts.map +1 -0
- package/dist/trend/TimeSeriesCollector.js +172 -0
- package/dist/trend/TimeSeriesCollector.js.map +1 -0
- package/dist/trend/TrendAnalyzer.d.ts +72 -0
- package/dist/trend/TrendAnalyzer.d.ts.map +1 -0
- package/dist/trend/TrendAnalyzer.js +291 -0
- package/dist/trend/TrendAnalyzer.js.map +1 -0
- package/dist/trend/TrendDetector.d.ts +67 -0
- package/dist/trend/TrendDetector.d.ts.map +1 -0
- package/dist/trend/TrendDetector.js +325 -0
- package/dist/trend/TrendDetector.js.map +1 -0
- package/dist/trend/VisualizationGenerator.d.ts +75 -0
- package/dist/trend/VisualizationGenerator.d.ts.map +1 -0
- package/dist/trend/VisualizationGenerator.js +294 -0
- package/dist/trend/VisualizationGenerator.js.map +1 -0
- package/dist/trend/index.d.ts +16 -0
- package/dist/trend/index.d.ts.map +1 -0
- package/dist/trend/index.js +18 -0
- package/dist/trend/index.js.map +1 -0
- package/dist/trend/types.d.ts +279 -0
- package/dist/trend/types.d.ts.map +1 -0
- package/dist/trend/types.js +17 -0
- package/dist/trend/types.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConsensusCalculator - エージェント間の合意度を計算
|
|
3
|
+
*
|
|
4
|
+
* @requirement REQ-ANALYZE-011
|
|
5
|
+
* @design DES-ANALYZE-011-MoAEngine
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentResponse } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* エージェント間の合意度を計算
|
|
10
|
+
*/
|
|
11
|
+
export declare class ConsensusCalculator {
|
|
12
|
+
/**
|
|
13
|
+
* レスポンス間の合意度を計算
|
|
14
|
+
*/
|
|
15
|
+
calculate(responses: AgentResponse[]): number;
|
|
16
|
+
/**
|
|
17
|
+
* 詳細な合意分析を実行
|
|
18
|
+
*/
|
|
19
|
+
analyzeConsensus(responses: AgentResponse[]): ConsensusAnalysis;
|
|
20
|
+
/**
|
|
21
|
+
* ペアワイズ類似度を計算
|
|
22
|
+
*/
|
|
23
|
+
private calculatePairwiseSimilarity;
|
|
24
|
+
/**
|
|
25
|
+
* ピア評価の一貫性を計算
|
|
26
|
+
*/
|
|
27
|
+
private calculatePeerConsistency;
|
|
28
|
+
/**
|
|
29
|
+
* キーワードを抽出
|
|
30
|
+
*/
|
|
31
|
+
private extractKeywords;
|
|
32
|
+
/**
|
|
33
|
+
* N-gramを抽出
|
|
34
|
+
*/
|
|
35
|
+
private extractNgrams;
|
|
36
|
+
/**
|
|
37
|
+
* 合意点と不一致点を特定
|
|
38
|
+
*/
|
|
39
|
+
private identifyTopics;
|
|
40
|
+
/**
|
|
41
|
+
* 最も合意が取れているペアを見つける
|
|
42
|
+
*/
|
|
43
|
+
private findMostAgreedPair;
|
|
44
|
+
/**
|
|
45
|
+
* 最も意見が分かれているペアを見つける
|
|
46
|
+
*/
|
|
47
|
+
private findMostDisagreedPair;
|
|
48
|
+
/**
|
|
49
|
+
* 推奨事項を生成
|
|
50
|
+
*/
|
|
51
|
+
private generateRecommendation;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 合意レベル
|
|
55
|
+
*/
|
|
56
|
+
export type ConsensusLevel = 'high' | 'moderate' | 'low' | 'none';
|
|
57
|
+
/**
|
|
58
|
+
* 合意分析結果
|
|
59
|
+
*/
|
|
60
|
+
export interface ConsensusAnalysis {
|
|
61
|
+
/** 合意スコア (0-1) */
|
|
62
|
+
score: number;
|
|
63
|
+
/** 合意レベル */
|
|
64
|
+
level: ConsensusLevel;
|
|
65
|
+
/** 合意が取れているトピック */
|
|
66
|
+
agreedTopics: string[];
|
|
67
|
+
/** 意見が分かれているトピック */
|
|
68
|
+
disagreedTopics: string[];
|
|
69
|
+
/** 最も合意が取れているペア */
|
|
70
|
+
mostAgreedPair: [string, string] | null;
|
|
71
|
+
/** 最も意見が分かれているペア */
|
|
72
|
+
mostDisagreedPair: [string, string] | null;
|
|
73
|
+
/** 推奨事項 */
|
|
74
|
+
recommendation: string;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=ConsensusCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsensusCalculator.d.ts","sourceRoot":"","sources":["../../src/moa/ConsensusCalculator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM;IA6B7C;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB;IAmC/D;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAY/B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,mBAAmB;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB;IACnB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACxC,oBAAoB;IACpB,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3C,WAAW;IACX,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConsensusCalculator - エージェント間の合意度を計算
|
|
3
|
+
*
|
|
4
|
+
* @requirement REQ-ANALYZE-011
|
|
5
|
+
* @design DES-ANALYZE-011-MoAEngine
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* エージェント間の合意度を計算
|
|
9
|
+
*/
|
|
10
|
+
export class ConsensusCalculator {
|
|
11
|
+
/**
|
|
12
|
+
* レスポンス間の合意度を計算
|
|
13
|
+
*/
|
|
14
|
+
calculate(responses) {
|
|
15
|
+
if (responses.length < 2) {
|
|
16
|
+
return 1.0; // 1つ以下のレスポンスは完全合意とみなす
|
|
17
|
+
}
|
|
18
|
+
// ペアワイズ類似度の平均
|
|
19
|
+
let totalSimilarity = 0;
|
|
20
|
+
let pairCount = 0;
|
|
21
|
+
for (let i = 0; i < responses.length; i++) {
|
|
22
|
+
for (let j = i + 1; j < responses.length; j++) {
|
|
23
|
+
const similarity = this.calculatePairwiseSimilarity(responses[i].response, responses[j].response);
|
|
24
|
+
totalSimilarity += similarity;
|
|
25
|
+
pairCount++;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const avgSimilarity = pairCount > 0 ? totalSimilarity / pairCount : 0;
|
|
29
|
+
// ピア評価の一貫性も考慮
|
|
30
|
+
const peerConsistency = this.calculatePeerConsistency(responses);
|
|
31
|
+
// 最終的な合意度(類似度60%、ピア一貫性40%)
|
|
32
|
+
return avgSimilarity * 0.6 + peerConsistency * 0.4;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 詳細な合意分析を実行
|
|
36
|
+
*/
|
|
37
|
+
analyzeConsensus(responses) {
|
|
38
|
+
const consensusScore = this.calculate(responses);
|
|
39
|
+
// 合意レベルを判定
|
|
40
|
+
let level;
|
|
41
|
+
if (consensusScore >= 0.8) {
|
|
42
|
+
level = 'high';
|
|
43
|
+
}
|
|
44
|
+
else if (consensusScore >= 0.5) {
|
|
45
|
+
level = 'moderate';
|
|
46
|
+
}
|
|
47
|
+
else if (consensusScore >= 0.3) {
|
|
48
|
+
level = 'low';
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
level = 'none';
|
|
52
|
+
}
|
|
53
|
+
// 合意点と不一致点を特定
|
|
54
|
+
const { agreedTopics, disagreedTopics } = this.identifyTopics(responses);
|
|
55
|
+
// 最も合意が取れているエージェントペアを特定
|
|
56
|
+
const mostAgreedPair = this.findMostAgreedPair(responses);
|
|
57
|
+
// 最も意見が分かれているエージェントペアを特定
|
|
58
|
+
const mostDisagreedPair = this.findMostDisagreedPair(responses);
|
|
59
|
+
return {
|
|
60
|
+
score: consensusScore,
|
|
61
|
+
level,
|
|
62
|
+
agreedTopics,
|
|
63
|
+
disagreedTopics,
|
|
64
|
+
mostAgreedPair,
|
|
65
|
+
mostDisagreedPair,
|
|
66
|
+
recommendation: this.generateRecommendation(level, responses.length),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* ペアワイズ類似度を計算
|
|
71
|
+
*/
|
|
72
|
+
calculatePairwiseSimilarity(text1, text2) {
|
|
73
|
+
// 単語ベースのJaccard類似度
|
|
74
|
+
const words1 = this.extractKeywords(text1);
|
|
75
|
+
const words2 = this.extractKeywords(text2);
|
|
76
|
+
const intersection = new Set([...words1].filter(w => words2.has(w)));
|
|
77
|
+
const union = new Set([...words1, ...words2]);
|
|
78
|
+
const jaccardSimilarity = union.size > 0 ? intersection.size / union.size : 0;
|
|
79
|
+
// N-gramベースの類似度
|
|
80
|
+
const ngrams1 = this.extractNgrams(text1, 3);
|
|
81
|
+
const ngrams2 = this.extractNgrams(text2, 3);
|
|
82
|
+
const ngramIntersection = new Set([...ngrams1].filter(n => ngrams2.has(n)));
|
|
83
|
+
const ngramUnion = new Set([...ngrams1, ...ngrams2]);
|
|
84
|
+
const ngramSimilarity = ngramUnion.size > 0 ? ngramIntersection.size / ngramUnion.size : 0;
|
|
85
|
+
// 両方の類似度を組み合わせ
|
|
86
|
+
return jaccardSimilarity * 0.6 + ngramSimilarity * 0.4;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* ピア評価の一貫性を計算
|
|
90
|
+
*/
|
|
91
|
+
calculatePeerConsistency(responses) {
|
|
92
|
+
const peerScores = [];
|
|
93
|
+
for (const response of responses) {
|
|
94
|
+
if (response.peerScores && response.peerScores.length > 0) {
|
|
95
|
+
const avgPeerScore = response.peerScores.reduce((sum, p) => sum + p.score, 0)
|
|
96
|
+
/ response.peerScores.length;
|
|
97
|
+
peerScores.push(avgPeerScore);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (peerScores.length < 2) {
|
|
101
|
+
return 0.5; // デフォルト
|
|
102
|
+
}
|
|
103
|
+
// 標準偏差が小さいほど一貫性が高い
|
|
104
|
+
const mean = peerScores.reduce((sum, s) => sum + s, 0) / peerScores.length;
|
|
105
|
+
const variance = peerScores.reduce((sum, s) => sum + Math.pow(s - mean, 2), 0) / peerScores.length;
|
|
106
|
+
const stdDev = Math.sqrt(variance);
|
|
107
|
+
// 標準偏差を0-1のスコアに変換(低いほど高スコア)
|
|
108
|
+
return Math.max(0, 1 - stdDev * 2);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* キーワードを抽出
|
|
112
|
+
*/
|
|
113
|
+
extractKeywords(text) {
|
|
114
|
+
const words = text.toLowerCase()
|
|
115
|
+
.replace(/[^\w\s]/g, ' ')
|
|
116
|
+
.split(/\s+/)
|
|
117
|
+
.filter(w => w.length > 3);
|
|
118
|
+
// ストップワードを除去(簡易版)
|
|
119
|
+
const stopWords = new Set([
|
|
120
|
+
'that', 'this', 'with', 'from', 'have', 'been', 'were', 'they',
|
|
121
|
+
'their', 'what', 'when', 'where', 'which', 'will', 'would', 'could',
|
|
122
|
+
'should', 'about', 'there', 'these', 'those', 'other', 'some', 'very',
|
|
123
|
+
]);
|
|
124
|
+
return new Set(words.filter(w => !stopWords.has(w)));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* N-gramを抽出
|
|
128
|
+
*/
|
|
129
|
+
extractNgrams(text, n) {
|
|
130
|
+
const words = text.toLowerCase()
|
|
131
|
+
.replace(/[^\w\s]/g, ' ')
|
|
132
|
+
.split(/\s+/)
|
|
133
|
+
.filter(w => w.length > 2);
|
|
134
|
+
const ngrams = new Set();
|
|
135
|
+
for (let i = 0; i <= words.length - n; i++) {
|
|
136
|
+
ngrams.add(words.slice(i, i + n).join(' '));
|
|
137
|
+
}
|
|
138
|
+
return ngrams;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* 合意点と不一致点を特定
|
|
142
|
+
*/
|
|
143
|
+
identifyTopics(responses) {
|
|
144
|
+
// 全レスポンスからキーワードを抽出
|
|
145
|
+
const keywordCounts = new Map();
|
|
146
|
+
for (const response of responses) {
|
|
147
|
+
const keywords = this.extractKeywords(response.response);
|
|
148
|
+
keywords.forEach(k => {
|
|
149
|
+
keywordCounts.set(k, (keywordCounts.get(k) || 0) + 1);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// 出現頻度でソート
|
|
153
|
+
const sortedKeywords = [...keywordCounts.entries()]
|
|
154
|
+
.sort((a, b) => b[1] - a[1]);
|
|
155
|
+
// 全員が言及しているキーワード = 合意点
|
|
156
|
+
const agreedTopics = sortedKeywords
|
|
157
|
+
.filter(([_, count]) => count >= responses.length * 0.8)
|
|
158
|
+
.slice(0, 5)
|
|
159
|
+
.map(([keyword]) => keyword);
|
|
160
|
+
// 一部のみが言及しているキーワード = 不一致点の可能性
|
|
161
|
+
const disagreedTopics = sortedKeywords
|
|
162
|
+
.filter(([_, count]) => count >= 1 && count <= responses.length * 0.3)
|
|
163
|
+
.slice(0, 5)
|
|
164
|
+
.map(([keyword]) => keyword);
|
|
165
|
+
return { agreedTopics, disagreedTopics };
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* 最も合意が取れているペアを見つける
|
|
169
|
+
*/
|
|
170
|
+
findMostAgreedPair(responses) {
|
|
171
|
+
if (responses.length < 2)
|
|
172
|
+
return null;
|
|
173
|
+
let maxSimilarity = -1;
|
|
174
|
+
let mostAgreedPair = null;
|
|
175
|
+
for (let i = 0; i < responses.length; i++) {
|
|
176
|
+
for (let j = i + 1; j < responses.length; j++) {
|
|
177
|
+
const similarity = this.calculatePairwiseSimilarity(responses[i].response, responses[j].response);
|
|
178
|
+
if (similarity > maxSimilarity) {
|
|
179
|
+
maxSimilarity = similarity;
|
|
180
|
+
mostAgreedPair = [responses[i].agentName, responses[j].agentName];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return mostAgreedPair;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* 最も意見が分かれているペアを見つける
|
|
188
|
+
*/
|
|
189
|
+
findMostDisagreedPair(responses) {
|
|
190
|
+
if (responses.length < 2)
|
|
191
|
+
return null;
|
|
192
|
+
let minSimilarity = 2;
|
|
193
|
+
let mostDisagreedPair = null;
|
|
194
|
+
for (let i = 0; i < responses.length; i++) {
|
|
195
|
+
for (let j = i + 1; j < responses.length; j++) {
|
|
196
|
+
const similarity = this.calculatePairwiseSimilarity(responses[i].response, responses[j].response);
|
|
197
|
+
if (similarity < minSimilarity) {
|
|
198
|
+
minSimilarity = similarity;
|
|
199
|
+
mostDisagreedPair = [responses[i].agentName, responses[j].agentName];
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return mostDisagreedPair;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* 推奨事項を生成
|
|
207
|
+
*/
|
|
208
|
+
generateRecommendation(level, agentCount) {
|
|
209
|
+
switch (level) {
|
|
210
|
+
case 'high':
|
|
211
|
+
return 'High consensus achieved. The synthesized response is reliable.';
|
|
212
|
+
case 'moderate':
|
|
213
|
+
return 'Moderate consensus. Consider reviewing individual agent responses for nuances.';
|
|
214
|
+
case 'low':
|
|
215
|
+
return `Low consensus among ${agentCount} agents. Additional rounds or more agents may help.`;
|
|
216
|
+
case 'none':
|
|
217
|
+
return 'No consensus. The task may be subjective or require clarification.';
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=ConsensusCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsensusCalculator.js","sourceRoot":"","sources":["../../src/moa/ConsensusCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MoAEngine - Mixture of Agents エンジン
|
|
3
|
+
*
|
|
4
|
+
* 複数のAIエージェントを協調動作させ、
|
|
5
|
+
* 多角的な視点からの分析・回答を生成する
|
|
6
|
+
*
|
|
7
|
+
* @requirement REQ-ANALYZE-011
|
|
8
|
+
* @design DES-ANALYZE-011-MoAEngine
|
|
9
|
+
*/
|
|
10
|
+
import type { MoARequest, MoAResult, MoAConfig, AgentConfig, AgentResponse } from './types.js';
|
|
11
|
+
import { type LLMProvider } from './AgentOrchestrator.js';
|
|
12
|
+
/**
|
|
13
|
+
* MoAエンジンオプション
|
|
14
|
+
*/
|
|
15
|
+
export interface MoAEngineOptions {
|
|
16
|
+
/** LLMプロバイダー */
|
|
17
|
+
llmProvider?: LLMProvider;
|
|
18
|
+
/** 設定 */
|
|
19
|
+
config?: Partial<MoAConfig>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Mixture of Agents エンジン
|
|
23
|
+
*/
|
|
24
|
+
export declare class MoAEngine {
|
|
25
|
+
private config;
|
|
26
|
+
private taskAnalyzer;
|
|
27
|
+
private orchestrator;
|
|
28
|
+
private aggregator;
|
|
29
|
+
private consensusCalculator;
|
|
30
|
+
/** エージェントプリセット */
|
|
31
|
+
static readonly presets: Record<string, AgentConfig>;
|
|
32
|
+
constructor(options?: MoAEngineOptions);
|
|
33
|
+
/**
|
|
34
|
+
* MoA処理を実行
|
|
35
|
+
*
|
|
36
|
+
* @param request MoAリクエスト
|
|
37
|
+
* @returns MoA結果
|
|
38
|
+
*/
|
|
39
|
+
process(request: MoARequest): Promise<MoAResult>;
|
|
40
|
+
/**
|
|
41
|
+
* 単純投票モードで処理
|
|
42
|
+
*
|
|
43
|
+
* @param request MoAリクエスト
|
|
44
|
+
* @returns MoA結果
|
|
45
|
+
*/
|
|
46
|
+
vote(request: MoARequest): Promise<MoAResult>;
|
|
47
|
+
/**
|
|
48
|
+
* ディベートモードで処理
|
|
49
|
+
*
|
|
50
|
+
* @param request MoAリクエスト
|
|
51
|
+
* @param maxRounds 最大ラウンド数
|
|
52
|
+
* @returns MoA結果
|
|
53
|
+
*/
|
|
54
|
+
debate(request: MoARequest, maxRounds?: number): Promise<MoAResult>;
|
|
55
|
+
/**
|
|
56
|
+
* エージェントを選択
|
|
57
|
+
*/
|
|
58
|
+
private selectAgents;
|
|
59
|
+
/**
|
|
60
|
+
* ラウンドコンテキストを構築
|
|
61
|
+
*/
|
|
62
|
+
private buildRoundContext;
|
|
63
|
+
/**
|
|
64
|
+
* 改善点を特定
|
|
65
|
+
*/
|
|
66
|
+
private identifyImprovements;
|
|
67
|
+
/**
|
|
68
|
+
* 全レスポンスからキーワードを抽出
|
|
69
|
+
*/
|
|
70
|
+
private extractAllKeywords;
|
|
71
|
+
/**
|
|
72
|
+
* メタデータを構築
|
|
73
|
+
*/
|
|
74
|
+
private buildMetadata;
|
|
75
|
+
/**
|
|
76
|
+
* 貢献度を計算
|
|
77
|
+
*/
|
|
78
|
+
private calculateContributions;
|
|
79
|
+
/**
|
|
80
|
+
* 信頼度を計算
|
|
81
|
+
*/
|
|
82
|
+
private calculateConfidence;
|
|
83
|
+
/**
|
|
84
|
+
* 合意分析を実行
|
|
85
|
+
*/
|
|
86
|
+
analyzeConsensus(responses: AgentResponse[]): import("./ConsensusCalculator.js").ConsensusAnalysis;
|
|
87
|
+
/**
|
|
88
|
+
* 設定を更新
|
|
89
|
+
*/
|
|
90
|
+
updateConfig(config: Partial<MoAConfig>): void;
|
|
91
|
+
/**
|
|
92
|
+
* 現在の設定を取得
|
|
93
|
+
*/
|
|
94
|
+
getConfig(): MoAConfig;
|
|
95
|
+
}
|
|
96
|
+
export default MoAEngine;
|
|
97
|
+
//# sourceMappingURL=MoAEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoAEngine.d.ts","sourceRoot":"","sources":["../../src/moa/MoAEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EAMd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI7E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS;IACT,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,mBAAmB,CAAsB;IAEjD,kBAAkB;IAClB,MAAM,CAAC,QAAQ,CAAC,OAAO,8BAAiB;gBAE5B,OAAO,GAAE,gBAAqB;IAQ1C;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAgEtD;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAQnD;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ5E;;OAEG;IACH,OAAO,CAAC,YAAY;IAwCpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAiCrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE;IAI3C;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAI9C;;OAEG;IACH,SAAS,IAAI,SAAS;CAGvB;AAGD,eAAe,SAAS,CAAC"}
|