修改拆分任務指導,解決粒度過小問題

This commit is contained in:
siage 2025-04-21 17:48:29 +08:00
parent ba20709f86
commit a5939f2418
3 changed files with 35 additions and 17 deletions

View File

@ -84,19 +84,28 @@ async function main() {
{ {
name: "analyze_task", name: "analyze_task",
description: description:
"深入分析任務需求並系統性檢查代碼庫,評估技術可行性與潛在風險,如果需要提供程式碼請使用 pseudocode 格式且盡量精簡只保留核心實現部分", "深入分析任務需求並系統性檢查代碼庫,評估技術可行性與潛在風險,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼",
inputSchema: zodToJsonSchema(analyzeTaskSchema), inputSchema: zodToJsonSchema(analyzeTaskSchema),
}, },
{ {
name: "reflect_task", name: "reflect_task",
description: description:
"批判性審查分析結果,評估方案完整性並識別優化機會,確保解決方案符合最佳實踐,如果需要提供程式碼請使用 pseudocode 格式且盡量精簡只保留核心實現部分", "批判性審查分析結果,評估方案完整性並識別優化機會,確保解決方案符合最佳實踐,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼",
inputSchema: zodToJsonSchema(reflectTaskSchema), inputSchema: zodToJsonSchema(reflectTaskSchema),
}, },
{ {
name: "split_tasks", name: "split_tasks",
description: description: `將複雜任務分解為獨立子任務,建立依賴關係和優先順序。
"將複雜任務分解為獨立且可追蹤的子任務,建立明確的依賴關係和優先順序。支援四種任務更新模式:追加(append)、覆蓋(overwrite)、選擇性更新(selective)和清除所有任務(clearAllTasks),其中覆蓋模式只會刪除未完成的任務並保留已完成任務,選擇性更新模式可根據任務名稱智能匹配更新現有任務,同時保留其他任務,如果你需要規劃全新的任務請使用清除所有任務模式會清除所有任務並創建備份。請優先使用清除所有任務模式,只有用戶要求變更或修改計畫內容才使用其他模式。\n\n**請參考之前的分析結果提供 pseudocode\n\n**如果任務太多或內容過長請分批使用「split_tasks」工具每次只提交一小部分任務**嚴重警告**你每次呼叫 split_tasks 傳遞的參數不能超過8000個字如果超出 8000 個字請多次呼叫工具完成", ## updateMode
- **append**
- **overwrite**
- **selective**
- **clearAllTasks**使
##
- **pseudocode**
- ****
- ****使split_tasks8000`,
inputSchema: zodToJsonSchema(splitTasksSchema), inputSchema: zodToJsonSchema(splitTasksSchema),
}, },
{ {

View File

@ -7,7 +7,8 @@
export const reflectTaskTemplate = `## 方案評估\n\n### 任務摘要\n\`\`\`\n{summary}\n\`\`\`\n\n### 分析結果\n\`\`\`\n{analysis}\n\`\`\`\n\n`; export const reflectTaskTemplate = `## 方案評估\n\n### 任務摘要\n\`\`\`\n{summary}\n\`\`\`\n\n### 分析結果\n\`\`\`\n{analysis}\n\`\`\`\n\n`;
// 評估要點模板 // 評估要點模板
export const evaluationPointsTemplate = `## 評估要點\n\n### 1. 技術完整性 export const evaluationPointsTemplate = `## 評估要點
### 1.
- -
- -
- -
@ -26,28 +27,34 @@ export const evaluationPointsTemplate = `## 評估要點\n\n### 1. 技術完整
- `; - `;
// 決策點模板 // 決策點模板
export const decisionPointsTemplate = `## 決策點\n\n根據評估結果選擇後續行動\n\n- **發現關鍵問題**使用「analyze_task」重新提交改進方案 export const decisionPointsTemplate = `## 決策點
- ****使analyze_task
- **調** - **調**
- ****使split_tasks使使split_tasks`; - ****使split_tasks使使split_tasks\n\n`;
// 更新模式選擇模板 // 更新模式選擇模板
export const updateModesTemplate = `## split_tasks 更新模式選擇 export const updateModesTemplate = `## split_tasks 更新模式選擇
- **append** - - **append** -
- **overwrite** - - **overwrite** -
- **selective** - - **selective** -
- **clearAllTasks** - `; - **clearAllTasks** - \n\n`;
// 知識傳遞機制模板 // 知識傳遞機制模板
export const knowledgeTransferTemplate = `## 知識傳遞機制 export const knowledgeTransferTemplate = `## 知識傳遞機制
1. **** - 1. **** -
2. **** - 2. **** -
3. **** - `; 3. **** - \n\n`;
// 任務過多處理模板 // 任務過多處理模板
export const taskOverflowTemplate = `## split_tasks 任務太多或內容過長導致「split_tasks」工具無法正常運作時 export const taskOverflowTemplate = `## 任務拆分指南(請嚴格遵守以下規則)
- 使使split_tasks - ****
- - **** dependencies
- **** split_tasks 8000 8000 `; - ****
- ****
- **調**split_tasks使使split_tasks
- ****
- **** split_tasks 8000 8000 \n\n`;
// 結尾提醒模板 // 結尾提醒模板
export const conclusionTemplate = `請嚴格審查方案,確保解決方案質量。`; export const conclusionTemplate = `請嚴格審查方案,確保解決方案質量。`;

View File

@ -160,7 +160,7 @@ export const analyzeTaskSchema = z.object({
"初步解答構想不能少於50個字符請提供更詳細的內容確保技術方案清晰", "初步解答構想不能少於50個字符請提供更詳細的內容確保技術方案清晰",
}) })
.describe( .describe(
"初步解答構想,包含技術方案、架構設計和實施策略,如果需要提供程式碼請使用 pseudocode 格式且盡量精簡只保留核心實現部分最少50個字符" "最少50個字符的初步解答構想,包含技術方案、架構設計和實施策略,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼"
), ),
previousAnalysis: z previousAnalysis: z
.string() .string()
@ -204,7 +204,7 @@ export const reflectTaskSchema = z.object({
message: "技術分析內容不夠詳盡,請提供完整的技術分析和實施方案", message: "技術分析內容不夠詳盡,請提供完整的技術分析和實施方案",
}) })
.describe( .describe(
"完整詳盡的技術分析結果,包括所有技術細節、依賴組件和實施方案,如果需要提供程式碼請使用 pseudocode 格式且盡量精簡只保留核心實現部分" "完整詳盡的技術分析結果,包括所有技術細節、依賴組件和實施方案,如果需要提供程式碼請使用 pseudocode 格式且僅提供高級邏輯流程和關鍵步驟避免完整代碼"
), ),
}); });
@ -253,7 +253,7 @@ export const splitTasksSchema = z.object({
implementationGuide: z implementationGuide: z
.string() .string()
.describe( .describe(
"此特定任務的具體實現方法和步驟,請參考之前的分析結果提供 pseudocode" "此特定任務的具體實現方法和步驟,請參考之前的分析結果提供精簡pseudocode"
), ),
dependencies: z dependencies: z
.array(z.string()) .array(z.string())
@ -310,7 +310,9 @@ export const splitTasksSchema = z.object({
.min(1, { .min(1, {
message: "請至少提供一個任務", message: "請至少提供一個任務",
}) })
.describe("結構化的任務清單,每個任務應保持原子性且有明確的完成標準"), .describe(
"結構化的任務清單,每個任務應保持原子性且有明確的完成標準,避免過於簡單的任務,簡單修改可與其他任務整合,避免任務過多"
),
globalAnalysisResult: z globalAnalysisResult: z
.string() .string()
.optional() .optional()