Skip to content

高频面试题

提示词优化考虑哪些维度?提示词模板有哪些字段?

这题考的是 Prompt 工程化基本功:你是否能把零散提示词沉淀成统一模板,并从质量、成本、安全和维护性多维优化。

适合阶段:Prompt 工程化 / AI 平台面试核心能力:模板设计 · 版本管理 · 多维优化

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

  • Prompt 优化只看准确率吗?
    考察是否理解成本、延迟、安全、稳定性和可维护性。
  • 一个标准 Prompt 模板应该有哪些字段?
    考察是否能设计可复用结构。
  • 模板字段怎么支持版本管理和 AB 测试?
    考察工程落地意识。
  • 如何避免模板越来越复杂?
    考察抽象能力和评估驱动优化。

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

text
我会从效果、格式、上下文、成本、延迟、安全和维护性几个维度优化 Prompt。模板字段上,一般会有 template_id、version、scenario、role、task、inputs、context、constraints、examples、output_format、fallback、evaluation 和 metadata。核心是让 Prompt 可复用、可评估、可灰度、可回滚,而不是散落在代码里的字符串。

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

Prompt 模板不是把一段话参数化,而是把任务执行所需的信息分层组织起来。

1. 优化维度

  • 正确性:答案是否解决问题,事实是否可靠。
  • 完整性:是否覆盖所有子问题和必要字段。
  • 格式稳定性:是否符合 JSON、Markdown、表格或 schema。
  • 上下文利用率:是否正确使用 RAG、历史对话和工具结果。
  • 鲁棒性:面对歧义、噪声、长文本和攻击输入是否稳定。
  • 成本和延迟:Prompt token、输出 token、调用次数和响应时间。
  • 安全合规:是否防止注入、越权、敏感信息泄漏和不当建议。
  • 可维护性:是否易读、可复用、可版本化、可灰度。

2. 标准模板字段

一个通用模板可以包含:

text
template_id: 模板唯一标识
version: 模板版本
owner: 负责人
scenario: 适用业务场景
role: 模型承担的职责
task: 当前要完成的任务
inputs: 需要填充的变量
context: 外部资料、历史摘要或工具结果
constraints: 规则、边界和禁止事项
examples: Few-shot 示例
output_format: 输出结构和 schema
fallback: 缺信息、低置信、异常时怎么处理
evaluation: 验收标准和指标
metadata: 模型、参数、更新时间、实验信息

不是每个模板都要填满所有字段,但关键生产模板应该有版本、场景、输入、约束、输出和评估。

3. 一个可复用 Prompt 骨架

text
# 角色
你是 {role}。

# 任务
{task}

# 输入
<input>
{user_input}
</input>

# 上下文资料
<context>
{retrieved_context}
</context>

# 约束
- 只基于上下文资料回答。
- 如果资料不足,明确说明无法判断。
- 不要输出未被资料支持的事实。

# 输出格式
{output_schema}

# 验收标准
- 回答覆盖用户问题。
- 格式可以被解析。
- 关键结论带来源。

4. 维度之间的取舍

Prompt 优化经常有冲突:

  • 规则越多,安全性可能更好,但 token 和延迟增加。
  • 示例越多,风格越稳定,但上下文预算减少。
  • 输出越结构化,解析越稳,但自然表达可能变差。
  • 拒答边界越严格,风险越低,但误拒可能上升。

所以要用评估数据决定取舍,而不是追求“最完整模板”。

5. 模板工程化

生产模板通常需要:

  • Git 或配置中心管理。
  • 版本号和变更说明。
  • 灰度发布和回滚。
  • 关联评估集。
  • 线上指标和失败样本回流。
  • 权限控制,避免随意改线上 Prompt。

面试官追问3个问题

追问一:哪些字段是必填的?

  • 考察点:取舍能力。
  • 回答方向:生产场景至少要有场景、任务、输入、约束、输出格式、fallback、版本和评估标准;简单实验可以更轻量。

追问二:Prompt 模板放代码还是数据库?

  • 考察点:工程发布策略。
  • 回答方向:稳定核心模板适合和代码一起版本管理;需要运营频繁调整的模板可配置化,但必须有审批、灰度、回滚和审计。

追问三:怎么判断一个字段可以删?

  • 考察点:评估驱动优化。
  • 回答方向:通过 ablation test 删除字段,观察评估集和线上指标;如果没有收益或造成冲突,就删掉或下沉到程序逻辑。

扩展知识

模板字段和 AB 测试的关系

模板要支持实验,就必须记录 version、experiment_id、traffic_group、model、temperature 和评估结果。否则线上两个 Prompt 效果不同,很难判断是哪一项变化导致。

模板字段和安全的关系

安全相关字段不能只写一句“不要泄漏信息”。更稳的是拆成输入隔离、权限边界、拒答条件、敏感信息处理和工具调用限制。

基于 MIT 协议开源