任务与目标

任务系统让 AI 能够自主规划、管理和执行复杂目标。通过 6 个工具,AI 可以创建任务、分解复杂目标、查询进度、控制执行和调整计划。

任务类型

任务系统支持四种任务类型,适应不同的执行场景:

类型说明适用场景
simple简单任务,单个工具调用挖一个方块、移动到某位置
composite复合任务,包含多个子任务挖矿(移动→挖掘→收集)
loop循环任务,重复执行指定次/条件持续挖矿直到背包满
conditional条件任务,满足条件时才执行如果饥饿则吃东西

工具列表

工具功能参数返回值
task_create创建任务name, type, description(可选), action(可选)任务 ID
task_query查询任务id(可选), status(可选)任务详情/列表
task_update更新任务id, status(可选), progress(可选)更新结果
task_control控制任务执行id, action控制结果
task_decompose分解复杂任务task_description, context(可选), max_subtasks(可选)子任务列表
task_manage管理任务系统action, …管理结果

工具详解

task_create — 创建任务

创建简单任务:

{
  "tool": "task_create",
  "params": {
    "name": "收集 10 个铁矿石",
    "type": "simple",
    "action": { "toolName": "mine_block", "parameters": { "x": 100, "y": 64, "z": 200 } },
    "priority": "high"
  }
}

创建复合任务(含子任务):

{
  "tool": "task_create",
  "params": {
    "name": "前往矿洞挖矿",
    "type": "composite",
    "subtask_ids": ["task_001", "task_002", "task_003"]
  }
}

批量创建任务(传 items 数组):

{
  "tool": "task_create",
  "params": {
    "items": [
      { "name": "收集木头", "type": "simple", "priority": "high" },
      { "name": "合成工作台", "type": "simple", "priority": "high" },
      { "name": "合成木镐", "type": "simple", "priority": "normal" }
    ]
  }
}

task_query — 查询任务

{
  "tool": "task_query",
  "params": { "status": "active" }
}

task_update — 更新任务

更新任务状态或进度:

{
  "tool": "task_update",
  "params": { "id": "task_001", "status": "completed", "progress": 100 }
}

task_control — 控制任务

控制任务的执行流程:

{
  "tool": "task_control",
  "params": { "id": "task_001", "action": "pause" }
}

支持的控制动作:start(开始)、pause(暂停)、resume(恢复)、cancel(取消)、restart(重启)

task_decompose — 分解任务

LLM 辅助将复杂任务拆解为一系列可执行的子任务:

{
  "tool": "task_decompose",
  "params": {
    "task_description": "建一个 10x10 的石头房子,包含门和窗户",
    "context": { "location": { "x": 100, "y": 64, "z": 200 }, "resources": ["stone", "glass"] },
    "max_subtasks": 10,
    "strategy": "sequential"
  }
}

分解策略:

  • sequential — 子任务按顺序执行(默认)
  • parallel — 子任务可并行执行
  • mixed — 混合策略

task_manage — 任务系统管理

管理任务系统的全局设置和调度:

{
  "tool": "task_manage",
  "params": { "action": "list" }
}

典型工作流

AI 自主完成”收集全套钻石装备”的典型任务分解与执行流程:

1. task_decompose(
     task_description: "收集一套钻石装备(剑、镐、头盔、胸甲、护腿、靴子)",
     strategy: "sequential"
   )
   → 分解为多个子任务

2. 对每个子任务创建 task_create(...)
   → 注册到任务系统

3. task_query(status: "active")
   → 查看任务列表,按优先级安排执行

4. task_control(id: "挖矿子任务", action: "start")
   → 开始执行

5. 执行过程中查询进度: task_query(id: "挖矿子任务")
   → 确认进度

6. 完成后: task_update(id: "挖矿子任务", status: "completed")
   → 标记完成

7. 继续下一个子任务...

错误处理

场景错误码说明
任务 ID 不存在NOT_FOUND查询或控制不存在的任务
参数缺失INVALID_PARAMS缺少必填参数
任务已处于该状态—幂等操作,返回当前状态