# 任务调度

# 任务系统

任务系统用于处理复杂目标。当你的请求不是一句话能完成时，Tinybot 会尝试拆成多个步骤，按顺序或并行执行，并在界面中显示进度。

## 什么是任务系统

你可以把任务系统理解成“AI 的待办清单”。例如：

    请分析这个项目，并写一份面向新手的使用说明。

Tinybot 可能拆成：

1. 阅读 README 和 docs
2. 查看项目命令和配置结构
3. 判断文档和现状是否一致
4. 重写快速开始和配置说明
5. 检查文档格式

你不需要手动创建这些步骤。只要目标足够明确，Tinybot 会自己决定是否拆分。

## 适合交给任务系统的请求

适合 | 示例
--- | ---
多文件分析 | “请阅读 docs 和 README，找出过期说明”
生成成果物 | “请写一份部署说明并保存到 docs/deploy.md”
排查问题 | “请运行测试，定位失败原因并修复”
长资料整理 | “请把这些会议记录整理成行动项和风险列表”
需要先调查再修改 | “请根据代码现状更新使用文档”

## 不需要任务系统的请求

不太需要 | 更合适的问法
--- | ---
简单问答 | “Tinybot 怎么启动？”
单个文件小修改 | “把这个标题改成快速开始”
一次性命令 | “运行 `uv run tinybot status`”

## 怎么写好复杂任务

建议包含四个信息：

信息 | 示例
--- | ---
目标 | “更新使用文档”
范围 | “只修改 docs 目录，不改代码”
读者 | “面向不懂 AI Agent 的用户”
输出 | “保留 Markdown 格式，补充常见问题”

完整示例：

    请根据当前代码和 README，更新 docs 目录里的使用说明。目标读者是不太懂 AI Agent 的普通用户。重点解释如何安装、配置密钥、启动网页界面、让 AI 读取文件和避免误操作。只修改文档，不改代码。

## 查看进度

### 命令行

复杂任务执行时，命令行会显示任务进度和当前步骤。你可以看到哪些步骤完成了，哪些还在进行。

### 网页界面

网页界面会显示任务状态、工具调用和部分执行过程。适合观察长任务。

## 后台和并行执行

Tinybot 可以让部分子任务在后台或并行执行。例如一边扫描文件，一边整理已经读到的信息。这样能加快大任务，但也意味着你应该明确范围，避免它在不相关目录里花太多时间。

## 中断任务

界面 | 操作
--- | ---
命令行 | 按 `Ctrl+C`
网页界面 | 点击中断按钮

中断后可以重新提出更小、更明确的任务。

## 常见问题

### 任务跑得太久

常见原因是范围太大。可以改成：

    只分析 docs 目录，不读取 .venv、.git、缓存目录。

### 结果和预期不一致

补充输出格式和判断标准。例如：

    请按“问题、原因、建议修改”三列输出，不要直接改文件。

### Tinybot 做了太多额外事情

在请求中加限制：

    只修改 Markdown 文档，不运行测试，不改 Python 代码。

## 下一步

- 工具功能：理解任务执行时会用到哪些工具
- 技能系统：给重复任务固定流程
- 知识库：让任务能引用你的长期资料