diff --git a/README.md b/README.md index bae317e..2b7df5b 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ curl http://localhost:5199/ai/tasks/550e8400-e29b-41d4-a716-446655440000 | type | 说明 | params 字段 | |------|------|------------| | `aggregate-report` | 聚合学习残片为报告 | `taskName`, `expectation`, `fragments[]` | -| `generate-mind-map` | 生成思维导图大纲 | `taskName`, `reports[]`, `fragments[]`, `applications[]` | +| `generate-mind-map` | 生成思维导图大纲 | `taskName`, `reports[]`, `applications[]` | | `compare-recall` | 对比用户回忆与标准导图 | `taskName`, `standardOutline`, `recallOutline` | ## 架构位置 diff --git a/src/llm/prompts.test.ts b/src/llm/prompts.test.ts index c5d3495..a5b29aa 100644 --- a/src/llm/prompts.test.ts +++ b/src/llm/prompts.test.ts @@ -32,15 +32,14 @@ describe("aggregateReportPrompt", () => { }); describe("generateMindMapPrompt", () => { - it("要求输出缩进大纲且包含全部输入", () => { + it("要求输出缩进大纲且只包含学习报告", () => { const messages = generateMindMapPrompt( "Java 并发", "并发编程学习", ["报告一"], - ["残片一", "残片二"], ); expect(messages[0].content).toContain("缩进"); expect(messages[1].content).toContain("报告一"); - expect(messages[1].content).toContain("残片二"); + expect(messages[1].content).not.toContain("学习残片"); }); }); diff --git a/src/llm/prompts.ts b/src/llm/prompts.ts index 462fd5d..7158039 100644 --- a/src/llm/prompts.ts +++ b/src/llm/prompts.ts @@ -50,20 +50,19 @@ export function aggregateReportPrompt( } /** - * 从学习报告和残片生成标准思维导图(预留,用于替代 Java 端 BuiltinMindMapGenerator)。 + * 从学习报告生成标准思维导图(预留,用于替代 Java 端 BuiltinMindMapGenerator)。 * 输出为缩进大纲文本,与后端 MindMapTreeTool.parseOutline 格式一致。 */ export function generateMindMapPrompt( taskName: string, taskDescription: string, reports: string[], - fragments: string[], ): ChatMessage[] { return [ { role: "system", content: [ - "你是一名知识结构整理助手。请阅读某个学习任务的全部学习报告和残片,", + "你是一名知识结构整理助手。请阅读某个学习任务的全部学习报告,", "将其中的知识点整理成一份思维导图大纲。要求:", "1. 第一行是导图根标题(任务主题);", "2. 之后每行一个节点,用两个空格的缩进表示层级;", @@ -81,9 +80,6 @@ export function generateMindMapPrompt( "", "学习报告:", ...reports.map((r, i) => `${i + 1}. ${r}`), - "", - "学习残片:", - ...fragments.map((f, i) => `${i + 1}. ${f}`), ] .filter(Boolean) .join("\n"), diff --git a/src/task-queue.ts b/src/task-queue.ts index 03594ef..fa75060 100644 --- a/src/task-queue.ts +++ b/src/task-queue.ts @@ -160,12 +160,10 @@ function buildMessages(task: TaskRecord) { } case "generate-mind-map": { const reports = p.reports as string[] | undefined; - const fragments = p.fragments as string[] | undefined; return generateMindMapPrompt( p.taskName as string, (p.taskDescription as string) ?? "", reports ?? [], - fragments ?? [], ); } case "compare-recall": {