Skip to main content

🔄 工作流引擎

YingClaw 内置工作流引擎,确保任务执行结构化、可追溯、可恢复,避免复杂任务中途迷失方向。


任务生命周期

每个任务从创建到完成经历明确的四个阶段:

pending ──→ in_progress ──→ completed

└──→ cancelled
状态含义触发条件
pending等待执行任务刚创建
in_progress执行中代理开始处理
completed已完成所有步骤成功执行
cancelled已取消用户终止或执行失败无法恢复

核心工具

todo — 任务列表

创建和管理分步任务计划:

{
"merge": false,
"todos": [
{ "id": "step-1", "content": "分析项目结构", "status": "pending" },
{ "id": "step-2", "content": "识别性能瓶颈", "status": "pending" },
{ "id": "step-3", "content": "执行优化", "status": "pending" },
{ "id": "step-4", "content": "验证结果", "status": "pending" }
]
}

使用 merge: true 增量更新已有任务,无需重新提交全部列表。

delegate — 委派执行

将具体步骤委派给子代理执行:

{
"prompt": "分析 src/ 目录下所有 TypeScript 文件的类型安全问题",
"agents": [
{ "name": "ts-checker", "role": "TypeScript 类型检查专家" }
]
}

assess_workload — 工作量评估

在执行前评估项目规模,防止上下文溢出:

{}

自动扫描项目文件数、总大小、代码复杂度等指标。


四阶段详解

阶段 1:需求澄清

  • 确认任务目标、范围和成功标准
  • 识别潜在的模糊点和约束条件
  • 与用户就预期产出达成一致

阶段 2:项目评估

  • 调用 assess_workload 扫描项目
  • 统计文件数、总大小、复杂度
  • 判断是否需要分拆任务,防止上下文溢出

阶段 3:规划确认

  • 使用 todo 创建分步计划
  • 每个步骤有独立 ID 和清晰描述
  • 向用户展示计划并等待确认

阶段 4:执行

  • 使用 delegate 逐步骤委派执行
  • 每完成一步自动更新 todo 状态
  • 支持并行执行无依赖步骤

错误处理

情况处理策略
单步骤失败自动标记为 cancelled,记录错误原因
部分失败已完成步骤保留,失败步骤可重新规划
全部失败建议用户缩小范围或调整策略后重试
用户中断所有进行中任务标记为 cancelled

并行执行

对于无依赖关系的子任务,传入 agents 数组实现并行:

{
"prompt": "同时检查前端和后端的代码质量",
"agents": [
{ "name": "frontend-checker", "role": "检查 React 组件代码" },
{ "name": "backend-checker", "role": "检查 API 路由代码" }
]
}

两个代理同时执行,结果汇总后返回。


成本控制

机制说明
独立上下文每个子代理有独立上下文窗口,互不干扰
迭代上限max_iterations 限制每个代理的工具调用次数
自动终止达到上限后自动终止,返回已有结果

下一步

了解 YingClaw 的多渠道接入能力:

👉 通道接入 →