AI 知识库首页

Prompt 与上下文工程题(P01–P20)

20 道提示词、结构化输出、追问与缓存题。

把 Prompt 当任务合同,把 Context 当运行时信息系统。

建议先口答 60~90 秒,再展开【追问问题】。不要背句子,要说清判断依据和取舍。


P01|什么是 Prompt Engineering 与 Context Engineering?

简明答案: Prompt Engineering 重点写好指令与输出合同;Context Engineering 还负责选择历史、状态、工具、检索证据和信任边界。Agent 中后者范围更大。

【追问问题】

  • 两者由哪些系统组件负责?
  • 为什么 Prompt 不能解决权限问题?

关联知识: 上下文工程


P02|Zero-shot、Few-shot 什么时候使用?

简明答案: 任务规则简单且模型已熟悉时先 Zero-shot;边界、风格或映射难表达时加入少量代表性示例。示例应覆盖易混淆边界,避免把偶然格式当规则。

【追问问题】

  • 示例越多越好吗?
  • 如何防止示例污染上下文?

关联知识: Few-shot 与示例设计


P03|CoT 是否应该直接展示给用户?

简明答案: 可以要求模型认真推理,但生产系统通常只展示简洁依据、动作和证据,不依赖或暴露私有思维链。可审计性应来自 Trace、工具结果和验证器。

【追问问题】

  • 何为可验证解释?
  • Scratchpad 应保存吗?

关联知识: 推理提示与可验证解释


P04|Self-Consistency 的思路是什么?

简明答案: 对同一问题采样多条推理路径,再按答案一致性或验证器选择,适合可明确比较结果的推理题。它用额外成本换稳健性,开放生成未必有效。

【追问问题】

  • 多数投票一定正确吗?
  • 怎样控制成本?

关联知识: 推理提示与可验证解释


P05|如何让模型稳定输出 JSON?

简明答案: 优先使用严格 Schema 或工具协议,再做解析、语义校验、字段级错误回灌和有限重试。仅在提示词中要求 JSON,容易出现多余文本、缺字段和类型错误。

【追问问题】

  • JSON mode 与 Structured Output 有何不同?
  • 失败后怎样降级?

关联知识: 提示词与结构化输出


P06|系统提示词应该包含哪些内容?

简明答案: 包含角色与目标、边界、工具策略、成功/失败标准、安全政策和输出合同。业务事实、用户数据和大段文档应动态注入,不要把所有内容写进一个永远增长的系统提示。

【追问问题】

  • 工具说明放哪里?
  • 如何发现指令冲突?

关联知识: Prompt 设计与版本管理


P07|提示词越长越好吗?

简明答案: 不是。重复、冲突和无关规则会稀释重点、增加成本并降低可维护性。应从最小合同开始,通过评测只增加能修复稳定失败类别的规则。

【追问问题】

  • 如何做 Prompt 消融实验?
  • 怎样判断规则已经无效?

关联知识: Prompt 设计与版本管理


P08|如何管理多轮对话历史?

简明答案: 近期相关原文保留,已完成阶段压缩成结构化摘要,关键事实进入状态或记忆,原始内容存外部按需回查。不能无脑拼接全部历史。

【追问问题】

  • 摘要漂移怎么检测?
  • 用户改口如何更新状态?

关联知识: 上下文工程


P09|什么是 Prompt 模板变量注入风险?

简明答案: 未转义的用户内容若被拼进高优先级指令,可能改变语义或结构。应区分指令与数据、类型校验、边界标记,并让权限控制独立于 Prompt。

【追问问题】

  • XML/JSON 分隔能彻底防注入吗?
  • 模板变量要记录到 Trace 吗?

关联知识: Prompt Injection


P10|如何写工具描述?

简明答案: 说明工具做什么、何时用、何时不用、参数语义、副作用和返回状态;避免多个工具描述高度重叠。最好用真实混淆样本评测工具选择。

【追问问题】

  • 描述应放示例吗?
  • 工具多时如何压缩?

关联知识: 工具设计


P11|如何设计拒答?

简明答案: 定义证据不足、权限不足、风险过高和能力不支持等原因,返回可行动下一步,而不是统一说不知道。拒答准确率需要和错误回答率一起评测。

【追问问题】

  • 过度拒答如何优化?
  • 何时应该追问而不是拒答?

关联知识: 拒答、澄清与不确定性


P12|Agent 什么时候应该追问用户?

简明答案: 缺失信息会实质改变结果、权限或成本时追问;低风险且可逆的小缺口可做显式假设继续。问题应短、聚焦,避免把可由工具查到的信息推回用户。

【追问问题】

  • 如何控制追问次数?
  • 多 Agent 中谁负责追问?

关联知识: 拒答、澄清与不确定性


P13|怎样表达不确定性?

简明答案: 给出结论、证据范围、未知项和下一步验证,不伪造精确概率。若有经过校准的分类器或统计模型,可以展示置信区间;模型自报置信度通常不可靠。

【追问问题】

  • 如何校准置信度?
  • 引用数量能代表置信度吗?

关联知识: 拒答、澄清与不确定性


P14|如何做 Query Rewrite?

简明答案: 根据当前问题和必要历史补全指代、拆分多意图、保留实体与约束,生成适合目标检索器的查询。原查询与改写结果都应保留,以便融合和排障。

【追问问题】

  • HyDE 与普通改写有何区别?
  • 改写为什么会损失召回?

关联知识: 查询改写与路由


P15|Prompt Cache 适合缓存什么?

简明答案: 适合稳定且重复的前缀,如系统指令、工具定义和公共上下文;动态用户数据放后面。缓存改善成本和延迟,但不能跨权限复用敏感上下文。

【追问问题】

  • 为何顺序影响命中?
  • 语义缓存和前缀缓存有何区别?

关联知识: 缓存与请求去重


P16|如何做 Prompt 回归测试?

简明答案: 建立版本化黄金集,覆盖正常、边界、对抗和历史失败;固定模型与工具后比较任务结果、结构、成本和安全,而不是逐字匹配。

【追问问题】

  • 哪些字段适合精确断言?
  • 模型升级时怎样隔离变量?

关联知识: 测试与发布


P17|如何避免 Prompt 中规则互相冲突?

简明答案: 按优先级与主题拆分规则,删除重复,用决策表表达例外;通过静态检查和冲突样本评测。冲突无法靠模型自行稳定解决。

【追问问题】

  • 如何定位是哪条规则导致回归?
  • 动态规则放在哪里?

关联知识: Prompt 设计与版本管理


P18|什么是 constrained decoding?

简明答案: 解码时限制模型只能生成满足语法或 Schema 的 Token 路径,比生成后修 JSON 更可靠。它保证结构合法,不保证字段事实和业务语义。

【追问问题】

  • 它会影响生成质量吗?
  • CFG 适合哪些场景?

关联知识: 提示词与结构化输出


P19|如何设计 Agent 的完成标准提示?

简明答案: 把完成定义为可观察条件,如必须获得哪些字段、哪些验证器通过、哪些动作确认;同时说明失败、部分完成和请求人工的输出格式。

【追问问题】

  • 模型自称完成为什么不够?
  • 多个验收条件如何表达?

关联知识: 运行循环与状态


P20|如何减少 Prompt 迭代的玄学?

简明答案: 每次只改一个假设,用失败分类选择样本,离线评测并看统计变化;记录版本和 Trace。没有可复现样本的“感觉变好”不应上线。

【追问问题】

  • 如何做 A/B?
  • 什么时候应改工具而非 Prompt?

关联知识: Prompt 设计与版本管理