任务拆解与分阶段生成
复杂任务一次性让模型完成,容易出现遗漏、跑偏和格式不稳定。任务拆解的核心思想是把大任务拆成多个清晰阶段,让每一步都有明确输入和输出。
# 1. 为什么要拆解
复杂目标
-> 信息收集
-> 结构分析
-> 草稿生成
-> 校验修改
-> 最终输出
拆解可以带来几个好处:
- 降低单次任务复杂度。
- 让中间结果可检查。
- 便于失败重试。
- 更容易接入工具和规则校验。
# 2. 常见拆解方式
| 任务 | 拆解方式 |
|---|---|
| 写方案 | 背景分析 -> 目标 -> 方案 -> 风险 -> 计划 |
| 总结长文 | 分段摘要 -> 合并摘要 -> 提炼结论 |
| 代码修改 | 理解需求 -> 定位文件 -> 修改 -> 测试 -> 总结 |
| 数据分析 | 明确问题 -> 查询数据 -> 解释指标 -> 给建议 |
| RAG 问答 | 检索 -> 筛选证据 -> 生成答案 -> 引用校验 |
# 3. 分阶段 Prompt 示例
# 3.1 第一步:提取要点
请从下面材料中提取事实要点。
要求:
1. 只提取原文明确出现的信息。
2. 不做推测。
3. 按“事实、数据、风险、待确认事项”分类。
# 3.2 第二步:基于要点生成结论
请基于上一步提取的要点生成结论。
要求:
1. 每个结论必须对应至少一个事实。
2. 不确定的地方标记为“待确认”。
3. 输出面向管理者的简洁版本。
# 4. 中间结果校验
分阶段生成的关键是检查中间结果。
| 阶段 | 校验方式 |
|---|---|
| 信息提取 | 是否遗漏关键字段,是否编造 |
| 分类归纳 | 类别是否清晰,是否重复 |
| 方案生成 | 是否覆盖约束和风险 |
| 结构化输出 | 是否符合 Schema |
| 最终答案 | 是否满足用户目标 |
# 5. 与 Agent 的关系
任务拆解是 Agent 的基础能力之一。但并不是所有拆解都要用 Agent。固定流程适合普通工作流,动态路径才更适合 Agent。
固定拆解:用工作流
动态拆解:考虑 Agent
高风险动作:加入人工确认
# 6. 常见坑
- 拆得太细,成本和延迟变高。
- 每一步没有明确输出格式,导致后续难以消费。
- 中间结果错误但没有校验,错误被放大。
- 把简单任务过度拆解,反而降低效率。
# 7. Tips 快问快答
Q:什么时候需要任务拆解?
A:当任务包含多个目标、输入很长、输出要求严格或失败成本较高时,就应该拆解。
Q:拆解会不会让成本变高?
A:可能会。拆解提升稳定性,但增加调用次数。需要在质量、延迟和成本之间取舍。
Q:能不能让模型自己拆解?
A:可以,但生产系统最好限制步骤、输出格式和工具权限,避免模型自由发挥过度。
上次更新: 2026/06/25, 17:53:09