yuangs 5.60.0 → 5.64.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.
Files changed (39) hide show
  1. package/dist/agent/DualAgentRuntime.d.ts +15 -1
  2. package/dist/agent/DualAgentRuntime.js +62 -37
  3. package/dist/agent/DualAgentRuntime.js.map +1 -1
  4. package/dist/agent/PlanCache.d.ts +207 -0
  5. package/dist/agent/PlanCache.js +468 -0
  6. package/dist/agent/PlanCache.js.map +1 -0
  7. package/dist/agent/governance/riskScoring.d.ts +118 -0
  8. package/dist/agent/governance/riskScoring.js +422 -0
  9. package/dist/agent/governance/riskScoring.js.map +1 -0
  10. package/dist/agent/governance.d.ts +26 -0
  11. package/dist/agent/governance.js +86 -5
  12. package/dist/agent/governance.js.map +1 -1
  13. package/dist/agent/llm.d.ts +1 -1
  14. package/dist/agent/relevance.d.ts +93 -0
  15. package/dist/agent/relevance.js +345 -1
  16. package/dist/agent/relevance.js.map +1 -1
  17. package/dist/agent/smartContextManager.d.ts +22 -1
  18. package/dist/agent/smartContextManager.js +108 -4
  19. package/dist/agent/smartContextManager.js.map +1 -1
  20. package/dist/agent/state.d.ts +3 -0
  21. package/dist/commands/contextStorage.d.ts +32 -0
  22. package/dist/commands/contextStorage.js +81 -0
  23. package/dist/commands/contextStorage.js.map +1 -1
  24. package/dist/core/modelRouter/AdaptiveWeights.d.ts +134 -0
  25. package/dist/core/modelRouter/AdaptiveWeights.js +300 -0
  26. package/dist/core/modelRouter/AdaptiveWeights.js.map +1 -0
  27. package/dist/core/modelRouter/ModelRouter.d.ts +45 -3
  28. package/dist/core/modelRouter/ModelRouter.js +138 -6
  29. package/dist/core/modelRouter/ModelRouter.js.map +1 -1
  30. package/dist/core/modelRouter/MultiMetricSupervisor.d.ts +99 -0
  31. package/dist/core/modelRouter/MultiMetricSupervisor.js +267 -0
  32. package/dist/core/modelRouter/MultiMetricSupervisor.js.map +1 -0
  33. package/dist/core/modelRouter/policies/DslPolicy.d.ts +16 -1
  34. package/dist/core/modelRouter/policies/DslPolicy.js +22 -1
  35. package/dist/core/modelRouter/policies/DslPolicy.js.map +1 -1
  36. package/dist/utils/renderer.d.ts +5 -0
  37. package/dist/utils/renderer.js +46 -1
  38. package/dist/utils/renderer.js.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdaptiveWeights = void 0;
