问题
一个巨型 prompt 想让模型一次完成"分析需求 → 设计方案 → 生成代码 → 写文档",结果每个环节都做得半吊子——单次生成的质量随任务复杂度非线性下降。
核心模式
提示链(Prompt Chaining):复杂任务拆成串联的专用步骤,每步一个聚焦的 prompt,步间以结构化产物衔接。
# 每步只做一件事,输出带 schema 校验
analysis = run(ANALYZE_PROMPT, 需求文档) # → 结构化需求清单
design = run(DESIGN_PROMPT, analysis) # → 方案 + 取舍说明
code = run(CODEGEN_PROMPT, design) # → 代码
review = run(REVIEW_PROMPT, code, design) # → 审查意见
if review.has_blockers:
code = run(FIX_PROMPT, code, review) # 局部回环
docs = run(DOCS_PROMPT, code)
每步可以独立调优:prompt、模型档位、温度、校验规则都不同。链式结构让质量问题定位到步——输出不满意时,你知道该改哪一环。
实战要点
- 步间产物用结构化格式(JSON schema),别用自由文本——自由文本在传递中信息逐层衰减
- 每步加输出校验,不合格就地重试,坏 intermediate 不往下传(垃圾进垃圾出的连锁放大)
- 允许局部回环(审查不过 → 回炉),但设全局迭代上限
- 与 Agent 的关系:提示链是"流程已知的确定性任务"的最优解;路径不可预知的任务才需要 Agent 自主决策——别把一切都做成 Agent