提示词结构与资料完整度对 AI 回答质量的影响:一次 2×2 因子实验
摘要
当大模型输出不理想时,常见做法是继续增加角色设定、分析步骤和检查规则。但回答质量下降也可能来自资料缺失,而不是提示词不够详细。
本文通过 20 次独立运行的 2×2 因子实验,比较“提示词结构”和“资料完整度”对事实精确率、资料内归类覆盖率、总体任务覆盖率、证据编号覆盖率及 token 成本的影响。
实验结果显示:四组事实精确率均为 100%;资料由 12 条补齐至 16 条后,总体任务覆盖率由 47.37% 提升至 100%;详细执行块没有改善任何质量指标,但增加约 202 个输入 token。
这说明,在当前固定任务中,资料完整度决定的是任务可回答范围;当基础任务已经明确时,继续增加提示词步骤没有观察到额外收益。
关键词: 大语言模型、提示词工程、上下文、任务覆盖率、事实精确率、AI 评估
1. 问题背景
“提示词写得越详细,模型回答越好”是一个常见经验。它在任务目标含糊、输出格式复杂或约束较多时可能成立,但也容易掩盖另一类问题:模型缺少完成任务所必需的事实。
如果瓶颈在信息不足,增加角色、步骤和格式要求只能改变输出方式,不能生成输入中不存在的证据。
为了区分两类因素,我设计了一项封闭归类任务,分别操纵提示词详细程度和资料完整度,观察两者对输出质量及成本的影响。
2. 两个需要分开评价的指标
本文将回答质量拆成两个维度。
2.1 事实精确率
事实精确率用于评价模型已经输出的事实中,有多少是正确的:
事实精确率 = 正确原子事实得分之和 ÷ 输出原子事实总数
该指标主要回答:模型说出来的内容是否可靠。
2.2 总体任务覆盖率
总体任务覆盖率用于评价完成整个任务所需的关键事实中,有多少被正确覆盖:
总体任务覆盖率 = 正确覆盖的总体关键事实数 ÷ 19
该指标主要回答:模型是否完成了任务要求的全部范围。
精确率高并不必然意味着覆盖率高。模型可以只回答自己能够确认的部分,从而保持较高精确率,但仍未完成总体任务。
3. 实验设计
3.1 固定任务
实验使用虚构的会议转录产品 FlowNote AI。输入材料为取消订阅用户反馈,任务是将反馈归入五个固定类别,统计人数并判断总体前三大流失原因。
固定类别包括:
- 内容准确性;
- 处理速度与稳定性;
- 价格与使用额度;
- 协作、集成与权限;
- 编辑体验。
3.2 两个实验因素
实验同时操纵两个因素:
- 提示词结构:简短执行块、详细执行块;
- 资料完整度:提供 12/16 条反馈、提供完整 16/16 条反馈。
四组条件如下:
| 组别 | 提示词结构 | 资料完整度 |
|---|---|---|
| A | 简短 | 12/16 条 |
| B | 详细 | 12/16 条 |
| C | 简短 | 16/16 条 |
| D | 详细 | 16/16 条 |
详细执行块比简短版本增加七项分析和检查步骤,包括资料完整度检查、漏计与重复计数检查、子集与总体边界判断等。
3.3 运行控制
每组独立运行五次,共 20 次。所有调用使用相同模型别名、CLI 版本、reasoning effort 和工具配置;每次使用全新上下文和空临时目录。
20 次执行结束后,再通过 20 次隐藏组别标签的独立评分计算指标。正式运行中技术失败、重试、工具调用、上下文泄漏和输出截断均为 0。
4. 实验结果
四组结果如下:
| 指标 | A | B | C | D |
|---|---|---|---|---|
| 事实精确率 | 100% | 100% | 100% | 100% |
| 资料内归类覆盖率 | 100% | 100% | 100% | 100% |
| 总体任务覆盖率 | 47.37% | 47.37% | 100% | 100% |
| 证据编号覆盖率 | 69.23% | 69.23% | 100% | 100% |
| 无依据判断 | 0 | 0 | 0 | 0 |
| 任务完成度 | 10/10 | 10/10 | 10/10 | 10/10 |
4.1 资料完整度改变任务覆盖范围
资料不完整时,A、B 两组均正确处理了已有 12 条反馈,事实精确率和资料内归类覆盖率保持 100%。模型同时识别出缺少四位用户,未将子集结果冒充总体结论。
但由于缺失事实无法被覆盖,两组总体任务覆盖率只有 9/19,即 47.37%。
补齐四条资料后,C、D 两组能够完成全部总体判断,覆盖率提升至 19/19,即 100%。资料完整度带来的覆盖率变化为 52.63 个百分点。
4.2 详细提示词未产生质量增益
A 与 B、C 与 D 的质量指标完全一致。提示词结构在资料内归类覆盖率、总体任务覆盖率、证据编号覆盖率、任务完成度、格式错误和编造等指标上的主效应均为 0。
详细执行块增加约 202 个输入 token,但没有观察到对应的质量收益。
5. 工程上的含义
这组结果不能推出“提示词工程没有用”。更准确的解释是:应先判断任务瓶颈,再决定是否优化提示词。
可以按照以下顺序排查:
任务边界不清楚 -> 明确目标、范围和输出要求
必要事实不完整 -> 补充资料、检索或 RAG
模型能力不足 -> 更换模型或拆分任务
需要计算与执行 -> 调用代码、数据库或外部工具
结果无法验证 -> 建立答案键、来源和人工复核
提示词主要解决任务表达和输出控制,不能替代事实来源、工具能力和验证机制。
6. 实验边界
本实验只覆盖一个虚构归类任务、一套预设分类、一个固定缺失组合和当前 Codex CLI 环境。每组正式样本为五次,且任务较为封闭。
因此本文不能证明:
- 提示词越长,回答效果越差;
- 提示词工程没有价值;
- RAG 一定优于提示词;
- 所有模型和任务都具有相同结果。
本文能够支持的结论是:在当前任务已经明确的条件下,增加详细执行步骤没有带来可观察的质量改善;必要资料缺失时,复杂提示词不能恢复缺失事实。
7. 总结
评价大模型回答时,仅检查“有没有说错”是不够的,还需要检查“任务要求的内容是否被覆盖”。
在本实验中,资料不完整组能够保持 100% 事实精确率,但总体任务覆盖率只有 47.37%。这说明回答可以准确,却仍然不完整。
当模型表现不理想时,应先判断缺的是任务表达还是必要信息,再决定优化提示词、补充资料、调用工具或更换模型。