智能任务拆解质量评估与自动优化系统
TaskForge 使用大语言模型 (LLM) 自动将复杂任务拆解为结构化任务树,通过 6 个维度的质量指标进行评估,并自动迭代优化直到达到最优质量。
- 从自然语言自动生成任务树
- LLM 驱动的 2-3 层结构化拆解
- 自动估计工时、优先级和依赖关系
- 结构指标: 无环性、层级一致性、平衡性
- 语义指标: 冗余度、粒度合理性、可执行性
- TDQ 综合评分: 加权整合 6 个指标
生成任务树 → 评估质量 → 识别问题 → LLM 改进 → 重新评估 → 循环优化
- OpenAI (GPT-4, GPT-4o)
- Anthropic Claude (3.5 Sonnet)
- Google Gemini (2.0 Flash)
- Ollama (本地模型)
- 自定义 (OpenAI 兼容 API)
- Transformers.js 本地运行
- 无需 API key,完全免费
- 默认模型:
Xenova/all-MiniLM-L6-v2(23MB)
git clone https://github.com/lichman0405/taskforge.git
cd taskforge
npm install复制环境变量模板:
cp .env.example .env编辑 .env 文件,配置您的 LLM provider:
# 示例: 使用 DeepSeek + 本地 Embedding
LLM_PROVIDER=custom
CUSTOM_API_KEY=sk-...
CUSTOM_BASE_URL=https://api.deepseek.com
CUSTOM_MODEL=deepseek-chat
EMBEDDING_PROVIDER=local
LOCAL_EMBEDDING_MODEL=Xenova/all-MiniLM-L6-v2npm run build# 1. 结构指标测试
npm run demo:structural
# 2. 语义指标测试
npm run demo:semantic
# 3. 自动优化 (完整流程)
npm run demo:optimizeimport { optimizeTaskDecomposition } from './dist/service/taskService.js';
import { createLLMClient, createEmbeddingClient } from './dist/llm/factory.js';
import { getLLMConfig, getEmbeddingConfig } from './dist/core/config.js';
const llmClient = createLLMClient(getLLMConfig());
const embeddingClient = createEmbeddingClient(getEmbeddingConfig());
// 自动优化任务拆解
const result = await optimizeTaskDecomposition(
"创建一个在线教育平台,支持视频课程、在线测验和学生管理",
llmClient,
embeddingClient,
{
maxIterations: 5,
targetTDQ: 0.75,
verbose: true
}
);
console.log(`最终 TDQ: ${result.finalTDQ.score}`);
console.log(`迭代次数: ${result.iterations}`);import { saveTaskTree } from './dist/core/export.js';
// 保存为 JSON
await saveTaskTree(result.finalTree, 'output.json', 'json');
// 保存为 Markdown (包含评估报告)
await saveTaskTree(result.finalTree, 'output.md', 'markdown', result.finalTDQ);TaskForge 使用 6 个维度评估任务拆解质量:
| 指标 | 权重 | 说明 |
|---|---|---|
| Acyclicity (A) | 0.10 | 检测任务依赖是否存在循环 |
| Hierarchy (H) | 0.15 | 评估层级结构的一致性 |
| Balance (B) | 0.10 | 评估子任务分布的平衡性 |
| Granularity (G) | 0.20 | 评估任务粒度是否合理 (1-8h) |
| Redundancy (R) | 0.10 | 检测重复任务 (基于 Embedding) |
| Executability (E) | 0.25 | 评估任务描述的可执行性 |
TDQ 综合评分 = Σ(指标 × 权重)
- 语言: TypeScript (ES Modules)
- 运行时: Node.js v24+
- LLM SDK:
openai: OpenAI API@anthropic-ai/sdk: Claude API@google/generative-ai: Gemini APIollama: Ollama 本地模型
- Embedding:
@xenova/transformers(本地) - 配置:
dotenv
TaskForge/
├── src/
│ ├── core/ # 核心数据结构与配置
│ ├── metrics/ # 评估指标实现
│ ├── llm/ # LLM 抽象层
│ └── service/ # 任务生成与优化引擎
├── docs/ # 需求文档
├── tests/ # 单元测试
├── demo-*.mjs # 示例脚本
├── .env.example # 环境变量模板
└── README.md
# LLM: DeepSeek (¥0.001/1K tokens)
LLM_PROVIDER=custom
CUSTOM_BASE_URL=https://api.deepseek.com
CUSTOM_MODEL=deepseek-chat
# Embedding: 本地免费
EMBEDDING_PROVIDER=local单次优化成本: ~¥0.02 (3 次迭代)
欢迎提交 Issue 和 Pull Request!
ISC License
- OpenAI - GPT 模型
- Anthropic - Claude 模型
- Google - Gemini 模型
- Xenova/transformers.js - 本地 Embedding
- Ollama - 本地 LLM 运行
TaskForge - 让任务拆解更智能、更高效! 🚀