主题
高频面试题
如何处理提示词优化中的常见问题?
这题考的是排障能力:遇到输出不准确、不完整、格式错误时,能不能先归因,再选择 Prompt、RAG、工具、模型或解析层的修复手段。
面试官角度分析,想考什么
- 输出不准确时你先改哪里?
考察是否会区分 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 是否清楚 -> 输出约束是否可解析 -> 模型是否适合 -> 是否需要工具