任务
任务是存储在 Anyy state 里的持久个人任务记录。它适合跟踪后续工作、提醒 assistant 处理的事项,以及需要跨当前对话保留的轻量任务列表。
任务不是 memory。稳定事实和偏好写入 memory;可以完成、取消、阻塞或按 due date 过滤的工作项放在 tasks。
任务工具
模型可见任务工具位于 tasks toolset:
| 工具 | 用途 | 策略 |
|---|---|---|
task_create | 创建持久任务。 | 审计的 config-low change。 |
task_list | 列出持久任务。 | 直接读取。 |
task_update | 更新任务字段。 | 审计的 config-low change。 |
task_complete | 标记任务完成。 | 审计的 config-low change。 |
任务工具默认不需要用户审批,但 create、update、complete 会作为 task change 写入审计。
任务字段
任务记录可以包含:
| 字段 | 含义 |
|---|---|
title | 创建任务时必填。 |
description | 可选的长描述。 |
status | pending、in_progress、blocked、completed 或 cancelled。 |
priority | low、normal、high 或 urgent。 |
due_at | 可选 RFC3339 due time。 |
labels | 用于过滤的标签。 |
metadata | Runtime 使用的结构化 metadata。 |
session_id / turn_id | 创建或修改该任务的 session 和 turn。 |
完成后的任务会保留 completed_at、created_at 和 updated_at。
创建和更新
task_create 只要求 title:
{
"title": "Review the provider fallback config",
"priority": "high",
"labels": ["docs", "config"]
}
task_update 要求 id,并且至少提供一个要修改的字段:
{
"id": "task_123",
"status": "blocked",
"description": "Waiting for provider credentials."
}
task_complete 要求 id,可附带简短 note:
{
"id": "task_123",
"note": "Provider fallback behavior was documented."
}
列表和过滤
task_list 支持:
| 过滤条件 | 含义 |
|---|---|
status | 只返回某个状态。 |
include_completed | 是否包含 completed,默认 false。 |
priority | 只返回某个优先级。 |
due_before / due_after | 按 due date 边界过滤。 |
query | 搜索任务文本。 |
labels | 匹配标签。 |
limit | 最大结果数,上限 50。 |
Scope
任务工具会从当前 session 解析 runtime scope。Channel、TUI、gateway session 都使用同一套 resident runtime role/workspace scope 规则。
如果无法解析当前 session scope,任务操作会失败,而不是回退到无 scope 写入。
使用建议
- 后续工作用 tasks,稳定用户事实不要放 tasks。
- 只有在确实有日期或时间时才写
due_at;模糊紧急程度用priority或描述表达。 - 用 label 做可审查分类,例如
docs、ops或waiting。 - 需要到点主动执行或通知时,用 cron 或 reminder。
定时工作见 定时任务(Cron)。持久偏好和 assistant notes 见 Persistent Memory。