4
+ const types_1 = require("./types");
5
+ const DEFAULT_LEARNING_CONFIG = {
6
+ learningRate: 0.1,
7
+ minSamples: 10,
8
+ historyWindow: 100,
9
+ weightDecay: 0.01,
10
+ rewardNormalization: {
11
+ latency: 5000, // 5秒作为基准
12
+ cost: 3 // cost level 3 作为基准
13
+ }
14
+ };
15
+ /**
16
+ * 自适应权重学习系统
17
+ *
18
+ * 使用强化学习思想,根据执行结果动态调整策略权重
19
+ *
20
+ * 核心算法:
21
+ * 1. 收集执行结果
22
+ * 2. 计算奖励函数 (综合考虑延迟、成本、成功率)
23
+ * 3. 使用梯度上升更新权重
24
+ * 4. 应用权重衰减防止过拟合
25
+ *
26
+ * 奖励函数设计:
27
+ * reward = w_latency * (-latency/normalize) +
28
+ * w_cost * (-cost/normalize) +
29
+ * w_success * (success ? 1 : -1)
30
+ */
31
+ class AdaptiveWeights {
32
+ weightsHistory = new Map();
33
+ outcomeHistory = new Map();
34
+ currentWeights = new Map();
35
+ config;
36
+ // 默认权重配置 (与 DslPolicy 保持一致)
37
+ DEFAULT_WEIGHTS = {
38
+ [types_1.RoutingStrategy.AUTO]: {
39
+ taskMatch: 0.4,
40
+ context: 0.2,
41
+ latency: 0.2,
42
+ cost: 0.1,
43
+ history: 0.1
44
+ },
45
+ [types_1.RoutingStrategy.FASTEST_FIRST]: {
46
+ taskMatch: 0.2,
47
+ context: 0.0,
48
+ latency: 0.7,
49
+ cost: 0.0,
50
+ history: 0.1
51
+ },
52
+ [types_1.RoutingStrategy.CHEAPEST_FIRST]: {
53
+ taskMatch: 0.2,
54
+ context: 0.0,
55
+ latency: 0.0,
56
+ cost: 0.7,
57
+ history: 0.1
58
+ },
59
+ [types_1.RoutingStrategy.BEST_QUALITY]: {
60
+ taskMatch: 0.2,
61
+ context: 0.0,
62
+ latency: 0.0,
63
+ cost: 0.0,
64
+ history: 0.2,
65
+ quality: 0.6
66
+ },
67
+ [types_1.RoutingStrategy.MANUAL]: {
68
+ taskMatch: 1.0,
69
+ context: 0.0,
70
+ latency: 0.0,
71
+ cost: 0.0,
72
+ history: 0.0
73
+ },
74
+ [types_1.RoutingStrategy.ROUND_ROBIN]: {
75
+ taskMatch: 1.0,
76
+ context: 0.0,
77
+ latency: 0.0,
78
+ cost: 0.0,
79
+ history: 0.0
80
+ }
81
+ };
82
+ constructor(config = {}) {
83
+ this.config = { ...DEFAULT_LEARNING_CONFIG, ...config };
84
+ // 初始化所有策略的权重
85
+ for (const strategy of Object.keys(this.DEFAULT_WEIGHTS)) {
86
+ const strategyKey = strategy;
87
+ this.currentWeights.set(strategyKey, { ...this.DEFAULT_WEIGHTS[strategyKey] });
88
+ this.weightsHistory.set(strategyKey, []);
89
+ this.outcomeHistory.set(strategyKey, []);
90
+ }
91
+ }
92
+ /**
93
+ * 记录执行结果
94
+ */
95
+ recordOutcome(outcome) {
96
+ const strategy = outcome.strategy;
97
+ const history = this.outcomeHistory.get(strategy);
98
+ if (!history)
99
+ return;
100
+ history.push(outcome);
101
+ // 限制历史窗口大小
102
+ if (history.length > this.config.historyWindow) {
103
+ history.shift();
104
+ }
105
+ // 达到最小样本数后触发学习
106
+ if (history.length >= this.config.minSamples) {
107
+ this.updateWeights(strategy);
108
+ }
109
+ }
110
+ /**
111
+ * 获取当前策略权重
112
+ */
113
+ getWeights(strategy) {
114
+ return { ...this.currentWeights.get(strategy) || this.DEFAULT_WEIGHTS[strategy] };
115
+ }
116
+ /**
117
+ * 获取权重历史
118
+ */
119
+ getWeightHistory(strategy) {
120
+ return [...this.weightsHistory.get(strategy) || []];
121
+ }
122
+ /**
123
+ * 核心权重更新算法 (梯度上升)
124
+ *
125
+ * 对于每个权重维度:
126
+ * new_weight = old_weight + learning_rate * reward_gradient
127
+ *
128
+ * 奖励梯度计算:
129
+ * - 延迟权重: 如果延迟低,增加延迟权重
130
+ * - 成本权重: 如果成本低,增加成本权重
131
+ * - 历史权重: 如果成功,增加历史权重
132
+ */
133
+ updateWeights(strategy) {
134
+ const history = this.outcomeHistory.get(strategy);
135
+ if (!history || history.length < this.config.minSamples)
136
+ return;
137
+ const currentWeights = this.currentWeights.get(strategy);
138
+ if (!currentWeights)
139
+ return;
140
+ // 计算最近一批结果的平均奖励
141
+ const recentOutcomes = history.slice(-this.config.minSamples);
142
+ const avgReward = this.calculateAverageReward(recentOutcomes);
143
+ // 计算每个维度的梯度
144
+ const gradients = this.calculateGradients(recentOutcomes, currentWeights);
145
+ // 梯度上升更新权重
146
+ const newWeights = { ...currentWeights };
147
+ let totalWeight = 0;
148
+ for (const [key, gradient] of Object.entries(gradients)) {
149
+ if (key === 'quality')
150
+ continue; // quality 权重固定不学习
151
+ const oldValue = currentWeights[key];
152
+ const weightDecay = oldValue * this.config.weightDecay;
153
+ // new_weight = old_weight + lr * gradient - decay
154
+ let newValue = oldValue + this.config.learningRate * gradient - weightDecay;
155
+ // 确保权重非负
156
+ newValue = Math.max(0, newValue);
157
+ newWeights[key] = newValue;
158
+ totalWeight += newValue;
159
+ }
160
+ // 归一化权重 (使总和为 1)
161
+ if (totalWeight > 0) {
162
+ for (const key of Object.keys(newWeights)) {
163
+ if (key === 'quality')
164
+ continue;
165
+ const value = newWeights[key];
166
+ if (typeof value === 'number') {
167
+ newWeights[key] = value / totalWeight;
168
+ }
169
+ }
170
+ }
171
+ // 保存权重快照
172
+ const snapshot = {
173
+ weights: { ...currentWeights },
174
+ timestamp: Date.now(),
175
+ outcomeCount: history.length
176
+ };
177
+ const weightHistory = this.weightsHistory.get(strategy);
178
+ if (weightHistory) {
179
+ weightHistory.push(snapshot);
180
+ if (weightHistory.length > this.config.historyWindow) {
181
+ weightHistory.shift();
182
+ }
183
+ }
184
+ // 应用新权重
185
+ this.currentWeights.set(strategy, newWeights);
186
+ // 如果改进显著,记录日志
187
+ const improvement = avgReward - this.calculateAverageReward(history.slice(-2 * this.config.minSamples, -this.config.minSamples));
188
+ if (improvement > 0.1) {
189
+ console.log(`[AdaptiveWeights] Strategy ${strategy} improved by ${improvement.toFixed(3)}`);
190
+ console.log(`[AdaptiveWeights] New weights:`, JSON.stringify(newWeights, null, 2));
191
+ }
192
+ }
193
+ /**
194
+ * 计算平均奖励
195
+ */
196
+ calculateAverageReward(outcomes) {
197
+ if (outcomes.length === 0)
198
+ return 0;
199
+ const sum = outcomes.reduce((acc, outcome) => acc + this.calculateReward(outcome), 0);
200
+ return sum / outcomes.length;
201
+ }
202
+ /**
203
+ * 计算单个执行的奖励
204
+ *
205
+ * 奖励函数:
206
+ * reward = -0.4 * (latency / normalize_latency)
207
+ * -0.3 * (cost / normalize_cost)
208
+ * +0.3 * (success ? 1 : -1)
209
+ */
210
+ calculateReward(outcome) {
211
+ const norm = this.config.rewardNormalization;
212
+ // 延迟惩罚: 越快越好
213
+ const latencyScore = -0.4 * (outcome.executionTime / norm.latency);
214
+ // 成本惩罚: 越便宜越好
215
+ const costScore = -0.3 * (outcome.costLevel / norm.cost);
216
+ // 成功奖励
217
+ const successScore = 0.3 * (outcome.success ? 1 : -1);
218
+ return latencyScore + costScore + successScore;
219
+ }
220
+ /**
221
+ * 计算每个权重维度的梯度
222
+ *
223
+ * 梯度表示: 该权重的增加对奖励的正向影响程度
224
+ */
225
+ calculateGradients(outcomes, _weights) {
226
+ const gradients = {};
227
+ // 延迟梯度: 延迟越低,延迟权重应该越高
228
+ const avgLatency = outcomes.reduce((sum, o) => sum + o.executionTime, 0) / outcomes.length;
229
+ const latencyGradient = -(avgLatency / this.config.rewardNormalization.latency) * 2;
230
+ gradients.latency = latencyGradient;
231
+ // 成本梯度: 成本越低,成本权重应该越高
232
+ const avgCost = outcomes.reduce((sum, o) => sum + o.costLevel, 0) / outcomes.length;
233
+ const costGradient = -(avgCost / this.config.rewardNormalization.cost) * 2;
234
+ gradients.cost = costGradient;
235
+ // 历史梯度: 成功率越高,历史权重应该越高
236
+ const successRate = outcomes.filter(o => o.success).length / outcomes.length;
237
+ const historyGradient = (successRate - 0.5) * 2;
238
+ gradients.history = historyGradient;
239
+ // 任务匹配梯度: 保持高权重
240
+ gradients.taskMatch = 0.1;
241
+ // 上下文梯度: 根据策略调整
242
+ gradients.context = 0.05;
243
+ return gradients;
244
+ }
245
+ /**
246
+ * 重置权重为默认值
247
+ */
248
+ reset(strategy) {
249
+ if (strategy) {
250
+ this.currentWeights.set(strategy, { ...this.DEFAULT_WEIGHTS[strategy] });
251
+ this.outcomeHistory.set(strategy, []);
252
+ this.weightsHistory.set(strategy, []);
253
+ }
254
+ else {
255
+ for (const s of Object.keys(this.DEFAULT_WEIGHTS)) {
256
+ const strategyKey = s;
257
+ this.currentWeights.set(strategyKey, { ...this.DEFAULT_WEIGHTS[strategyKey] });
258
+ this.outcomeHistory.set(strategyKey, []);
259
+ this.weightsHistory.set(strategyKey, []);
260
+ }
261
+ }
262
+ }
263
+ /**
264
+ * 获取学习统计信息
265
+ */
266
+ getStats() {
267
+ const stats = {};
268
+ for (const strategy of Object.keys(this.DEFAULT_WEIGHTS)) {
269
+ const strategyKey = strategy;
270
+ const history = this.outcomeHistory.get(strategyKey);
271
+ const weightHistory = this.weightsHistory.get(strategyKey);
272
+ stats[strategy] = {
273
+ currentWeights: this.currentWeights.get(strategyKey),
274
+ sampleCount: history?.length || 0,
275
+ avgReward: history && history.length > 0 ? this.calculateAverageReward(history) : 0,
276
+ improvement: this.calculateImprovement(weightHistory || [])
277
+ };
278
+ }
279
+ return stats;
280
+ }
281
+ /**
282
+ * 计算权重改进幅度
283
+ */
284
+ calculateImprovement(history) {
285
+ if (history.length < 2)
286
+ return 0;
287
+ const latest = history[history.length - 1].weights;
288
+ const earliest = history[0].weights;
289
+ // 计算权重变化幅度
290
+ let change = 0;
291
+ for (const key of Object.keys(latest)) {
292
+ const latestValue = latest[key];
293
+ const earliestValue = earliest[key];
294
+ change += Math.abs(latestValue - earliestValue);
295
+ }
296
+ return change;
297
+ }
298
+ }
299
+ exports.AdaptiveWeights = AdaptiveWeights;
300
+ //# sourceMappingURL=AdaptiveWeights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveWeights.js","sourceRoot":"","sources":["../../../src/core/modelRouter/AdaptiveWeights.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { AIRequestMessage } from '../../core/validation';
2
- import { ModelAdapter, TaskConfig, RoutingConfig, RoutingResult, ModelExecutionResult, ModelStats, SupervisorConfig } from './types';
2
+ import { ModelAdapter, TaskConfig, RoutingConfig, RoutingResult, RoutingStrategy, ModelExecutionResult, ModelStats, SupervisorConfig } from './types';
3
3
  import { RoutingPolicy } from './policies/types';
