任务规划器 (To-Do)
AnyLLM 的一个关键特性是,代理不仅能执行命令,还能在处理复杂的多步骤任务时规划其行动。这使其从一个简单的工具转变为一个在行动前会思考的方法论助手。
工作原理
当您给代理一个复杂的请求时,例如“为我构建一个完整的应用程序”,它不会试图通过一次冲动的操作来解决它。相反,它会:
- 分解任务: 代理首先将大目标分解为小的、可管理的步骤。
- 形成计划: 它创建一个内部的待办事项列表(To-Do list)。
- 向您展示计划: 代理会告知您已创建的计划,使其意图完全透明。
- 逐步执行: 它开始一步一步地执行任务,并勾选已完成的项目。
这使得开发过程变得可预测、可控,并显著增加了成功完成复杂任务的机会。
实际案例
让我们看看这在实践中是什么样子的。
用户请求:
用 PHP 创建一个功能齐全的 CLI “todo-app”。首先,制定一个行动计划。
代理的响应和行动:
• First run in session. Analyzing task...
• Task identified: User wants to create a full CLI 'todo-app' on PHP and requests a plan of action first.
我将为用 PHP 构建“todo-app” CLI 应用程序制定一个行动计划。
// --- 第 1 步:规划 ---
// 代理思考并为每个步骤调用内部的 add_todo 工具。
│ Internal: Task '创建项目结构(目录和文件)' added to the to-do list.
│ Internal: Task '创建数据文件(用于存储任务的 JSON)' added to the to-do list.
│ Internal: Task '开发应用程序类(Task, TaskManager, TodoApp)' added to the to-do list.
│ Internal: Task '实现 CLI 菜单和命令处理(add, list, done, delete, clear, help)' added to the to-do list.
│ Internal: Task '创建主可执行文件(index.php)以运行应用程序' added to the to-do list.
│ Internal: Task '创建包含使用说明的 README.md 文件' added to the to-do list.
// --- 第 2 步:显示计划 ---
// 代理向您显示已创建的计划。
│ Internal: Current To-Do List:
- [ ] 创建项目结构(目录和文件)
- [ ] 创建数据文件(用于存储任务的 JSON)
- [ ] 开发应用程序类(Task, TaskManager, TodoApp)
- [ ] 实现 CLI 菜单和命令处理(add, list, done, delete, clear, help)
- [ ] 创建主可执行文件(index.php)以运行应用程序
- [ ] 创建包含使用说明的 README.md 文件
为用 PHP 创建“todo-app” CLI 应用程序的行动计划已准备就绪。
...
开始执行计划。
// --- 第 3 步:执行 ---
// 代理处理计划中的第一项并开始编写代码。
### 第 1 步:创建项目结构
🛠 Using tool: execute_shell_command
🛠 Using tool: write_file
... (创建 App/Models/Task.php 文件) ...
从示例中可以看出,代理首先投入时间进行规划,只有在获得一个清晰且(默认)批准的计划后,才开始执行。