
# 可靠的 AI 生成安全问卷回答的提示工程

## 引言  

安全问卷是许多 SaaS 公司的一大瓶颈。一次供应商评估可能涉及数十个关于数据保护、事件响应、访问控制等方面的详细问题。手动编写答案耗时、易出错，且往往导致团队之间的重复工作。

大型语言模型（LLM）如 GPT‑4、Claude 或 Llama 2 能在几秒钟内起草高质量的叙述性答案。然而，直接将这种能力用于问卷往往无法得到可靠的结果。原始输出可能偏离政策语言、遗漏关键条款，甚至捏造不存在的证据。

**提示工程**——即精心编写引导 LLM 的文本的系统实践——弥合了原始生成能力与安全团队严格合规标准之间的差距。本文将分解一个可复制的提示工程框架，使 LLM 成为安全问卷自动化的可信助理。

我们将覆盖：

* 如何将政策知识直接嵌入提示  
* 控制语气、长度和结构的技巧  
* 在交付给审计员之前捕获不一致的自动验证回路  
* 与 Procurize 等平台的集成模式，包括 Mermaid 工作流图  

阅读完本指南后，实践者将拥有一套可立即应用的具体工具箱，将问卷周转时间缩短 50 % – 70 %，并提升答案准确性。

---

## 1. 理解提示的全景  

### 1.1 提示类型  

| 提示类型 | 目标 | 示例 |
|----------|------|------|
| **上下文提示** | 为 LLM 提供相关的政策摘录、标准和定义 | “下面是我们关于静态加密的 [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) 政策片段…” |
| **指令性提示** | 明确告诉模型答案的格式 | “用三个简短段落撰写回应，每段以粗体标题开头。” |
| **约束提示** | 设定硬性限制，如字数或禁止使用的词语 | “不要超过 250 字，且避免使用‘可能’一词。” |
| **验证提示** | 生成一份答案必须满足的检查清单 | “在起草答案后，列出未引用的政策章节。” |

一个稳健的问卷回答流水线通常会将多个此类提示串联在一次请求中，或采用多步（提示 → 响应 → 重新提示）方式。

### 1.2 为什么一次性提示会失效  

一个天真的一次性提示如 *“回答以下安全问题”* 往往会产生：

* **遗漏** – 关键的政策引用缺失。  
* **幻觉** – 模型杜撰不存在的控制措施。  
* **语言不一致** – 使用的口语化表达与公司合规语调冲突。  

提示工程通过向 LLM 提供恰当信息并要求其自我审计输出，从而降低这些风险。

---

## 2. 构建提示工程框架  

下表展示了可在任何合规平台中编码为可复用函数的逐步框架。

### 2.1 步骤 1 – 检索相关政策片段  