4
4
  import { MetricsCollector } from '../metrics/MetricsCollector';
5
5
  import { SupervisorActionLogger } from '../observability/SupervisorActionLog';
6
+ import { AdaptiveWeights } from './AdaptiveWeights';
6
7
  /**
7
8
  * 模型路由器 - 执行面 (Execution Plane)
8
9
  * 负责人调配和执行,保持核心逻辑简单
@@ -14,9 +15,10 @@ export declare class ModelRouter {
14
15
  private metrics;
15
16
  private supervisor;
16
17
  private supervisorLogger;
18
+ private adaptiveWeights;
17
19
  private roundRobinIndex;
18
20
  private supervisorContext;
19
- constructor(supervisorConfig?: SupervisorConfig, metrics?: MetricsCollector, logger?: SupervisorActionLogger);
21
+ constructor(supervisorConfig?: SupervisorConfig, metrics?: MetricsCollector, logger?: SupervisorActionLogger, adaptiveWeights?: AdaptiveWeights);
20
22
  private registerDefaultPolicies;
21
23
  registerPolicy(policy: RoutingPolicy): void;
22
24
  registerAdapter(adapter: ModelAdapter): void;
@@ -26,11 +28,51 @@ export declare class ModelRouter {
26
28
  getStats(modelName?: string): ModelStats | ModelStats[];
27
29
  route(taskConfig: TaskConfig, routingConfig: RoutingConfig): Promise<RoutingResult>;
28
30
  private executePolicyWithExploration;
29
- executeTask(adapter: ModelAdapter, prompt: string | AIRequestMessage[], config: TaskConfig, onChunk?: (chunk: string) => void): Promise<ModelExecutionResult>;
31
+ executeTask(adapter: ModelAdapter, prompt: string | AIRequestMessage[], config: TaskConfig, onChunk?: (chunk: string) => void, strategy?: RoutingStrategy): Promise<ModelExecutionResult>;
30
32
  private getAvailableAdapters;
31
33
  private selectRoundRobin;
32
34
  private updateDomainHealthStates;
35
+ /**
36
+ * 计算域的平均成功率
37
+ */
38
+ private calculateDomainAverageSuccessRate;
33
39
  private isAdapterAllowedByCircuitBreaker;
