Agent 与任务系统
Task 表示可独立运行的子工作单元(子代理);AgentTool 让主对话「派生」子代理执行复杂步骤。支持 Team / Swarms 多代理协作。
1. Task 基础
统一接口:创建、发消息、收结果、取消、状态查询。实现因类型而异(进程、远程、in-process)。
2. Task 类型(概念,约 7 种)
| 类型 | 典型用途 |
|---|---|
| 本地子代理 | 仓库内读写、bash |
| 远程 / Bridge | 跨机、Teleport |
| 后台 | 长任务不阻塞 REPL |
| 专用形态 | 依版本命名(查 tasks/ 目录) |
具体枚举以源码 tasks/ 为准,文档不逐类贴实现。
3. AgentTool
主模型调用 Agent 类工具 → 创建 Task → 子代理独立 query 循环 → 结果压缩回主线程。
Prompt cache:子代理请求前缀与父对齐以复用缓存(见 00)。
4. SendMessage / Team
- SendMessage:Task 间消息传递。
- Team / Swarms:多 Agent 分工、汇总(见 12 专题 4)。
5. Agent Summary
长任务结束后生成摘要写回主上下文,避免塞满原始 tool 日志。
6. Buddy 系统
配对助手、共享上下文策略(轻量协作形态,依 feature 开启)。
7. 总结
Task = 子会话 + 子 query;排错看 Task 状态机与权限是否继承父会话策略。