主题
高频面试题
什么是提示词链接?如何实现?
这题考的是你能否把一个“大 Prompt”拆成多个可观测、可测试、可回滚的小步骤,而不是只会堆上下文。
面试官角度分析,想考什么
- Prompt Chaining 是什么?
考是否理解多步模型调用和中间结果传递。 - 为什么不用一个大 Prompt?
考可控性、可观测性和失败定位。 - 如何实现?
考输入输出 schema、状态传递和重试机制。 - 它和 Agent 有什么区别?
考固定流程与动态决策的边界。
可直接抄走的 30 秒参考答案
text
Prompt Chaining 是把复杂任务拆成多个模型调用,每一步有明确输入、输出和校验,上一步结果作为下一步上下文。它比一个大 prompt 更容易控制、测试和定位问题。实现时我会给每一步设计 schema,保存中间结果,失败只重试当前步骤。它更像固定 Workflow,而 Agent 是运行时动态决定下一步。面试回答详解,知其所以然
Prompt Chaining 的本质是把一次复杂生成拆成可控流水线。
1. 基本流程
例如生成技术方案:
text
需求理解 -> 信息抽取 -> 方案生成 -> 风险评审 -> 最终润色每一步都是一个独立 Prompt,有明确输入和输出。中间结果可以被检查、修正或缓存。
2. 为什么要链接
一个大 Prompt 容易出现:
- 指令太多,模型抓不住重点。
- 错误发生后不知道是哪一步出问题。
- 输出格式复杂,解析失败。
- 所有步骤都重跑,成本高。
拆成链后,每一步更短、更聚焦,也更容易单独评估。
3. 如何实现
关键是为每一步定义 contract:
text
Step 1 输入:用户需求
Step 1 输出:结构化需求字段
Step 2 输入:需求字段 + 约束
Step 2 输出:候选方案列表
Step 3 输入:候选方案
Step 3 输出:风险评审和推荐结论输出最好用 JSON schema 或固定 Markdown 字段,避免下一步读不懂。
4. 加入校验和重试
每一步后面都可以加校验:
- schema 是否通过。
- 必填字段是否缺失。
- 引用是否存在。
- 数值是否合理。
- 是否触发安全规则。
失败时只重跑当前步骤,而不是整个链路。
5. 和 Agent 的区别
Prompt Chaining 的控制流通常由代码写死,像 Workflow。Agent 的控制流更多由模型根据 observation 动态决定。
text
Prompt Chaining: 人预先定义步骤
Agent: 模型运行时决定下一步生产里二者常混用:主链路固定,局部复杂节点用 Agent 或模型判断。
面试官追问3个问题
追问一:Prompt Chaining 最大的缺点是什么?
- 考察点:工程取舍。
- 回答方向:多次调用增加延迟和成本,中间错误也可能传递到下游。
追问二:如何防止上一步错误污染下一步?
- 考察点:校验意识。
- 回答方向:每步做 schema、引用、规则和置信度校验,必要时拒绝进入下一步。
追问三:什么时候不用链式 Prompt?
- 考察点:选型边界。
- 回答方向:任务简单、一次输出可控、延迟敏感时,不必拆链。