40
+ /**
41
+ * 计算半开状态的流量通过比例
42
+ *
43
+ * 策略: 基于最近的成功率动态调整
44
+ * - 成功率 < 30%: 0% 流量 (继续熔断)
45
+ * - 成功率 30-50%: 10% 流量
46
+ * - 成功率 50-70%: 30% 流量
47
+ * - 成功率 70-90%: 50% 流量
48
+ * - 成功率 > 90%: 100% 流量 (恢复到 closed)
49
+ */
50
+ private calculateHalfOpenPassRate;
34
51
  private calculateUCB1;
35
52
  private createEmptyStats;
53
+ /**
54
+ * 应用自适应权重到所有策略
55
+ */
56
+ private applyLearnedWeights;
57
+ /**
58
+ * 根据策略获取对应的策略名称
59
+ */
60
+ private getPolicyName;
61
+ /**
62
+ * 记录执行结果用于自适应学习
63
+ */
64
+ private recordExecutionOutcome;
65
+ /**
66
+ * 获取自适应权重统计
67
+ */
68
+ getAdaptiveWeightsStats(): Record<string, {
69
+ currentWeights: any;
70
+ sampleCount: number;
71
+ avgReward: number;
72
+ improvement: number;
73
+ }>;
74
+ /**
75
+ * 重置自适应权重
76
+ */
77
+ resetAdaptiveWeights(strategy?: RoutingStrategy): void;
36
78
  }
