From 4d31da761e03e7dd5090f8b2aed77868f6724337 Mon Sep 17 00:00:00 2001 From: siage Date: Wed, 16 Apr 2025 20:25:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=9F=A5=E8=A9=A2=E4=BB=BB?= =?UTF-8?q?=E5=8B=99=E6=8F=90=E7=A4=BA=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/prompts/generators/queryTask.ts | 12 +++-- src/prompts/templates/analyzeTask.ts | 2 +- src/prompts/templates/queryTask.ts | 72 +++++++++++++++++++++------- 3 files changed, 63 insertions(+), 23 deletions(-) diff --git a/src/prompts/generators/queryTask.ts b/src/prompts/generators/queryTask.ts index 0dfe379..88c391a 100644 --- a/src/prompts/generators/queryTask.ts +++ b/src/prompts/generators/queryTask.ts @@ -31,16 +31,18 @@ export function getQueryTaskPrompt(params: QueryTaskPromptParams): string { // 初始化基本 prompt let basePrompt = generatePrompt(templates.searchHeaderTemplate, { query, - isId, + searchMode: isId + ? templates.searchModeIdTemplate + : templates.searchModeKeywordTemplate, totalTasks, }); // 如果沒有找到任務 if (tasks.length === 0) { - basePrompt += generatePrompt(templates.noResultsTemplate, { - query, - isId, - }); + basePrompt += generatePrompt( + isId ? templates.noResultsIdTemplate : templates.noResultsKeywordTemplate, + { query } + ); return loadPrompt(basePrompt, "QUERY_TASK"); } diff --git a/src/prompts/templates/analyzeTask.ts b/src/prompts/templates/analyzeTask.ts index 128ae97..9369139 100644 --- a/src/prompts/templates/analyzeTask.ts +++ b/src/prompts/templates/analyzeTask.ts @@ -38,6 +38,6 @@ export const iterationAnalysisTemplate = `\n\n## 迭代分析\n\n請對照先前 // 下一步行動模板 export const nextActionTemplate = `\n\n## 下一步行動\n\n完成分析後,使用「reflect_task」工具提交最終分析,包含:\n\n1. **原始任務摘要** - 保持與第一階段一致 -2. **完整分析結果** - 技術細節、接口依賴、實施策略、驗收標準和工作量估計 +2. **完整分析結果** - 技術細節、接口依賴、實施策略、驗收標準 您的分析將決定解決方案質量,請全面考慮各種技術因素和業務約束。`; diff --git a/src/prompts/templates/queryTask.ts b/src/prompts/templates/queryTask.ts index 235eb23..93f5bac 100644 --- a/src/prompts/templates/queryTask.ts +++ b/src/prompts/templates/queryTask.ts @@ -5,36 +5,74 @@ /** * queryTask 相關的提示模板 + * 注意:所有變數格式已統一為 {變數} 格式,移除了 {{變數}} 格式 */ +/** + * 查詢模式模板 - 已將三元運算符拆分為兩個獨立常量 + */ +export const searchModeIdTemplate = "任務ID查詢"; +export const searchModeKeywordTemplate = "關鍵字查詢"; + /** * 查詢頭部模板 + * 注意:三元運算符已替換為 {searchMode} 變數 */ export const searchHeaderTemplate = ` # 任務查詢結果 ## 查詢資訊 -- 查詢詞: {{query}} -- 查詢模式: {{isId ? "任務ID查詢" : "關鍵字查詢"}} -- 總計找到: {{totalTasks}} 筆任務 +- 查詢詞: {query} +- 查詢模式: {searchMode} +- 總計找到: {totalTasks} 筆任務 `; /** - * 沒有結果時的模板 + * 沒有結果時的模板 - 已拆分為ID查詢和關鍵字查詢兩個獨立模板 + * 原模板保留作為參考: + * export const noResultsTemplate = ` + * ## 無符合結果 + * 沒有找到符合 "{query}" 的任務。 + * + * ### 可能的原因: + * {{#if isId}} + * - 您提供的任務ID不存在或格式不正確 + * - 任務可能已被刪除 + * {{else}} + * - 關鍵字拼寫可能有誤 + * - 請嘗試使用更簡短或相近的關鍵詞 + * - 任務清單可能為空 + * {{/if}} + * + * 您可以使用 \`list_tasks\` 命令查看所有現有任務。 + * `; */ -export const noResultsTemplate = ` + +/** + * 沒有結果時的模板 - ID查詢 + */ +export const noResultsIdTemplate = ` ## 無符合結果 -沒有找到符合 "{{query}}" 的任務。 +沒有找到符合 "{query}" 的任務。 ### 可能的原因: -{{#if isId}} - 您提供的任務ID不存在或格式不正確 - 任務可能已被刪除 -{{else}} + +您可以使用 \`list_tasks\` 命令查看所有現有任務。 +`; + +/** + * 沒有結果時的模板 - 關鍵字查詢 + */ +export const noResultsKeywordTemplate = ` +## 無符合結果 +沒有找到符合 "{query}" 的任務。 + +### 可能的原因: - 關鍵字拼寫可能有誤 - 請嘗試使用更簡短或相近的關鍵詞 - 任務清單可能為空 -{{/if}} 您可以使用 \`list_tasks\` 命令查看所有現有任務。 `; @@ -53,9 +91,9 @@ export const resultListHeaderTemplate = ` */ export const paginationInfoTemplate = ` ## 分頁資訊 -- 當前頁: {{page}} / {{totalPages}} -- 每頁顯示: {{pageSize}} 筆 -- 總計結果: {{totalTasks}} 筆 +- 當前頁: {page} / {totalPages} +- 每頁顯示: {pageSize} 筆 +- 總計結果: {totalTasks} 筆 您可以指定 page 參數查看更多結果。 `; @@ -64,11 +102,11 @@ export const paginationInfoTemplate = ` * 任務摘要模板 */ export const taskSummaryTemplate = ` -### {{taskName}} (ID: {{taskId}}) -- 狀態: {{taskStatus}} -- 描述: {{taskDescription}} -- 建立時間: {{createdAt}} -- 完成時間: {{completedAt}} +### {taskName} (ID: {taskId}) +- 狀態: {taskStatus} +- 描述: {taskDescription} +- 建立時間: {createdAt} +- 完成時間: {completedAt} `; /**