子智能体
将独立任务分给多个智能体,并由主线程汇总验证。
可用性与成本
Lime 的多智能体工作在同一 App Server 和任务模型中协调。可用工具与模型由当前运行环境决定;每个子智能体分别调用模型和工具,因此并行工作可能增加 Token 用量。
在任务中明确要求委派,或通过适用的项目指南与技能规定分工。不要仅为了让流程显得复杂而启动多个智能体。
为什么使用子智能体
主线程适合保存目标、约束和决策。代码探索、长日志、独立测试等会产生大量中间输出,可交给子任务处理,让其返回证据与摘要,减少无关内容占据主上下文。
- 先从只读探索、错误调查或独立审查开始。
- 写入任务按模块分配互不重叠的文件。
- 强依赖步骤按顺序执行,等待前一步得到明确结论。
- 同一热点文件的并行编辑会增加冲突与协调成本。
核心术语
| 概念 | 含义 |
|---|---|
| 主智能体 | 保留总目标、协调任务和整体验证 |
| 子智能体 | 承担一个有边界的任务 |
| 智能体线程 | 子任务的过程、状态和结果 |
| 共享工作区 | 多个任务可能立即看到彼此的文件修改,不等同于隔离 checkout |
触发分工
请用三个子智能体审查当前更改:
1. 安全审查:只读,检查权限与输入边界。
2. 测试审查:只读,找出缺失用例与复现步骤。
3. 契约审查:只读,核对接口和消费者。
等结果齐备后汇总。每个结果给出文件、证据和未验证事项。提示词应说明目标、输入、文件写集、依赖、等待要求和返回格式。写入任务还要明确其他智能体正在同一代码库工作,不能覆盖或回滚他人修改。
模型与推理设置
为任务选择当前提供商可用的模型。范围清楚的扫描适合较快模型,复杂实现和安全审查需要较强推理能力。提高推理强度可能增加时间与用量,具体支持级别由模型目录决定。
未明确指定时,遵循当前运行时的继承规则。跨模型分工前检查能力、上下文与费用;不要把参考产品的模型名、专属套餐和固定推理级别写成 Lime 默认值。
编排与线程控制
- 启动时交付完整、独立的子任务。
- 中途变化时将更正发给对应智能体,并说明它影响的范围。
- 等待结果时继续处理不依赖该结果的工作。
- 收到摘要后核对证据、文件变更和各任务间的契约。
- 停止或调整任务后,检查已有修改与运行中进程。
管理子智能体
在任务活动中打开对应线程查看过程和结果。在终端中使用 /subagents 查看并切换线程;Agent Center 用于浏览任务。主线程需要明确报告哪些任务完成、哪些被中断、哪些结果尚未验证。
审批与沙盒
子任务不会因为被委派就获得额外权限。执行仍受父任务授权、沙盒、工具与管理员策略约束。审批时核对来源线程、目标和命令;非交互运行中无法展示新审批的操作可能失败并返回父任务。
“只读审查”指令是行为要求,不能代替实际只读权限。需要强制只读时,在会话或运行环境使用相应权限设置。
定义专门职责
将角色写成清晰的任务合同:名称、适用任务、必须阅读的事实、允许修改的范围和输出要求。Lime 当前配置不应照搬其他客户端的独立 agents/*.toml 文件模式、默认子模型键或并发字段。需要长期复用时,把这些合同写入项目技能或指南。
示例:PR 审查
以 main 为基准审查当前分支。
- 探索任务:追踪受影响代码路径,只返回入口、调用和证据。
- 审查任务:检查正确性、安全性和测试,按影响排序。
- 文档任务:用已连接的文档工具核实框架 API。
全部任务只读;主线程统一核实发现,不发布评论。示例:前端集成调试
排查设置保存失败。让界面调查任务复现并记录步骤、截图和请求;
让代码调查任务追踪状态和服务调用。等根因明确后,
将修复交给单独任务,只修改已确认的文件,并运行相关验证。完成后由主线程检查实际界面、服务结果和测试。子智能体报告完成不能代替整条工作流验收。