@@ -40,6 +40,7 @@ const DslPolicy_1 = require("./policies/DslPolicy");
40
40
  const ModelSupervisor_1 = require("./ModelSupervisor");
41
41
  const MetricsCollector_1 = require("../metrics/MetricsCollector");
42
42
  const SupervisorActionLog_1 = require("../observability/SupervisorActionLog");
43
+ const AdaptiveWeights_1 = require("./AdaptiveWeights");
43
44
  /**
44
45
  * 模型路由器 - 执行面 (Execution Plane)
45
46
  * 负责人调配和执行,保持核心逻辑简单
@@ -51,17 +52,20 @@ class ModelRouter {
51
52
  metrics;
52
53
  supervisor;
53
54
  supervisorLogger;
55
+ adaptiveWeights;
54
56
  roundRobinIndex = 0;
55
57
  // 唯一监督状态轨迹 (Context)
56
58
  supervisorContext = {
57
59
  now: Date.now(),
58
60
  triggerHitCounts: {}
59
61
  };
60
- constructor(supervisorConfig, metrics, logger) {
62
+ constructor(supervisorConfig, metrics, logger, adaptiveWeights) {
61
63
  this.metrics = metrics || new MetricsCollector_1.DefaultMetricsCollector();
62
64
  this.supervisor = new ModelSupervisor_1.ModelSupervisor(supervisorConfig || ModelSupervisor_1.ModelSupervisor.getDefaultConfig());
63
65
  this.supervisorLogger = logger || new SupervisorActionLog_1.ConsoleSupervisorActionLogger();
66
+ this.adaptiveWeights = adaptiveWeights || new AdaptiveWeights_1.AdaptiveWeights();
64
67
  this.registerDefaultPolicies();
68
+ this.applyLearnedWeights();
65
69
  }
66
70
  registerDefaultPolicies() {
67
71
  this.registerPolicy(new DslPolicy_1.DslPolicy({
@@ -240,11 +244,13 @@ class ModelRouter {
240
244
  throw new Error(`策略路由失败: ${error.message}`);
241
245
  }
242
246
  }
243
- async executeTask(adapter, prompt, config, onChunk) {
247
+ async executeTask(adapter, prompt, config, onChunk, strategy = types_1.RoutingStrategy.AUTO) {
244
248
  const domain = adapter.failureDomain ?? adapter.provider;
245
249
  try {
246
250
  const result = await adapter.execute(prompt, config, onChunk);
247
251
  this.metrics.recordRequest(adapter.name, domain, result.executionTime, result.success, adapter.capabilities.costLevel);
252
+ // 记录执行结果用于自适应学习
253
+ this.recordExecutionOutcome(adapter, result, strategy);
248
254
  if (result.success) {
249
255
  const health = this.domainHealth.get(domain);
250
256
  if (health && health.state === 'half-open') {
@@ -306,6 +312,8 @@ class ModelRouter {
306
312
  const s = this.metrics.getStats(a.name);
307
313
  return s && s.successEMA > 0.85;
308
314
  });
315
+ // 计算平均成功率用于渐进恢复判断
316
+ const avgSuccessRate = this.calculateDomainAverageSuccessRate(domainAdapters);
309
317
  if (health.state === 'closed' && isUnstable) {
310
318
  health.state = 'open';
311
319
  health.openedAt = now;
@@ -315,12 +323,29 @@ class ModelRouter {
315
323
  health.state = 'half-open';
316
324
  console.log(`📡 故障域 [${domain}] 进入半探测模式 (Half-Open)`);
317
325
  }
318
- else if (health.state === 'half-open' && isStable) {
326
+ else if (health.state === 'half-open' && (isStable || avgSuccessRate > 0.9)) {
327
+ // 成功率 > 90% 时立即恢复
319
328
  health.state = 'closed';
320
- console.log(`✅ 故障域 [${domain}] EMA 指标已恢复,熔断状态重置 (Closed)`);
329
+ console.log(`✅ 故障域 [${domain}] EMA 指标已恢复 (成功率: ${(avgSuccessRate * 100).toFixed(0)}%),熔断状态重置 (Closed)`);
321
330
  }
322
331
  }
323
332
  }
333
+ /**
334
+ * 计算域的平均成功率
335
+ */
336
+ calculateDomainAverageSuccessRate(domainAdapters) {
337
+ let totalRequests = 0;
338
+ let weightedSuccess = 0;
339
+ for (const adapter of domainAdapters) {
340
+ const stats = this.metrics.getStats(adapter.name);
341
+ if (stats && stats.totalRequests > 0) {
342
+ const weight = stats.totalRequests;
343
+ totalRequests += weight;
344
+ weightedSuccess += stats.successEMA * weight;
345
+ }
346
+ }
347
+ return totalRequests > 0 ? weightedSuccess / totalRequests : 0;
348
+ }
324
349
  isAdapterAllowedByCircuitBreaker(adapter) {
325
350
  const domain = adapter.failureDomain ?? adapter.provider;
326
351
  const health = this.domainHealth.get(domain);
@@ -328,10 +353,58 @@ class ModelRouter {
328
353
  return true;
329
354
  if (health.state === 'open')
330
355
  return false;
331
- if (health.state === 'half-open')
332
- return Math.random() < 0.1;
356
+ // 渐进式流量恢复: 基于成功率动态调整流量比例
357
+ if (health.state === 'half-open') {
358
+ const passRate = this.calculateHalfOpenPassRate(domain);
359
+ return Math.random() < passRate;
360
+ }
333
361
  return true;
334
362
  }
363
+ /**
364
+ * 计算半开状态的流量通过比例
365
+ *
366
+ * 策略: 基于最近的成功率动态调整
367
+ * - 成功率 < 30%: 0% 流量 (继续熔断)
368
+ * - 成功率 30-50%: 10% 流量
369
+ * - 成功率 50-70%: 30% 流量
370
+ * - 成功率 70-90%: 50% 流量
371
+ * - 成功率 > 90%: 100% 流量 (恢复到 closed)
372
+ */
373
+ calculateHalfOpenPassRate(domain) {
374
+ const domainAdapters = this.getAdapters().filter(a => (a.failureDomain ?? a.provider) === domain);
375
+ if (domainAdapters.length === 0)
376
+ return 0;
377
+ // 计算该域的加权平均成功率
378
+ let totalRequests = 0;
379
+ let weightedSuccess = 0;
380
+ for (const adapter of domainAdapters) {
381
+ const stats = this.metrics.getStats(adapter.name);
382
+ if (stats && stats.totalRequests > 0) {
383
+ const weight = stats.totalRequests;
384
+ totalRequests += weight;
385
+ weightedSuccess += stats.successEMA * weight;
386
+ }
387
+ }
388
+ if (totalRequests === 0)
389
+ return 0.1; // 默认 10% 探测流量
390
+ const avgSuccessRate = weightedSuccess / totalRequests;
391
+ // 根据成功率计算通过比例
392
+ if (avgSuccessRate < 0.3) {
393
+ return 0; // 成功率太低,继续熔断
394
+ }
395
+ else if (avgSuccessRate < 0.5) {
396
+ return 0.1; // 10% 流量
397
+ }
398
+ else if (avgSuccessRate < 0.7) {
399
+ return 0.3; // 30% 流量
400
+ }
401
+ else if (avgSuccessRate < 0.9) {
402
+ return 0.5; // 50% 流量
403
+ }
404
+ else {
405
+ return 1.0; // 完全恢复,下次会自动切换到 closed 状态
406
+ }
407
+ }
335
408
  calculateUCB1(stats, totalRuns) {
336
409
  if (!stats || stats.totalRequests === 0)
337
410
  return 1.0;
@@ -354,6 +427,65 @@ class ModelRouter {
354
427
  costEMA: 3,
355
428
  };
356
429
  }
430
+ /**
431
+ * 应用自适应权重到所有策略
432
+ */
433
+ applyLearnedWeights() {
434
+ const strategies = [
435
+ types_1.RoutingStrategy.AUTO,
436
+ types_1.RoutingStrategy.FASTEST_FIRST,
437
+ types_1.RoutingStrategy.CHEAPEST_FIRST,
438
+ types_1.RoutingStrategy.BEST_QUALITY
439
+ ];
440
+ for (const strategy of strategies) {
441
+ const policyName = this.getPolicyName(strategy);
442
+ const policy = this.policies.get(policyName);
443
+ if (policy instanceof DslPolicy_1.DslPolicy) {
444
+ const weights = this.adaptiveWeights.getWeights(strategy);
445
+ policy.overrideWeights(weights);
446
+ }
447
+ }
448
+ }
449
+ /**
450
+ * 根据策略获取对应的策略名称
451
+ */
452
+ getPolicyName(strategy) {
453
+ switch (strategy) {
454
+ case types_1.RoutingStrategy.FASTEST_FIRST: return 'latency-critical';
455
+ case types_1.RoutingStrategy.CHEAPEST_FIRST: return 'cost-saving';
456
+ case types_1.RoutingStrategy.BEST_QUALITY: return 'quality-first';
457
+ default: return 'balanced';
458
+ }
459
+ }
460
+ /**
461
+ * 记录执行结果用于自适应学习
462
+ */
463
+ recordExecutionOutcome(adapter, result, strategy) {
464
+ const outcome = {
465
+ success: result.success,
466
+ executionTime: result.executionTime,
467
+ costLevel: adapter.capabilities.costLevel,
468
+ timestamp: Date.now(),
469
+ strategy,
470
+ modelName: adapter.name
471
+ };
472
+ this.adaptiveWeights.recordOutcome(outcome);
473
+ // 每次记录后重新应用权重
474
+ this.applyLearnedWeights();
475
+ }
476
+ /**
477
+ * 获取自适应权重统计
478
+ */
479
+ getAdaptiveWeightsStats() {
480
+ return this.adaptiveWeights.getStats();
481
+ }
482
+ /**
483
+ * 重置自适应权重
484
+ */
485
+ resetAdaptiveWeights(strategy) {
486
+ this.adaptiveWeights.reset(strategy);
487
+ this.applyLearnedWeights();
488
+ }
357
489
  }
358
490
  exports.ModelRouter = ModelRouter;
359
491
  //# sourceMappingURL=ModelRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelRouter.js","sourceRoot":"","sources":["../../../src/core/modelRouter/ModelRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelRouter.js","sourceRoot":"","sources":["../../../src/core/modelRouter/ModelRouter.ts"],"names":[],"mappings":"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"}