knight-agent 1.1.0 → 1.1.2

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 (173) hide show
  1. package/Host.d.ts +3 -11
  2. package/Host.d.ts.map +1 -1
  3. package/Host.js +4 -5
  4. package/Host.js.map +1 -1
  5. package/base/AbstractAgent.d.ts +1 -99
  6. package/base/AbstractAgent.d.ts.map +1 -1
  7. package/base/AbstractAgent.js +94 -20
  8. package/base/AbstractAgent.js.map +1 -1
  9. package/base/AbstractLLM.d.ts +43 -0
  10. package/base/AbstractLLM.d.ts.map +1 -0
  11. package/base/AbstractLLM.js +121 -0
  12. package/base/AbstractLLM.js.map +1 -0
  13. package/base/AbstractModule.d.ts +1 -0
  14. package/base/AbstractModule.d.ts.map +1 -1
  15. package/base/AbstractModule.js +3 -0
  16. package/base/AbstractModule.js.map +1 -1
  17. package/base/AbstractObject.d.ts +6 -4
  18. package/base/AbstractObject.d.ts.map +1 -1
  19. package/base/AbstractObject.js +6 -2
  20. package/base/AbstractObject.js.map +1 -1
  21. package/base/index.d.ts +1 -4
  22. package/base/index.d.ts.map +1 -1
  23. package/base/index.js +1 -4
  24. package/base/index.js.map +1 -1
  25. package/index.d.ts +2 -1
  26. package/index.d.ts.map +1 -1
  27. package/index.js +2 -6
  28. package/index.js.map +1 -1
  29. package/module/AgentModule/Agent.d.ts +1 -54
  30. package/module/AgentModule/Agent.d.ts.map +1 -1
  31. package/module/AgentModule/Agent.js +22 -207
  32. package/module/AgentModule/Agent.js.map +1 -1
  33. package/module/AgentModule/AgentModule.d.ts +1 -25
  34. package/module/AgentModule/AgentModule.d.ts.map +1 -1
  35. package/module/AgentModule/AgentModule.js +78 -63
  36. package/module/AgentModule/AgentModule.js.map +1 -1
  37. package/module/AgentModule/index.d.ts +1 -1
  38. package/module/AgentModule/index.d.ts.map +1 -1
  39. package/module/AgentModule/index.js +2 -15
  40. package/module/AgentModule/index.js.map +1 -1
  41. package/module/LLMModule/ClaudeLLM.d.ts +23 -0
  42. package/module/LLMModule/ClaudeLLM.d.ts.map +1 -0
  43. package/module/LLMModule/ClaudeLLM.js +138 -0
  44. package/module/LLMModule/ClaudeLLM.js.map +1 -0
  45. package/module/LLMModule/DeepSeekLLM.d.ts +24 -0
  46. package/module/LLMModule/DeepSeekLLM.d.ts.map +1 -0
  47. package/module/LLMModule/DeepSeekLLM.js +136 -0
  48. package/module/LLMModule/DeepSeekLLM.js.map +1 -0
  49. package/module/LLMModule/GeminiLLM.d.ts +23 -0
  50. package/module/LLMModule/GeminiLLM.d.ts.map +1 -0
  51. package/module/LLMModule/GeminiLLM.js +168 -0
  52. package/module/LLMModule/GeminiLLM.js.map +1 -0
  53. package/module/LLMModule/LLMModule.d.ts +33 -0
  54. package/module/LLMModule/LLMModule.d.ts.map +1 -0
  55. package/module/LLMModule/LLMModule.js +92 -0
  56. package/module/LLMModule/LLMModule.js.map +1 -0
  57. package/module/LLMModule/OpenAILLM.d.ts +23 -0
  58. package/module/LLMModule/OpenAILLM.d.ts.map +1 -0
  59. package/module/LLMModule/OpenAILLM.js +145 -0
  60. package/module/LLMModule/OpenAILLM.js.map +1 -0
  61. package/module/LLMModule/QWenLLM.d.ts +23 -0
  62. package/module/LLMModule/QWenLLM.d.ts.map +1 -0
  63. package/module/LLMModule/QWenLLM.js +137 -0
  64. package/module/LLMModule/QWenLLM.js.map +1 -0
  65. package/module/LLMModule/index.d.ts +7 -0
  66. package/module/LLMModule/index.d.ts.map +1 -0
  67. package/module/{SkillModule → LLMModule}/index.js +6 -1
  68. package/module/LLMModule/index.js.map +1 -0
  69. package/module/index.d.ts +1 -4
  70. package/module/index.d.ts.map +1 -1
  71. package/module/index.js +1 -4
  72. package/module/index.js.map +1 -1
  73. package/package.json +1 -1
  74. package/utility/AgentUtility.d.ts +38 -0
  75. package/utility/AgentUtility.d.ts.map +1 -0
  76. package/{base/AbstractTool.js → utility/AgentUtility.js} +1 -1
  77. package/utility/AgentUtility.js.map +1 -0
  78. package/utility/LLMUtility.d.ts +1328 -0
  79. package/utility/LLMUtility.d.ts.map +1 -0
  80. package/utility/LLMUtility.js +114 -0
  81. package/utility/LLMUtility.js.map +1 -0
  82. package/utility/index.d.ts +2 -1
  83. package/utility/index.d.ts.map +1 -1
  84. package/utility/index.js +2 -1
  85. package/utility/index.js.map +1 -1
  86. package/base/AbstractDialog.d.ts +0 -54
  87. package/base/AbstractDialog.d.ts.map +0 -1
  88. package/base/AbstractDialog.js +0 -86
  89. package/base/AbstractDialog.js.map +0 -1
  90. package/base/AbstractReason.d.ts +0 -44
  91. package/base/AbstractReason.d.ts.map +0 -1
  92. package/base/AbstractReason.js +0 -23
  93. package/base/AbstractReason.js.map +0 -1
  94. package/base/AbstractSkill.d.ts +0 -25
  95. package/base/AbstractSkill.d.ts.map +0 -1
  96. package/base/AbstractSkill.js +0 -3
  97. package/base/AbstractSkill.js.map +0 -1
  98. package/base/AbstractTool.d.ts +0 -34
  99. package/base/AbstractTool.d.ts.map +0 -1
  100. package/base/AbstractTool.js.map +0 -1
  101. package/docs/ARCHITECTURE.md +0 -601
  102. package/docs/README.md +0 -562
  103. package/module/AgentModule/Memory.d.ts +0 -55
  104. package/module/AgentModule/Memory.d.ts.map +0 -1
  105. package/module/AgentModule/Memory.js +0 -288
  106. package/module/AgentModule/Memory.js.map +0 -1
  107. package/module/DialogModule/Dialog.d.ts +0 -14
  108. package/module/DialogModule/Dialog.d.ts.map +0 -1
  109. package/module/DialogModule/Dialog.js +0 -27
  110. package/module/DialogModule/Dialog.js.map +0 -1
  111. package/module/DialogModule/DialogModule.d.ts +0 -39
  112. package/module/DialogModule/DialogModule.d.ts.map +0 -1
  113. package/module/DialogModule/DialogModule.js +0 -118
  114. package/module/DialogModule/DialogModule.js.map +0 -1
  115. package/module/DialogModule/index.d.ts +0 -3
  116. package/module/DialogModule/index.d.ts.map +0 -1
  117. package/module/DialogModule/index.js +0 -19
  118. package/module/DialogModule/index.js.map +0 -1
  119. package/module/ReasonModule/ChainReason.d.ts +0 -11
  120. package/module/ReasonModule/ChainReason.d.ts.map +0 -1
  121. package/module/ReasonModule/ChainReason.js +0 -34
  122. package/module/ReasonModule/ChainReason.js.map +0 -1
  123. package/module/ReasonModule/CommanderReason.d.ts +0 -15
  124. package/module/ReasonModule/CommanderReason.d.ts.map +0 -1
  125. package/module/ReasonModule/CommanderReason.js +0 -151
  126. package/module/ReasonModule/CommanderReason.js.map +0 -1
  127. package/module/ReasonModule/CompetitiveReason.d.ts +0 -13
  128. package/module/ReasonModule/CompetitiveReason.d.ts.map +0 -1
  129. package/module/ReasonModule/CompetitiveReason.js +0 -133
  130. package/module/ReasonModule/CompetitiveReason.js.map +0 -1
  131. package/module/ReasonModule/PlanReason.d.ts +0 -25
  132. package/module/ReasonModule/PlanReason.d.ts.map +0 -1
  133. package/module/ReasonModule/PlanReason.js +0 -133
  134. package/module/ReasonModule/PlanReason.js.map +0 -1
  135. package/module/ReasonModule/ReasonModule.d.ts +0 -41
  136. package/module/ReasonModule/ReasonModule.d.ts.map +0 -1
  137. package/module/ReasonModule/ReasonModule.js +0 -83
  138. package/module/ReasonModule/ReasonModule.js.map +0 -1
  139. package/module/ReasonModule/ReflectReason.d.ts +0 -15
  140. package/module/ReasonModule/ReflectReason.d.ts.map +0 -1
  141. package/module/ReasonModule/ReflectReason.js +0 -86
  142. package/module/ReasonModule/ReflectReason.js.map +0 -1
  143. package/module/ReasonModule/TreeReason.d.ts +0 -16
  144. package/module/ReasonModule/TreeReason.d.ts.map +0 -1
  145. package/module/ReasonModule/TreeReason.js +0 -139
  146. package/module/ReasonModule/TreeReason.js.map +0 -1
  147. package/module/ReasonModule/index.d.ts +0 -8
  148. package/module/ReasonModule/index.d.ts.map +0 -1
  149. package/module/ReasonModule/index.js +0 -24
  150. package/module/ReasonModule/index.js.map +0 -1
  151. package/module/SkillModule/SkillModule.d.ts +0 -42
  152. package/module/SkillModule/SkillModule.d.ts.map +0 -1
  153. package/module/SkillModule/SkillModule.js +0 -134
  154. package/module/SkillModule/SkillModule.js.map +0 -1
  155. package/module/SkillModule/index.d.ts +0 -2
  156. package/module/SkillModule/index.d.ts.map +0 -1
  157. package/module/SkillModule/index.js.map +0 -1
  158. package/module/ToolModule/ToolModule.d.ts +0 -57
  159. package/module/ToolModule/ToolModule.d.ts.map +0 -1
  160. package/module/ToolModule/ToolModule.js +0 -220
  161. package/module/ToolModule/ToolModule.js.map +0 -1
  162. package/module/ToolModule/ToolRAG.d.ts +0 -38
  163. package/module/ToolModule/ToolRAG.d.ts.map +0 -1
  164. package/module/ToolModule/ToolRAG.js +0 -124
  165. package/module/ToolModule/ToolRAG.js.map +0 -1
  166. package/module/ToolModule/index.d.ts +0 -3
  167. package/module/ToolModule/index.d.ts.map +0 -1
  168. package/module/ToolModule/index.js +0 -19
  169. package/module/ToolModule/index.js.map +0 -1
  170. package/utility/OpenAIUtility.d.ts +0 -333
  171. package/utility/OpenAIUtility.d.ts.map +0 -1
  172. package/utility/OpenAIUtility.js +0 -95
  173. package/utility/OpenAIUtility.js.map +0 -1
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommanderReason = void 0;
4
- const base_1 = require("../../base");
5
- /**
6
- * 指挥调度推理策略 (Commander Reasoning)
7
- * 指挥 Agent 拆解任务 → 分派工人并行执行 → 指挥汇总输出
8
- * 适合:复杂多模块任务、需要分工协作的项目
9
- */
10
- class CommanderReason extends base_1.AbstractReason {
11
- constructor() {
12
- super(...arguments);
13
- this.type = "CommanderReason";
14
- /** 默认最大工人数 */
15
- this._defaultMaxWorkers = 3;
16
- }
17
- async execute(input, config) {
18
- const maxWorkers = config.maxWorkers ?? this._defaultMaxWorkers;
19
- const trace = [];
20
- let commander;
21
- const workers = [];
22
- // 只有 useAgent(指挥) 使用过滤后的工具,工人使用全部工具
23
- const commanderRunOptions = this.buildRunOptions(config);
24
- try {
25
- // Phase 1: Commander 拆解任务 — useAgent 作为指挥(若传入)
26
- trace.push("[Commander Phase 1] 指挥拆解任务");
27
- commander = config.useAgent ?? this.host.agentModule.createAgent({
28
- ...config.baseConfig,
29
- systemPrompt: config.baseConfig.systemPrompt ??
30
- "你是一个项目经理,擅长将复杂任务拆解为可独立执行的子任务,并整合各模块的输出。",
31
- });
32
- if (!commander) {
33
- return { success: false, content: "无法创建指挥 Agent", strategy: this.type, trace };
34
- }
35
- const planInput = `请将以下任务拆解为可独立执行的子任务(最多 ${maxWorkers} 个):\n\n` +
36
- `任务:${input}\n\n` +
37
- `要求:\n` +
38
- `1. 每个子任务必须是独立可执行的(不依赖其他子任务的结果)\n` +
39
- `2. 每个子任务应有明确的职责和预期产出\n` +
40
- `3. 子任务之间不应有重复\n\n` +
41
- `请严格按 JSON 格式输出(无其他内容):\n` +
42
- `\`\`\`json\n` +
43
- `{\n` +
44
- ` "tasks": [\n` +
45
- ` { "title": "子任务名称", "description": "子任务描述(将直接发给执行者)", "expectedOutput": "预期产出说明" }\n` +
46
- ` ]\n` +
47
- `}\n` +
48
- `\`\`\``;
49
- const planResult = await commander.run(planInput, commanderRunOptions);
50
- if (!planResult.success) {
51
- return { ...planResult, strategy: this.type, trace };
52
- }
53
- const tasks = this._parseTasks(planResult.content);
54
- if (!tasks || tasks.length === 0) {
55
- trace.push(`任务拆解失败,降级为直接执行\n解析内容: ${planResult.content.substring(0, 300)}`);
56
- const fallback = await commander.run(`请直接回答以下问题:\n${input}`, commanderRunOptions);
57
- return { ...fallback, strategy: this.type, trace };
58
- }
59
- trace.push(`拆解出 ${tasks.length} 个子任务:`);
60
- for (const t of tasks) {
61
- trace.push(` - ${t.title}`);
62
- }
63
- // Phase 2: 创建 Worker 并并行执行
64
- trace.push(`[Commander Phase 2] ${tasks.length} 个 Worker 并行执行`);
65
- const workerPromises = [];
66
- for (let i = 0; i < tasks.length; i++) {
67
- const worker = this.host.agentModule.createAgent({
68
- ...config.baseConfig,
69
- systemPrompt: `你是一个专业执行者。严格按照任务描述完成工作,输出完整的成果。`,
70
- });
71
- if (worker) {
72
- workers.push(worker);
73
- const taskIdx = i;
74
- workerPromises.push(worker.run(tasks[i].description).then(r => ({
75
- index: taskIdx,
76
- result: r.content,
77
- success: r.success,
78
- })));
79
- }
80
- }
81
- if (workerPromises.length === 0) {
82
- return { success: false, content: "无法创建任何 Worker", strategy: this.type, trace };
83
- }
84
- const workerResults = await Promise.all(workerPromises);
85
- for (const wr of workerResults) {
86
- const status = wr.success ? "完成" : "失败";
87
- trace.push(` Worker ${wr.index + 1} [${status}]: ${wr.result.substring(0, 100)}...`);
88
- }
89
- const successfulResults = workerResults.filter(r => r.success);
90
- if (successfulResults.length === 0) {
91
- return { success: false, content: "所有 Worker 执行失败", strategy: this.type, trace };
92
- }
93
- // Phase 3: Commander 汇总
94
- trace.push("[Commander Phase 3] 指挥汇总结果");
95
- const synthesisInput = `请将以下各子任务的执行结果整合为完整的最终输出。\n\n` +
96
- `原始任务:${input}\n\n` +
97
- tasks.map((t, i) => `【子任务 ${i + 1}】${t.title}\n预期产出:${t.expectedOutput}\n实际输出:\n${workerResults[i]?.result ?? "(未执行)"}\n`).join("---\n") +
98
- `\n要求:\n` +
99
- `1. 整合所有子任务的结果,形成连贯的完整输出\n` +
100
- `2. 处理子任务之间的冲突或重叠\n` +
101
- `3. 补充遗漏的关键信息\n` +
102
- `4. 不要简单拼接,而是有机整合`;
103
- const finalResult = await commander.run(synthesisInput, commanderRunOptions);
104
- if (!finalResult.success) {
105
- // 降级:直接拼接各 Worker 的结果
106
- trace.push("汇总失败,降级为拼接输出");
107
- const merged = workerResults
108
- .filter(r => r.success)
109
- .map((r, i) => `【${tasks[i]?.title ?? `部分 ${i + 1}`}】\n${r.result}`)
110
- .join("\n\n---\n\n");
111
- return { success: true, content: merged, strategy: this.type, trace };
112
- }
113
- return {
114
- ...finalResult,
115
- strategy: this.type,
116
- trace,
117
- };
118
- }
119
- finally {
120
- if (commander && !config.useAgent) {
121
- this.host.agentModule.destroyAgent(commander.id);
122
- }
123
- for (const worker of workers) {
124
- this.host.agentModule.destroyAgent(worker.id);
125
- }
126
- }
127
- }
128
- /** 解析 Commander 输出的 JSON 任务列表 */
129
- _parseTasks(text) {
130
- try {
131
- // 提取 ```json ... ``` 代码块
132
- const jsonMatch = text.match(/```(?:json)?\s*([\s\S]*?)```/);
133
- const jsonStr = jsonMatch ? jsonMatch[1].trim() : text.trim();
134
- const parsed = JSON.parse(jsonStr);
135
- const tasks = parsed?.tasks;
136
- if (!Array.isArray(tasks) || tasks.length === 0) {
137
- return null;
138
- }
139
- return tasks.map((t) => ({
140
- title: String(t.title ?? "未命名任务"),
141
- description: String(t.description ?? t.title ?? ""),
142
- expectedOutput: String(t.expectedOutput ?? ""),
143
- }));
144
- }
145
- catch {
146
- return null;
147
- }
148
- }
149
- }
150
- exports.CommanderReason = CommanderReason;
151
- //# sourceMappingURL=CommanderReason.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommanderReason.js","sourceRoot":"","sources":["../../../src/module/ReasonModule/CommanderReason.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { AbstractReason, ReasonConfig, ReasonResult } from "../../base";
2
- /**
3
- * 竞争者推理策略 (Competitive Reasoning)
4
- * N 个智能体以不同角色视角独立作答 → 裁判评估择优
5
- * 适合:方案决策、多角度分析、需要多视角对比的开放问题
6
- */
7
- export declare class CompetitiveReason extends AbstractReason {
8
- readonly type: string;
9
- /** 默认竞争者数量 */
10
- private readonly _defaultCount;
11
- execute(input: string, config: ReasonConfig): Promise<ReasonResult>;
12
- }
13
- //# sourceMappingURL=CompetitiveReason.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompetitiveReason.d.ts","sourceRoot":"","sources":["../../../src/module/ReasonModule/CompetitiveReason.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAUxE;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IAEjD,SAAgB,IAAI,EAAE,MAAM,CAAuB;IAEnD,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAE9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CA4InF"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompetitiveReason = void 0;
4
- const base_1 = require("../../base");
5
- /** 内置竞争者角色模板 */
6
- const DEFAULT_ROLES = [
7
- "你是一个严谨的系统架构师,优先考虑可靠性、可维护性和安全性。从架构稳健性角度分析问题。",
8
- "你是一个创新的产品设计师,优先考虑用户体验和业务价值。从用户需求和产品定位角度分析问题。",
9
- "你是一个务实的全栈工程师,优先考虑可实现性、性能和开发成本。从落地可行性和效率角度分析问题。",
10
- ];
11
- /**
12
- * 竞争者推理策略 (Competitive Reasoning)
13
- * N 个智能体以不同角色视角独立作答 → 裁判评估择优
14
- * 适合:方案决策、多角度分析、需要多视角对比的开放问题
15
- */
16
- class CompetitiveReason extends base_1.AbstractReason {
17
- constructor() {
18
- super(...arguments);
19
- this.type = "CompetitiveReason";
20
- /** 默认竞争者数量 */
21
- this._defaultCount = 3;
22
- }
23
- async execute(input, config) {
24
- const competitorCount = config.competitorCount ?? this._defaultCount;
25
- const customPrompts = config.competitorPrompts;
26
- const varyTemperature = config.varyTemperature ?? false;
27
- const roles = customPrompts ?? DEFAULT_ROLES.slice(0, competitorCount);
28
- const competitors = [];
29
- const trace = [];
30
- // 只有 useAgent(裁判) 使用过滤后的工具,竞争者使用全部工具
31
- const judgeRunOptions = this.buildRunOptions(config);
32
- try {
33
- // Phase 1: 创建竞争者并并行执行
34
- trace.push(`[Competitive Phase 1] 创建 ${roles.length} 个竞争者`);
35
- for (let i = 0; i < roles.length; i++) {
36
- const competitorConfig = { ...config.baseConfig, systemPrompt: roles[i] };
37
- if (varyTemperature) {
38
- // 温度差异化: 0.3 / 0.7 / 1.1 循环
39
- const temps = [0.3, 0.7, 1.1];
40
- competitorConfig.temperature = temps[i % temps.length];
41
- }
42
- const agent = this.host.agentModule.createAgent(competitorConfig);
43
- if (agent) {
44
- competitors.push(agent);
45
- trace.push(` 竞争者 ${i + 1}: 角色="${roles[i].substring(0, 40)}..."`);
46
- }
47
- }
48
- if (competitors.length < 2) {
49
- // 竞争者不足,降级为单 Agent 直接回答
50
- trace.push("竞争者数量不足,降级为直接执行");
51
- if (competitors.length === 1) {
52
- const result = await competitors[0].run(input);
53
- return { ...result, strategy: this.type, trace };
54
- }
55
- return { success: false, content: "无法创建竞争者", strategy: this.type, trace };
56
- }
57
- // 并行执行所有竞争者
58
- trace.push(`[Competitive Phase 2] ${competitors.length} 个竞争者并行执行`);
59
- const raceStart = Date.now();
60
- const candidateResults = await Promise.all(competitors.map((agent, i) => agent.run(input).then(r => {
61
- const duration = Date.now() - raceStart;
62
- trace.push(` 竞争者 ${i + 1} 完成 (${(duration / 1000).toFixed(1)}s): ${r.content.substring(0, 100)}...`);
63
- return { index: i, result: r, duration };
64
- })));
65
- // 过滤失败的结果
66
- const validCandidates = candidateResults.filter(c => c.result.success);
67
- if (validCandidates.length === 0) {
68
- return { success: false, content: "所有竞争者执行失败", strategy: this.type, trace };
69
- }
70
- if (validCandidates.length === 1) {
71
- trace.push("仅一个有效候选,直接返回");
72
- const c = validCandidates[0];
73
- return { ...c.result, strategy: this.type, trace };
74
- }
75
- // Phase 3: 裁判评估
76
- trace.push(`[Competitive Phase 3] 裁判评估 ${validCandidates.length} 个候选`);
77
- // useAgent 作为裁判(若传入),否则创建临时裁判
78
- const judge = config.useAgent ?? this.host.agentModule.createAgent({
79
- ...config.baseConfig,
80
- systemPrompt: "你是一个公正的裁判,负责评估多个候选答案的质量。请客观、严格地评分并给出理由。",
81
- temperature: 0.2,
82
- });
83
- if (!judge) {
84
- const fallback = validCandidates[0];
85
- trace.push("裁判创建失败,返回第一个候选");
86
- return { ...fallback.result, strategy: this.type, trace };
87
- }
88
- try {
89
- const judgeInput = `请评估以下 ${validCandidates.length} 个针对问题「${input}」的候选答案:\n\n` +
90
- validCandidates.map((c, i) => `【候选 ${i + 1}】\n${c.result.content}\n`).join("---\n") +
91
- `\n请完成以下评估:\n` +
92
- `1. 对每个候选答案打分(1-10 分)并简要说明理由\n` +
93
- `2. 选出最佳答案并说明为什么\n` +
94
- `3. 如果有改进空间,简要说明\n\n` +
95
- `请按以下格式输出:\n` +
96
- `评分:\n` +
97
- `- 候选 1: X分 - (理由)\n` +
98
- `- 候选 2: X分 - (理由)\n` +
99
- `...\n` +
100
- `最佳答案:候选 X\n` +
101
- `选择理由:(详细说明)\n` +
102
- `改进建议:(如有)`;
103
- const judgeResult = await judge.run(judgeInput, judgeRunOptions);
104
- trace.push(`裁判评估完成`);
105
- const winnerMatch = judgeResult.content?.match(/最佳答案[::]\s*候选\s*(\d+)/i);
106
- const winnerIdx = winnerMatch
107
- ? Math.max(0, Math.min(parseInt(winnerMatch[1]) - 1, validCandidates.length - 1))
108
- : 0;
109
- trace.push(`胜出: 候选 ${winnerIdx + 1}`);
110
- return {
111
- ...validCandidates[winnerIdx].result,
112
- strategy: this.type,
113
- trace: [
114
- ...trace,
115
- `裁判评分:\n${judgeResult.content.substring(0, 500)}`,
116
- ],
117
- };
118
- }
119
- finally {
120
- if (!config.useAgent) {
121
- this.host.agentModule.destroyAgent(judge.id);
122
- }
123
- }
124
- }
125
- finally {
126
- for (const agent of competitors) {
127
- this.host.agentModule.destroyAgent(agent.id);
128
- }
129
- }
130
- }
131
- }
132
- exports.CompetitiveReason = CompetitiveReason;
133
- //# sourceMappingURL=CompetitiveReason.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompetitiveReason.js","sourceRoot":"","sources":["../../../src/module/ReasonModule/CompetitiveReason.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { AbstractReason, ReasonConfig, ReasonResult } from "../../base";
2
- /**
3
- * 计划执行推理策略
4
- * 复杂任务拆解为子步骤 → 逐步执行 → 汇总结果
5
- * 适合:多步骤任务、开发流程、配置部署
6
- * 策略内部自行创建/管理一个 Agent 贯穿全流程
7
- */
8
- export declare class PlanReason extends AbstractReason {
9
- readonly type: string;
10
- execute(input: string, config: ReasonConfig): Promise<ReasonResult>;
11
- /** 从 LLM 输出中解析 PlanStep 数组 */
12
- private parsePlanSteps;
13
- }
14
- /** 计划步骤接口 */
15
- export interface PlanStep {
16
- /** 步骤编号 */
17
- index: number;
18
- /** 步骤描述 */
19
- description: string;
20
- /** 所需工具 */
21
- tools?: string[];
22
- /** 依赖的步骤编号 */
23
- dependsOn?: number[];
24
- }
25
- //# sourceMappingURL=PlanReason.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlanReason.d.ts","sourceRoot":"","sources":["../../../src/module/ReasonModule/PlanReason.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAE1C,SAAgB,IAAI,EAAE,MAAM,CAAgB;IAE/B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAwGhF,8BAA8B;IAC9B,OAAO,CAAC,cAAc;CAsCzB;AACD,aAAa;AACb,MAAM,WAAW,QAAQ;IAErB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlanReason = void 0;
4
- const base_1 = require("../../base");
5
- /**
6
- * 计划执行推理策略
7
- * 复杂任务拆解为子步骤 → 逐步执行 → 汇总结果
8
- * 适合:多步骤任务、开发流程、配置部署
9
- * 策略内部自行创建/管理一个 Agent 贯穿全流程
10
- */
11
- class PlanReason extends base_1.AbstractReason {
12
- constructor() {
13
- super(...arguments);
14
- this.type = "PlanReason";
15
- }
16
- async execute(input, config) {
17
- const agent = config.useAgent ?? this.host.agentModule.createAgent(config.baseConfig);
18
- const runOptions = this.buildRunOptions(config);
19
- try {
20
- const trace = [];
21
- // Phase 1: 生成执行计划
22
- trace.push("[Planner Phase 1] 生成执行计划");
23
- const planResult = await agent.run(`请将以下复杂任务拆解为可逐步执行的子任务列表。\n\n` +
24
- `任务: ${input}\n\n` +
25
- `请严格按以下 JSON 格式输出(不要包含其他内容):\n` +
26
- `\`\`\`json\n` +
27
- `{\n` +
28
- ` "steps": [\n` +
29
- ` {"index": 1, "description": "步骤描述", "tools": ["可能需要用到的工具名称或null"]},\n` +
30
- ` {"index": 2, "description": "步骤描述", "tools": ["..."]}\n` +
31
- ` ]\n` +
32
- `}\n` +
33
- `\`\`\`\n\n` +
34
- `要求:\n` +
35
- `1. 步骤按执行顺序排列\n` +
36
- `2. 每个步骤的描述应具体、可操作\n` +
37
- `3. 步骤数量控制在 3-7 个\n` +
38
- `4. 如果某步骤不需要特定工具,tools 字段设为空数组 []`, runOptions);
39
- if (!planResult.success) {
40
- return { ...planResult, strategy: this.type, trace };
41
- }
42
- // 解析计划步骤
43
- const steps = this.parsePlanSteps(planResult.content);
44
- if (steps.length === 0) {
45
- trace.push("计划解析失败,降级为直接执行");
46
- const fallback = await agent.run(`请直接完成以下任务: ${input}`, runOptions);
47
- return { ...fallback, strategy: this.type, trace };
48
- }
49
- trace.push(`解析到 ${steps.length} 个步骤:`);
50
- for (const s of steps) {
51
- trace.push(` Step ${s.index}: ${s.description}`);
52
- }
53
- // Phase 2: 逐步执行
54
- const stepResults = [];
55
- for (const step of steps) {
56
- trace.push(`[Planner Phase 2] 执行 Step ${step.index}: ${step.description}`);
57
- const stepResult = await agent.run(`你正在执行一个多步骤任务。当前是第 ${step.index}/${steps.length} 步。\n\n` +
58
- `当前步骤: ${step.description}\n` +
59
- (step.tools && step.tools.length > 0
60
- ? `可用工具: ${step.tools.join(", ")}\n`
61
- : "") +
62
- `请完成此步骤并输出结果。如果这是中间步骤,输出中间结果以便下一步骤使用。`, runOptions);
63
- if (!stepResult.success) {
64
- stepResults.push(`[Step ${step.index} 失败] ${step.description}`);
65
- trace.push(` Step ${step.index} 执行失败`);
66
- continue;
67
- }
68
- stepResults.push(`## Step ${step.index}: ${step.description}\n${stepResult.content}`);
69
- trace.push(` Step ${step.index} 完成: ${stepResult.content.substring(0, 150)}`);
70
- }
71
- // Phase 3: 汇总
72
- trace.push("[Planner Phase 3] 汇总结果");
73
- const summaryResult = await agent.run(`请汇总以下各步骤的执行结果,形成完整的最终输出。\n\n` +
74
- stepResults.join("\n\n---\n\n") +
75
- `\n\n---\n\n` +
76
- `要求: 以连贯的方式呈现最终结果,不要简单罗列步骤。`, runOptions);
77
- if (!summaryResult.success) {
78
- return {
79
- success: true,
80
- content: stepResults.join("\n\n"),
81
- strategy: this.type,
82
- trace,
83
- };
84
- }
85
- trace.push(`最终输出: ${summaryResult.content.substring(0, 200)}`);
86
- return {
87
- ...summaryResult,
88
- strategy: this.type,
89
- trace,
90
- };
91
- }
92
- finally {
93
- if (!config.useAgent) {
94
- this.host.agentModule.destroyAgent(agent.id);
95
- }
96
- }
97
- }
98
- /** 从 LLM 输出中解析 PlanStep 数组 */
99
- parsePlanSteps(text) {
100
- try {
101
- const jsonMatch = text.match(/```(?:json)?\s*([\s\S]*?)```/);
102
- const jsonStr = jsonMatch ? jsonMatch[1].trim() : text.trim();
103
- const objMatch = jsonStr.match(/\{[\s\S]*\}/);
104
- if (!objMatch)
105
- return [];
106
- const parsed = JSON.parse(objMatch[0]);
107
- if (parsed.steps && Array.isArray(parsed.steps)) {
108
- return parsed.steps.map((s, i) => ({
109
- index: s.index ?? i + 1,
110
- description: s.description ?? String(s),
111
- tools: Array.isArray(s.tools) ? s.tools : [],
112
- }));
113
- }
114
- }
115
- catch { /* JSON 解析失败 */ }
116
- // Fallback: 按 "数字." 或 "Step 数字" 模式提取
117
- const steps = [];
118
- const lines = text.split("\n");
119
- for (const line of lines) {
120
- const m = line.match(/(?:Step\s*)?(\d+)[\.\)::]\s*(.+)/i);
121
- if (m && m[2].trim().length > 5) {
122
- steps.push({
123
- index: parseInt(m[1]),
124
- description: m[2].trim(),
125
- tools: [],
126
- });
127
- }
128
- }
129
- return steps;
130
- }
131
- }
132
- exports.PlanReason = PlanReason;
133
- //# sourceMappingURL=PlanReason.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlanReason.js","sourceRoot":"","sources":["../../../src/module/ReasonModule/PlanReason.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { AbstractModule, AbstractReason, ReasonConfig, ReasonResult } from "../../base";
2
- /** 推理管理模块 — 推理策略池 + 用户输入总入口 */
3
- export declare class ReasonModule extends AbstractModule {
4
- /** 推理模式管理池 */
5
- private _reasons;
6
- /** 构造函数 */
7
- constructor();
8
- /** 已注册策略数量 */
9
- get count(): number;
10
- /**
11
- * 注册推理策略(外部可调用以扩展自定义策略)
12
- * @param name 策略名
13
- * @param reason 策略实例
14
- * @return 是否注册成功
15
- */
16
- register(name: string, reason: AbstractReason): boolean;
17
- /**
18
- * 注销推理策略
19
- * @param name 策略名
20
- * @return 是否移除成功
21
- */
22
- unregister(name: string): boolean;
23
- /** 检查策略是否已注册 */
24
- has(name: string): boolean;
25
- /** 获取指定策略实例 */
26
- get<T extends AbstractReason>(name: string): T | null;
27
- /** 列出全部已注册策略信息 */
28
- list(): Array<{
29
- name: string;
30
- type: string;
31
- }>;
32
- /**
33
- * 执行推理(用户输入总入口)
34
- * 根据策略名选择推理模式,策略内部自行管理 Agent 生命周期
35
- * @param input 用户输入
36
- * @param config 推理配置(含 Agent 基础配置 + 策略特定参数)
37
- * @param strategy 策略名(默认 ChainReason)
38
- */
39
- execute(input: string, config: ReasonConfig, strategy?: string): Promise<ReasonResult>;
40
- }
41
- //# sourceMappingURL=ReasonModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReasonModule.d.ts","sourceRoot":"","sources":["../../../src/module/ReasonModule/ReasonModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AASxF,+BAA+B;AAC/B,qBAAa,YAAa,SAAQ,cAAc;IAE5C,cAAc;IACd,OAAO,CAAC,QAAQ,CAAwC;IAExD,WAAW;;IAgBX,cAAc;IACd,IAAW,KAAK,IAAI,MAAM,CAAgC;IAE1D;;;;;OAKG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;IAK9D;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKxC,gBAAgB;IACT,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKjC,eAAe;IACR,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAK5D,kBAAkB;IACX,IAAI,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAWpD;;;;;;OAMG;IACU,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;CAcrH"}
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReasonModule = void 0;
4
- const base_1 = require("../../base");
5
- const utility_1 = require("../../utility");
6
- const ChainReason_1 = require("./ChainReason");
7
- const ReflectReason_1 = require("./ReflectReason");
8
- const TreeReason_1 = require("./TreeReason");
9
- const PlanReason_1 = require("./PlanReason");
10
- const CompetitiveReason_1 = require("./CompetitiveReason");
11
- const CommanderReason_1 = require("./CommanderReason");
12
- /** 推理管理模块 — 推理策略池 + 用户输入总入口 */
13
- class ReasonModule extends base_1.AbstractModule {
14
- /** 构造函数 */
15
- constructor() {
16
- super();
17
- this._reasons = new utility_1.ObjectUtility.MapPool();
18
- // 注册内置推理模式
19
- this._reasons.Add("ChainReason", new ChainReason_1.ChainReason());
20
- this._reasons.Add("ReflectReason", new ReflectReason_1.ReflectReason());
21
- this._reasons.Add("TreeReason", new TreeReason_1.TreeReason());
22
- this._reasons.Add("PlanReason", new PlanReason_1.PlanReason());
23
- this._reasons.Add("CompetitiveReason", new CompetitiveReason_1.CompetitiveReason());
24
- this._reasons.Add("CommanderReason", new CommanderReason_1.CommanderReason());
25
- }
26
- // ======================== 策略注册管理 ========================
27
- /** 已注册策略数量 */
28
- get count() { return this._reasons.Count; }
29
- /**
30
- * 注册推理策略(外部可调用以扩展自定义策略)
31
- * @param name 策略名
32
- * @param reason 策略实例
33
- * @return 是否注册成功
34
- */
35
- register(name, reason) {
36
- return this._reasons.Add(name, reason);
37
- }
38
- /**
39
- * 注销推理策略
40
- * @param name 策略名
41
- * @return 是否移除成功
42
- */
43
- unregister(name) {
44
- return this._reasons.Remove(name);
45
- }
46
- /** 检查策略是否已注册 */
47
- has(name) {
48
- return this._reasons.Exist(name);
49
- }
50
- /** 获取指定策略实例 */
51
- get(name) {
52
- return this._reasons.Get(name);
53
- }
54
- /** 列出全部已注册策略信息 */
55
- list() {
56
- return this._reasons.KeysToArray().map(key => {
57
- const r = this._reasons.Get(key);
58
- return { name: key, type: r?.type ?? "unknown" };
59
- });
60
- }
61
- // ======================== 推理执行 ========================
62
- /**
63
- * 执行推理(用户输入总入口)
64
- * 根据策略名选择推理模式,策略内部自行管理 Agent 生命周期
65
- * @param input 用户输入
66
- * @param config 推理配置(含 Agent 基础配置 + 策略特定参数)
67
- * @param strategy 策略名(默认 ChainReason)
68
- */
69
- async execute(input, config, strategy = "ChainReason") {
70
- const reason = this._reasons.Get(strategy);
71
- if (!reason) {
72
- return {
73
- success: false,
74
- content: `未知推理策略: ${strategy}`,
75
- strategy,
76
- trace: [`可用策略: ${this._reasons.ValuesToArray().map(r => r.type).join(", ")}`],
77
- };
78
- }
79
- return reason.execute(input, config);
80
- }
81
- }
82
- exports.ReasonModule = ReasonModule;
83
- //# sourceMappingURL=ReasonModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReasonModule.js","sourceRoot":"","sources":["../../../src/module/ReasonModule/ReasonModule.ts"],"names":[],"mappings":";;;AAAA,qCAAwF;AACxF,2CAA8C;AAC9C,+CAA4C;AAC5C,mDAAgD;AAChD,6CAA0C;AAC1C,6CAA0C;AAC1C,2DAAwD;AACxD,uDAAoD;AAEpD,+BAA+B;AAC/B,MAAa,YAAa,SAAQ,qBAAc;IAK5C,WAAW;IACX;QAEI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAa,CAAC,OAAO,EAAkB,CAAC;QAC5D,WAAW;QACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,yBAAW,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,6BAAa,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,uBAAU,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,uBAAU,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,qCAAiB,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,iCAAe,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,2DAA2D;IAE3D,cAAc;IACd,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1D;;;;;OAKG;IACI,QAAQ,CAAC,IAAY,EAAE,MAAsB;QAEhD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,IAAY;QAE1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;IACT,GAAG,CAAC,IAAY;QAEnB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,eAAe;IACR,GAAG,CAA2B,IAAY;QAE7C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;IACX,IAAI;QAEP,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAEzC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yDAAyD;IAEzD;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,MAAoB,EAAE,WAAmB,aAAa;QAEtF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EACX,CAAC;YACG,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,WAAW,QAAQ,EAAE;gBAC9B,QAAQ;gBACR,KAAK,EAAE,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAChF,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;CACJ;AA1FD,oCA0FC"}