Skip to content

项目任务分解

有一个大目标或项目,AI 帮助拆解为可执行的小任务,估算时间和资源,制定执行计划。

适用场景

  • 新项目启动规划
  • 大目标拆解执行
  • 工作量估算
  • 项目进度管理

前置准备

必需插件

插件用途安装方式
Text GeneratorAI 任务分解社区插件市场
Tasks任务管理社区插件市场

推荐插件

插件用途
Kanban可视化看板
Dataview进度统计

分解模板

markdown
---
project: {{project_name}}
deadline: {{deadline}}
status: planning
---

# 项目:{{project_name}}

## 🎯 项目目标
<!-- 项目要达成什么 -->

## 📋 AI 任务分解
<!-- AI 生成的任务列表 -->

## 📊 进度追踪
<!-- 手动更新进度 -->

## 📝 项目笔记
<!-- 项目相关笔记 -->

任务分解 Prompt

markdown
# 项目任务分解

## 项目信息
- **目标**:{{goal}}
- **截止日期**:{{deadline}}
- **可用时间**:{{available_time}} 小时/周
- **当前状态**:{{current_status}}
- **限制条件**:{{constraints}}

## 分解要求

### 任务粒度
- 每个任务 30分钟-2小时 可完成
- 任务描述具体可操作
- 任务之间有明确顺序

### 输出格式

## 阶段一:{{phase_name}}
- [ ] 任务1(预计:X小时)
  - 具体步骤
- [ ] 任务2(预计:X小时)
  - 具体步骤

## 阶段二:{{phase_name}}
...

## 📅 时间规划
| 阶段 | 预计时间 | 截止日期 |
|------|----------|----------|
| 阶段一 | X小时 | 日期 |

## ⚠️ 风险提示
- 风险1:应对方案
- 风险2:应对方案

## 💡 建议
- 建议1
- 建议2

进度更新自动化

javascript
<%*
// 计算项目进度
const projectFile = tp.file.find_tfile("Projects/项目名.md");
const content = await app.vault.read(projectFile);

const completed = (content.match(/- \[x\]/g) || []).length;
const total = (content.match(/- \[[ x]\]/g) || []).length;
const progress = Math.round((completed / total) * 100);

tR += `## 📊 进度\n完成度:${progress}% (${completed}/${total})\n`;
%>

返回

← 返回案例目录

详细操作步骤

步骤一:创建项目笔记

markdown
<!-- Templates/Project.md -->
---
title: {{project_name}}
status: planning
created: {{date}}
deadline: {{deadline}}
tags: [project]
---

# {{project_name}}

## 🎯 项目目标
<!-- SMART 原则:具体、可衡量、可达成、相关、有时限 -->

## 📋 任务列表
<!-- AI 生成的任务分解 -->

## 📊 进度追踪
- 开始日期:
- 当前阶段:
- 完成度:0%

## ⚠️ 风险与应对
<!-- 项目风险 -->

## 📝 项目笔记
<!-- 项目相关资料 -->

步骤二:AI 智能分解

javascript
// Templater 脚本:智能任务分解
async function decomposeProject(goal, deadline, hoursPerWeek) {
  const decomposition = await textGenerator.generate(`
    作为项目管理专家,将以下项目目标分解为可执行的任务:

    项目目标:${goal}
    截止日期:${deadline}
    每周可用时间:${hoursPerWeek} 小时

    分解要求:
    1. 任务粒度:每个任务 30分钟-2小时
    2. 明确依赖关系
    3. 标注关键路径
    4. 估算时间和资源
    5. 识别风险点
    6. 设置里程碑

    输出格式:
    ## 阶段一:准备阶段(第1-2周)
    - [ ] 任务1 ⏳ 2h 📅 日期
      - 具体步骤
      - 依赖:无
      - 输出:...

    ## 里程碑检查点
    - 里程碑1:日期,交付物

    ## 关键路径
    任务A → 任务B → 任务C

    ## 风险清单
    | 风险 | 概率 | 影响 | 应对措施 |
  `);

  return decomposition;
}

步骤三:进度自动追踪

javascript
// 自动计算项目进度
async function updateProgress(projectFile) {
  const content = await app.vault.read(projectFile);

  const completed = (content.match(/- \[x\]/g) || []).length;
  const total = (content.match(/- \[[ x]\]/g) || []).length;
  const progress = Math.round((completed / total) * 100);

  // 更新 frontmatter
  await updateFrontmatter(projectFile, {
    progress: `${progress}%`,
    completedTasks: completed,
    totalTasks: total
  });

  // 生成进度报告
  if (progress >= 50 && progress < 55) {
    await notify("项目已完成 50%,继续加油!");
  }
}

高级技巧