使用可搜索的知识库（向量存储、图数据库或简单关键词索引）拉取最相关的政策章节。  
*示例查询*：“静态加密” + “[ISO 27001](https://www.iso.org/standard/27001)” 或 “SOC 2 CC6.1”。

检索结果可能是：

```
政策片段 A:
“所有生产数据必须使用 AES‑256 或等效算法进行静态加密。加密密钥每 90 天轮换一次，并存储在硬件安全模块（HSM）中。”
```

### 2.2 步骤 2 – 组装提示模板  

一个融合所有提示类型的模板：

```
[CONTEXT] 
{Policy Fragments}

[INSTRUCTION] 
你是一名合规专家，为安全问卷撰写答案。目标受众是高级安全审计员。遵循以下规则：
- 在适用时使用政策片段中的原话。
- 将答案结构化为简短引言、详细正文和精炼结论。
- 用引用标签标记每个政策片段（例如 [Fragment A]）。

[QUESTION] 
{Security Question Text}

[CONSTRAINT] 
- 最多 250 字。
- 不要引入政策片段中未提及的控制措施。
- 以“可根据请求提供证据”声明结束。

[VERIFICATION] 
回答完毕后，列出未使用的政策片段以及出现的任何新术语。
```

### 2.3 步骤 3 – 发送至 LLM  

将组装好的提示通过 API 发送给选定的 LLM。为保证可复现性，设置 temperature = 0.2（低随机性），并根据字数上限设置 max_tokens。

### 2.4 步骤 4 – 解析并验证响应  

LLM 返回两部分内容：**答案** 与 **验证清单**。自动化脚本检查：

* 所有必需的片段标签均已出现。  
* 未出现未经白名单批准的控制名称（与白名单对比）。  
* 字数符合约束。

若任意规则未通过，脚本触发 **重新提示**，并在提示中加入验证反馈：

```
[FEEDBACK]
你遗漏了引用 Fragment B，并使用了我们政策中不存在的“动态密钥轮换”术语，请相应修正。
```

### 2.5 步骤 5 – 附加证据链接  

验证成功后，系统自动附加支持证据的链接（如加密密钥轮换日志、HSM 证书）。最终输出存入 Procurize 的证据中心，并对审阅者可见。

---

## 3. 实际工作流图  

下面的 Mermaid 图展示了典型 SaaS 合规平台中的端到端流程。

```mermaid
graph TD
    A["用户选择问卷"] --> B["系统检索相关政策片段"]
    B --> C["提示构建器组装多部提示"]
    C --> D["LLM 生成答案 + 验证清单"]
    D --> E["自动验证器解析清单"]
    E -->|通过| F["答案存储，附加证据链接"]
    E -->|未通过| G["带反馈的重新提示"]
    G --> C
    F --> H["审阅者在 Procurize 仪表板查看答案"]
    H --> I["审计完成，导出响应"]
```

所有节点标签均已用双引号包裹以符合要求。

---

## 4. 高级提示技巧  

### 4.1 少量示例示范  

在提示中提供几组 *示例* Q&A 可显著提升一致性。例如：

```
示例 1:
Q: 你们如何保护传输中的数据？
A: 所有传输中的数据均使用 TLS 1.2 或更高版本加密，并采用前向保密密码套件。[Fragment C]

示例 2:
Q: 请描述贵公司的事件响应流程。
A: 我们的事件响应计划遵循 [NIST CSF](https://www.nist.gov/cyberframework)（NIST 800‑61）框架，具备 24 小时升级窗口，并每半年审查一次。[Fragment D]
```

LLM 现在拥有明确的风格参考。

### 4.2 思考链（Chain‑of‑Thought）提示  

鼓励模型在回答前逐步思考：

```
先思考哪些政策片段适用，列出它们，然后撰写答案。
```

这可降低幻觉，并生成可日志记录的推理轨迹。

### 4.3 检索增强生成（RAG）  

与其在提示前检索片段，不如让 LLM 在生成过程中实时查询向量库。当政策库庞大且频繁演变时，此方式尤为有效。

---

## 5. 与 Procurize 的集成  

Procurize 已提供：

* **政策仓库**（集中、版本化）  
* **问卷追踪器**（任务、评论、审计轨迹）  
* **证据中心**（文件存储、自动链接）  

嵌入提示工程流水线主要涉及三次 API 调用：

1. `GET /policies/search` – 根据问卷问题中的关键词检索片段。  
2. `POST /llm/generate` – 发送组装好的提示，获取答案和验证结果。  
3. `POST /questionnaire/{id}/answer` – 提交已验证的答案，附加证据 URL，并将任务标记为完成。

下面是一个轻量级 Node.js 包装示例：

```javascript
async function answerQuestion(questionId) {
  const q = await api.getQuestion(questionId);
  const fragments = await api.searchPolicies(q.keywords);
  const prompt = buildPrompt(q.text, fragments);
  const { answer, verification } = await api.llmGenerate(prompt);
  if (verify(verification)) {
    await api.submitAnswer(questionId, answer, fragments.evidenceLinks);
  } else {
    const revisedPrompt = addFeedback(prompt, verification);
    // 递归或循环直至通过
  }
}
```

将其接入 Procurize UI 后，安全分析师即可点击 *“自动生成答案”*，并在进度条中看到 Mermaid 图所示的各步骤。

---

## 6. 成功衡量指标  

| 指标 | 基线 | 提示工程后目标 |
|------|------|----------------|
| 平均答案创建时间 | 45 分钟 | ≤ 15 分钟 |
| 人工纠错率 | 22 % | ≤ 5 % |
| 政策引用合规率（标签使用） | 78 % | ≥ 98 % |
| 审计员满意度评分 | 3.2/5 | ≥ 4.5/5 |

通过 Procurize 的分析仪表盘收集这些 KPI，持续监控可帮助微调提示模板和片段检索逻辑。

---

## 7. 常见陷阱及规避措施  

| 陷阱 | 表现 | 对策 |
|------|------|------|
| 将不相关片段塞入提示 | 答案偏离主题，LLM 延迟增大 | 在加入前使用相关度阈值（如余弦相似度 > 0.78）过滤 |
| 忽视模型温度设置 | 偶尔出现创意但不准确的输出 | 将温度固定在低值（0.1‑0.2）用于合规任务 |
| 未对政策片段进行版本管理 | 答案引用已废止的条款 | 为片段存储版本号，并强制使用“最新”除非明确请求历史版 |
| 仅进行一次验证 | 漏掉边缘案例违规 | 在 LLM 通过后再运行二次规则引擎检查（如正则过滤禁止词） |

---

## 8. 未来方向  

* **动态提示优化** – 使用强化学习自动调整提示措辞，以历史成功率为依据。  
* **多模型集成** – 并行调用多个 LLM，选取验证分数最高的答案。  
* **可解释 AI 层** – 附加 “为何这样回答” 部分，精确引用政策句号号，使审计全程可追溯。  

这些进展将把自动化成熟度从 *“快速草稿”* 推向 *“无需人工即可交付审计就绪”*。

---

## 结论  

提示工程不是一次性的技巧，而是一套系统化的方法论，使强大的 LLM 变身为可靠的合规助手。通过：

1. 精准检索政策片段，  
2. 构建融合上下文、指令、约束与验证的多部提示，  
3. 自动化反馈回路迫使模型自我校正，  
4. 将完整流水线无缝嵌入 Procurize 等平台，  

组织可以显著缩短问卷响应时间、降低人工错误，并保持监管机构和客户所要求的严格审计轨迹。

建议先在低风险问卷上试点此框架，捕获 KPI 改进并迭代提示模板。数周内，你将拥有与资深合规工程师同等的答案准确度，只是所需人力成本的几分之一。

---  

## 相关链接  

- LLM 提示工程最佳实践  
- 检索增强生成：设计模式与陷阱  
- 2025 年合规自动化趋势与预测  
- Procurize API 概览与集成指南