Skip to content

高频面试题

如何处理提示词优化中的常见问题?

这题考的是排障能力:遇到输出不准确、不完整、格式错误时,能不能先归因,再选择 Prompt、RAG、工具、模型或解析层的修复手段。

适合阶段:Prompt 实战 / AI 应用调优核心能力:失败归因 · 修复策略 · 回归验证

面试官角度分析,想考什么

  • 输出不准确时你先改哪里?
    考察是否会区分 Prompt 问题、知识问题、模型能力问题和评估问题。
  • 格式错误怎么稳定解决?
    考察对 schema、示例、解析器和重试修复的理解。
  • 回答不完整怎么办?
    考察是否能处理任务拆解、上下文预算和输出约束。
  • 怎么避免越调越乱?
    考察版本管理和回归测试意识。

可直接抄走的 30 秒参考答案

text
我会先分类,不会一上来就堆规则。输出不准确要看是知识没给到、模型没用上、还是任务需要工具验证;不完整就补检查清单、拆任务、控制上下文;格式错误优先用 schema、function calling、示例和解析失败重试;越界和不稳定则通过边界规则、低随机性、版本固定和安全回归控制。每次修复都要进评估集验证,避免修一个 case 坏一片。

面试回答详解,知其所以然

Prompt 优化最忌讳“看到一个错误就加一句规则”。规则越堆越多,Prompt 可能更长、更脆、更难维护。

1. 先做失败分类

常见失败可以分成五类:

  • 不准确:事实错、计算错、引用错、理解错用户意图。
  • 不完整:漏字段、漏步骤、只答一半、没有覆盖边界条件。
  • 格式错误:JSON 不合法、Markdown 表格错位、字段名不一致。
  • 越界输出:回答了不该回答的内容,或违反安全、合规、品牌要求。
  • 不稳定:同一输入多次结果差异很大。

分类之后再决定改哪里。

2. 输出不准确的处理

先判断错误来自哪里:

  • 如果资料没有给到,是 上下文或 RAG 问题
  • 如果资料给到了但模型忽略,是 Prompt 重点和引用约束问题
  • 如果任务需要计算或代码验证,是 工具或程序校验问题
  • 如果模型能力不足,是 模型选型或任务拆分问题

可用修复方式:

  • 明确“只基于给定资料回答,缺信息就说明缺失”。
  • 要求引用来源片段或字段。
  • 把复杂推理拆成中间步骤,但最终只输出结论。
  • 对计算、代码、SQL 交给工具验证。

3. 输出不完整的处理

不完整通常来自三个原因:

  • Prompt 没写清必须覆盖哪些维度。
  • 上下文太长,关键信息被淹没。
  • 输出长度限制或模型提前收束。

修复方式:

text
任务目标
-> 必须覆盖的检查清单
-> 输出结构
-> 缺失信息处理
-> 最终自检

例如要求模型在最终回答前检查:是否回答了所有子问题、是否缺少必填字段、是否明确无法判断的部分。

4. 格式错误的处理

格式问题要少靠自然语言,多靠结构化约束:

  • 使用 JSON schema 或 function calling。
  • 给最小但完整的输出示例。
  • 明确禁止 Markdown 包裹 JSON。
  • 后端解析失败时做一次“只修复格式,不改内容”的重试。
  • 对关键字段使用枚举值和类型约束。

如果业务强依赖格式,优先选择模型原生结构化输出能力,而不是让模型“尽量输出 JSON”。

5. 不稳定和越界的处理

  • 降低 temperature。
  • 固定模型版本和 Prompt 版本。
  • 减少开放式形容词,如“详细”“专业”“友好”,改成可检查要求。
  • 增加拒答边界和转人工条件。
  • 用安全评估集做注入和越权回归。

面试官追问3个问题

追问一:JSON 总是少逗号怎么办?

  • 考察点:是否知道格式可靠性不能只靠自然语言。
  • 回答方向:优先用结构化输出或 function calling;其次给 schema、示例、解析失败重试和自动修复链路。

追问二:模型老是编造不存在的信息怎么办?

  • 考察点:幻觉治理思路。
  • 回答方向:要求基于来源回答,缺信息说不知道;加引用约束、RAG 召回检查和事实核验;严重场景用人工审核或工具校验。

追问三:Prompt 越改越长怎么办?

  • 考察点:可维护性意识。
  • 回答方向:合并重复规则,抽成模板字段;把规则、示例和上下文分层;能用程序校验的不要写进 Prompt;用评估数据决定保留哪些规则。

扩展知识

“加一句规则”为什么危险

规则堆叠会带来三类副作用:

  • Prompt 变长,成本和延迟上升。
  • 规则之间冲突,模型不知道优先级。
  • 对当前样本有效,对其他样本造成误拒或啰嗦。

排障优先级

text
数据是否正确 -> Prompt 是否清楚 -> 输出约束是否可解析 -> 模型是否适合 -> 是否需要工具

基于 MIT 协议开源