1. WBS 工作分解结构

markdown
# 项目 WBS

## 1. 需求分析
### 1.1 用户调研
- [ ] 设计问卷 ⏳ 2h
- [ ] 收集反馈 ⏳ 4h
- [ ] 分析结果 ⏳ 3h

### 1.2 竞品分析
- [ ] 竞品调研 ⏳ 3h
- [ ] 功能对比 ⏳ 2h

## 2. 设计阶段
### 2.1 原型设计
...

## 里程碑
| 里程碑 | 日期 | 交付物 |
|--------|------|--------|
| M1: 需求确认 | 日期 | 需求文档 |
| M2: 设计完成 | 日期 | 设计稿 |

2. 甘特图生成

javascript
// 生成甘特图数据
async function generateGanttData(tasks) {
  const ganttData = tasks.map(t => ({
    task: t.name,
    start: t.startDate,
    end: t.endDate,
    progress: t.progress
  }));

  // 可以导出到 Mermaid 或其他甘特图工具
  return `
\`\`\`mermaid
gantt
    title 项目进度
    dateFormat  YYYY-MM-DD
    section 阶段一
    任务1     :a1, 2024-01-01, 3d
    任务2     :a2, after a1, 2d
\`\`\`
  `;
}

3. 资源分配优化

javascript
// AI 资源优化建议
async function optimizeResources(project) {
  return await textGenerator.generate(`
    分析以下项目任务,优化资源分配:

    任务列表:
    ${project.tasks.map(t => `- ${t.name} (${t.hours}h, 负责人: ${t.assignee})`).join('\n')}

    团队成员:
    ${project.members.map(m => `- ${m.name} (${m.skills.join(', ')})`).join('\n')}

    请提供:
    1. 任务分配优化建议
    2. 瓶颈分析
    3. 并行执行机会
    4. 资源冲突解决方案
  `);
}

常见问题

Q1: 任务分解粒度如何把握?

原则:

markdown
# 任务分解原则

## 粒度标准
- **太大**:超过 4 小时 → 继续分解
- **合适**:30分钟 - 2小时 → 可执行
- **太小**:小于 15 分钟 → 合并相关任务

## 判断标准
1. 能否在一个工作时段内完成?
2. 完成标准是否清晰?
3. 是否有明确的输出物?
4. 是否可以独立验证?

Q2: 项目延期怎么办?

应对策略:

javascript
async function handleDelay(project) {
  const analysis = await textGenerator.generate(`
    项目出现延期,分析原因并提供解决方案:

    项目状态:
    - 原计划:${project.originalPlan}
    - 当前进度:${project.currentProgress}
    - 已用时间:${project.spentTime}

    请提供:
    1. 延期原因分析
    2. 范围调整建议(可删减的功能)
    3. 资源增加方案
    4. 新的时间计划
    5. 风险防控措施
  `);

  return analysis;
}

Q3: 如何管理多个并行项目?

markdown
# 多项目管理看板

## 项目概览
| 项目 | 状态 | 进度 | 下个里程碑 | 风险等级 |
|------|------|------|-----------|----------|
| 项目A | 进行中 | 60% | M2 | 🟢 低 |
| 项目B | 进行中 | 30% | M1 | 🟡 中 |
| 项目C | 规划中 | 0% | - | 🟢 低 |

## 本周任务汇总
```dataview
TABLE
  project as "项目",
  file.tasks.text as "任务",
  file.tasks.due as "截止"
FROM "Projects"
WHERE file.tasks.due <= date(today) + dur(7 days)

## 实际案例

### 案例:开发一个 Obsidian 插件

```markdown
## 项目信息
- 目标:开发 AI 笔记增强插件
- 周期:4 周
- 每周可用:10 小时

## AI 分解结果

### 阶段一:设计(第1周)
- [ ] 需求分析 ⏳ 3h
- [ ] 技术选型 ⏳ 2h
- [ ] 原型设计 ⏳ 3h
- [ ] 架构设计 ⏳ 2h

### 阶段二:开发(第2-3周)
- [ ] 核心功能开发 ⏳ 10h
- [ ] UI 界面开发 ⏳ 5h
- [ ] 测试用例编写 ⏳ 3h

### 阶段三:发布(第4周)
- [ ] Bug 修复 ⏳ 3h
- [ ] 文档编写 ⏳ 3h
- [ ] 发布准备 ⏳ 2h

## 执行效果
- 按时完成率:90%
- 任务估算准确度:85%
- 项目成功上线

效率对比

指标手动规划AI 辅助规划
规划时间3-4小时30分钟
任务遗漏经常有极少
估算准确性60%85%
进度追踪手动更新自动统计
最后更新:2026年4月7日编辑此页反馈问题