任务与目标
任务系统让 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 | 缺少必填参数 |
| 任务已处于该状态 | — | 幂等操作,返回当前状态 |