CRISP 提问框架
- [CRISP 提问框架](#CRISP 提问框架)
-
- [🔤 CRISP 框架详解](#🔤 CRISP 框架详解)
-
- [1. **C -- Context(上下文)**](#1. C – Context(上下文))
- [2. **R -- Requirement(需求)**](#2. R – Requirement(需求))
- [3. **I -- In-depth(深度)**](#3. I – In-depth(深度))
- [4. **S -- Structure(结构)**](#4. S – Structure(结构))
- [5. **P -- Precision(精准)**](#5. P – Precision(精准))
- [🧩 CRISP 框架应用示例](#🧩 CRISP 框架应用示例)
-
- [问题主题:微调 vs 提示词工程](#问题主题:微调 vs 提示词工程)
-
- [❌ 普通提问:](#❌ 普通提问:)
- [✅ CRISP 优化后提问:](#✅ CRISP 优化后提问:)
- [✅ 为什么 CRISP 对工程师特别有效?](#✅ 为什么 CRISP 对工程师特别有效?)
- [📌 总结:CRISP 是"给大模型的工程需求文档"](#📌 总结:CRISP 是“给大模型的工程需求文档”)
- CRISP框架适用于哪些类型的问题?
-
- [✅ 一、CRISP 框架高度适用的问题类型](#✅ 一、CRISP 框架高度适用的问题类型)
-
- [1. **技术解释与原理剖析**](#1. 技术解释与原理剖析)
- [2. **工程方案设计与对比**](#2. 工程方案设计与对比)
- [3. **可复现的实现指导(含代码/配置)**](#3. 可复现的实现指导(含代码/配置))
- [4. **系统性评估与调试方法**](#4. 系统性评估与调试方法)
- [5. **前沿研究综述与趋势研判**](#5. 前沿研究综述与趋势研判)
- [⚠️ 二、CRISP 框架不适用或低效的问题类型](#⚠️ 二、CRISP 框架不适用或低效的问题类型)
- [🧭 三、使用 CRISP 的决策流程图(文字版)](#🧭 三、使用 CRISP 的决策流程图(文字版))
- [📌 四、工程师/开发者特别适用场景总结](#📌 四、工程师/开发者特别适用场景总结)
- [✅ 结论](#✅ 结论)
- CRISP框架中的每个步骤如何操作?
-
- [🧩 CRISP 框架五步操作手册](#🧩 CRISP 框架五步操作手册)
-
- [**1. C -- Context(上下文):锚定角色与场景**](#1. C – Context(上下文):锚定角色与场景)
-
- [✅ **操作目标**](#✅ 操作目标)
- [🔧 **操作步骤**](#🔧 操作步骤)
- [📝 **模板句式**](#📝 模板句式)
- [✅ **正确示例**](#✅ 正确示例)
- [❌ **常见错误**](#❌ 常见错误)
- [✅ **检查清单**](#✅ 检查清单)
- [**2. R -- Requirement(需求):定义输出内容边界**](#2. R – Requirement(需求):定义输出内容边界)
-
- [✅ **操作目标**](#✅ 操作目标)
- [🔧 **操作步骤**](#🔧 操作步骤)
- [📝 **模板句式**](#📝 模板句式)
- [✅ **正确示例**](#✅ 正确示例)
- [❌ **常见错误**](#❌ 常见错误)
- [✅ **检查清单**](#✅ 检查清单)
- [**3. I -- In-depth(深度):强制技术纵深**](#3. I – In-depth(深度):强制技术纵深)
-
- [✅ **操作目标**](#✅ 操作目标)
- [🔧 **操作步骤**](#🔧 操作步骤)
- [📝 **模板句式**](#📝 模板句式)
- [✅ **正确示例**](#✅ 正确示例)
- [❌ **常见错误**](#❌ 常见错误)
- [✅ **检查清单**](#✅ 检查清单)
- [**4. S -- Structure(结构):规范输出格式**](#4. S – Structure(结构):规范输出格式)
-
- [✅ **操作目标**](#✅ 操作目标)
- [🔧 **操作步骤**](#🔧 操作步骤)
- [📝 **模板句式**](#📝 模板句式)
- [✅ **正确示例**](#✅ 正确示例)
- [❌ **常见错误**](#❌ 常见错误)
- [✅ **检查清单**](#✅ 检查清单)
- [**5. P -- Precision(精准):消除模糊与歧义**](#5. P – Precision(精准):消除模糊与歧义)
-
- [✅ **操作目标**](#✅ 操作目标)
- [🔧 **操作步骤**](#🔧 操作步骤)
- [📝 **模板句式**](#📝 模板句式)
- [✅ **正确示例**](#✅ 正确示例)
- [❌ **常见错误**](#❌ 常见错误)
- [✅ **检查清单**](#✅ 检查清单)
- [🛠️ 附:CRISP 五步操作速查表](#🛠️ 附:CRISP 五步操作速查表)
- [💡 实战建议:将 CRISP 融入工作流](#💡 实战建议:将 CRISP 融入工作流)
CRISP 提问框架
CRISP 提问框架是一种专为大模型(LLM)交互设计的结构化提问方法 ,旨在帮助用户(尤其是工程师、研究人员、产品开发者等专业角色)从大语言模型中获取更完整、精准、可操作且具有技术深度的回答。
该框架通过五个核心维度引导用户构建高质量提示(prompt),显著提升模型输出的信息密度与实用性。名称 "CRISP" 是五个英文关键词首字母的缩写:
🔤 CRISP 框架详解
| 字母 | 英文全称 | 中文含义 | 核心作用 |
|---|---|---|---|
| C | Context | 上下文 | 明确任务背景与用户身份 |
| R | Requirement | 需求 | 精确定义期望输出内容 |
| I | In-depth | 深度 | 要求覆盖原理、边界、案例等 |
| S | Structure | 结构 | 指定输出格式与组织方式 |
| P | Precision | 精准 | 避免模糊表述,使用专业术语 |
1. C -- Context(上下文)
"我在什么场景下?我的角色是什么?"
- 目的:让模型理解问题的业务或技术背景,避免泛泛而谈。
- 关键要素 :
- 用户身份(如"我是大模型开发工程师")
- 应用场景(如"正在构建企业客服 AI 助手")
- 约束条件(如"需符合 GDPR 合规要求")
✅ 示例:
"我是一名前端工程师,正在开发一个支持多语言的 React 电商网站。"
❌ 缺失上下文的问题:
"怎么实现国际化?" → 模型无法判断是 Web、移动端还是后端。
2. R -- Requirement(需求)
"我具体需要什么信息?"
- 目的:明确回答的范围和类型,防止遗漏关键维度。
- 建议做法 :
- 列出子问题或检查项
- 区分"解释""对比""实现""评估"等不同需求类型
✅ 示例:
"请说明 React 国际化的三种主流方案,并对比其性能、维护成本和 SEO 支持能力。"
3. I -- In-depth(深度)
"需要多深的技术细节?"
- 目的:引导模型超越表面描述,提供可落地的专业内容。
- 深度维度包括 :
- 原理机制(如"基于什么算法/架构")
- 实现细节(如"代码示例、配置片段")
- 边界条件(如"在什么情况下会失效")
- 失败案例(如"常见错误及规避方法")
✅ 示例指令:
"请解释其底层工作原理,并给出一个可运行的代码示例,同时指出在 SSR 场景下的潜在问题。"
4. S -- Structure(结构)
"希望答案如何组织?"
- 目的:提升信息可读性与可复用性,便于后续处理(如文档生成、代码集成)。
- 常用结构要求 :
- 分章节标题(如"1. 原理 2. 实现 3. 对比")
- 使用表格对比
- 代码块标注语言
- 列表化要点
✅ 示例指令:
"请以技术文档形式输出,包含清晰标题、对比表格和带注释的 TypeScript 代码块。"
5. P -- Precision(精准)
"避免模糊,使用准确术语"
- 目的:减少歧义,确保模型理解无误。
- 优化技巧 :
- 用具体数值代替"高效""快速"(如"延迟 < 100ms")
- 用标准术语代替口语(如用"tokenization"而非"分词")
- 明确排除不相关内容(如"无需介绍基础概念")
✅ 优化前后对比:
- ❌ 模糊:"讲一下怎么优化模型。"
- ✅ 精准:"请针对 Llama-3-8B 模型,在 A10 GPU 上,提出降低推理延迟至 50ms 以内的量化与编译优化方案。"
🧩 CRISP 框架应用示例
问题主题:微调 vs 提示词工程
❌ 普通提问:
"微调和提示词工程有什么区别?"
✅ CRISP 优化后提问:
我是一名大模型开发工程师,正在为企业客户设计一个成本敏感的 AI 客服系统。
请对微调(Fine-tuning)进行技术对比分析,要求:
- 原理差异:从参数更新、数据依赖、计算开销角度说明;
- 适用边界:分别列出适合使用微调或提示词工程的 3 个典型场景;
- 成本模型:估算在 10k 条标注数据下,两种方案的训练+推理总成本(以 AWS 为例);
- 输出格式:使用 Markdown 表格对比,并附决策流程图(文字描述即可)。
无需介绍基础概念,聚焦工程实践与量化分析。
✅ 为什么 CRISP 对工程师特别有效?
| 传统提问痛点 | CRISP 如何解决 |
|---|---|
| 回答太浅显 | 通过 In-depth + Precision 强制深度 |
| 信息杂乱 | 通过 Structure 规范输出 |
| 不贴合业务 | 通过 Context 锚定场景 |
| 需反复追问 | 通过 Requirement 一次性覆盖所有维度 |
📌 总结:CRISP 是"给大模型的工程需求文档"
你可以把 CRISP 框架看作是向大模型提交的一份 PRD(产品需求文档)或技术 RFC(Request for Comments) 。它不是让模型"猜你想问什么",而是明确告诉模型"你需要它交付什么"。
💡 记住 :大模型的能力上限由其训练决定,但输出质量的下限由你的提示决定。CRISP 帮你逼近能力上限。
CRISP框架适用于哪些类型的问题?
CRISP 提问框架并非适用于所有类型的问题 ,而是特别针对需要高质量、结构化、深度信息的复杂认知任务而设计。它在以下几类问题中效果最为显著,而在简单或主观性过强的问题中则可能"过度设计"。
✅ 一、CRISP 框架高度适用的问题类型
1. 技术解释与原理剖析
- 特征:需理解机制、架构、算法或系统工作原理
- 示例 :
- "Transformer 中的 LayerNorm 为什么放在残差连接之后?"
- "RAG 系统中向量检索与重排序如何协同工作?"
✅ CRISP 优势:通过 In-depth + Precision 强制模型深入技术细节,避免泛泛而谈。
2. 工程方案设计与对比
- 特征:需评估多个技术选型,权衡性能、成本、可维护性等
- 示例 :
- "在低延迟语音识别场景下,Whisper-tiny 与 Wav2Vec2 哪个更合适?"
- "微调 vs Prompt Engineering vs RAG:如何为金融客服选择最佳方案?"
✅ CRISP 优势:Requirement + Structure 可要求表格对比、量化指标、决策流程。
3. 可复现的实现指导(含代码/配置)
- 特征:需要可运行的代码、配置文件、API 调用示例
- 示例 :
- "用 LangChain 实现一个带记忆的多轮对话 Agent,支持工具调用。"
- "写出 Dockerfile 和 docker-compose.yml,部署 FastAPI + PostgreSQL。"
✅ CRISP 优势:Precision + Structure 确保输出格式规范、可直接集成。
4. 系统性评估与调试方法
- 特征:需定义评估指标、测试策略、错误分析方法
- 示例 :
- "如何评估一个 LLM 在医疗问答中的事实准确性?"
- "提示词工程的效果如何量化?请给出 A/B 测试方案。"
✅ CRISP 优势:In-depth + Requirement 引导模型提供可操作的评估框架。
5. 前沿研究综述与趋势研判
- 特征:需整合最新论文、工业实践、技术演进路径
- 示例 :
- "2024--2026 年自动提示优化(AutoPrompt)的研究进展有哪些?"
- "多模态大模型在工业质检中的落地瓶颈是什么?"
✅ CRISP 优势:Context + In-depth 让模型聚焦专业领域,避免泛泛盘点。
⚠️ 二、CRISP 框架不适用或低效的问题类型
| 问题类型 | 原因 | 更优方式 |
|---|---|---|
| 简单事实查询(如"Python 列表推导式语法?") | 信息单一,无需结构化 | 直接提问即可 |
| 主观意见/创意生成(如"写一首关于春天的诗") | 无客观标准,深度非必需 | 自由提示 + 风格指令 |
| 情感支持/心理咨询 | 需共情而非结构化信息 | 使用角色扮演 + 开放倾听式提示 |
| 实时数据查询(如"今天北京天气?") | 模型无实时能力 | 调用 API 或明确说明局限 |
| 模糊探索性问题(如"AI 未来会怎样?") | 缺乏具体上下文 | 先用 CRISP 明确子问题 |
💡 判断标准 :
如果一个问题可以通过 维基百科、Stack Overflow 或官方文档 直接回答,通常不需要 CRISP;
如果需要整合、分析、设计或批判性思考,则 CRISP 极其有效。
🧭 三、使用 CRISP 的决策流程图(文字版)
你的问题是否涉及以下任一?
├─ 需要技术原理/机制解释? → 是 → 用 CRISP
├─ 需要对比多个方案? → 是 → 用 CRISP
├─ 需要可运行代码/配置? → 是 → 用 CRISP
├─ 需要量化评估方法? → 是 → 用 CRISP
└─ 仅需简单事实或创意? → 否 → 直接提问
📌 四、工程师/开发者特别适用场景总结
| 角色 | 典型 CRISP 问题 |
|---|---|
| 大模型工程师 | 提示工程方法对比、推理优化、评估指标设计 |
| 后端开发 | 微服务架构选型、数据库分片策略、API 安全设计 |
| DevOps/SRE | CI/CD 流水线优化、监控告警阈值设定、故障复盘模板 |
| 数据科学家 | 特征工程方案、A/B 测试统计方法、模型可解释性技术 |
| 产品经理(技术向) | 技术可行性评估、成本-收益分析、竞品技术拆解 |
✅ 结论
CRISP 框架最适合用于:
"需要从大模型中提取可行动、可验证、可集成的专业知识" 的场景。
它本质上是一种将模糊需求转化为清晰技术指令的方法论,特别契合工程师、研究员、架构师等角色的工作流。
🔧 记住:不是所有问题都需要"重型武器",但当你面对复杂系统、技术决策或深度学习时,CRISP 能让你从大模型中"榨出"最大价值。
CRISP框架中的每个步骤如何操作?
CRISP 提问框架的每个步骤(C-R-I-S-P)不仅是概念,更是一套可操作的具体行动指南 。下面将逐项详解每一步该如何执行 ,并提供检查清单、操作模板和常见错误示例,帮助你系统化构建高质量提示。
🧩 CRISP 框架五步操作手册
1. C -- Context(上下文):锚定角色与场景
✅ 操作目标
让模型知道"你是谁"、"你在做什么"、"有什么约束"。
🔧 操作步骤
- 明确身份:说明你的专业角色(如"我是后端工程师")。
- 描述场景:说明当前项目/任务背景(如"正在开发一个医疗问答系统")。
- 列出约束:包括合规要求、技术栈、性能指标、用户群体等。
📝 模板句式
"我是一名【角色】,正在【任务/项目】,需满足【约束条件】。"
✅ 正确示例
我是一名大模型应用工程师,正在为企业客户构建一个支持多轮对话的客服 AI 助手,需符合 GDPR 数据合规要求,且响应延迟低于 800ms。
❌ 常见错误
- 缺失角色:"我想做一个聊天机器人。"
- 场景模糊:"需要优化模型。" → 未说明领域、目标、限制。
✅ 检查清单
- 是否说明了我的专业身份?
- 是否描述了具体应用场景?
- 是否提到了关键约束(性能、安全、成本等)?
2. R -- Requirement(需求):定义输出内容边界
✅ 操作目标
清晰列出你希望模型回答的具体内容点,避免遗漏或跑题。
🔧 操作步骤
- 拆解问题:将大问题分解为若干子问题或维度。
- 分类需求类型:是解释?对比?实现?评估?设计?
- 明确排除项:指出不需要的内容(如"无需介绍基础概念")。
📝 模板句式
"请提供以下内容:
- 【维度1】......
- 【维度2】......
- 不需要【排除内容】。"
✅ 正确示例
请分析 LLM 在金融风控中的应用,要求包含:
- 典型用例(如反欺诈、信用评分)
- 数据隐私挑战及缓解方案
- 与传统规则引擎的准确率对比(若有公开数据)
无需介绍 LLM 基础原理。
❌ 常见错误
- 需求模糊:"讲一下 LLM 在金融中的应用。"
- 范围过大:"说说所有可能的问题。"
✅ 检查清单
- 是否列出了具体要回答的子项?
- 是否区分了"解释/对比/实现"等类型?
- 是否排除了无关内容以聚焦重点?
3. I -- In-depth(深度):强制技术纵深
✅ 操作目标
引导模型超越表面描述,提供机制、边界、失败案例、量化数据等深度信息。
🔧 操作步骤
- 要求原理机制:问"为什么有效"或"底层如何工作"。
- 要求边界条件:问"在什么情况下会失效?"
- 要求实证支持:问"是否有实验数据/论文支持?"
- 要求可复现细节:如代码、配置、参数。
📝 模板句式
"请深入说明:
- 底层机制/算法原理
- 适用边界与局限性
- 典型失败案例及规避方法
- 如有,请提供量化指标或参考文献"
✅ 正确示例
请解释 Chain-of-Thought(CoT)为何能提升推理能力,要求:
- 结合注意力机制说明其如何影响 token 预测
- 指出在哪些任务上 CoT 无效(如简单分类)
- 引用原始论文(Wei et al., 2022)的关键结论
❌ 常见错误
- 仅要表面定义:"什么是 CoT?"
- 无深度要求:"介绍一下这个技术。"
✅ 检查清单
- 是否要求了"为什么"而不仅是"是什么"?
- 是否询问了局限性或失败场景?
- 是否要求了可验证的证据(数据/论文/代码)?
4. S -- Structure(结构):规范输出格式
✅ 操作目标
确保回答易于阅读、解析和集成,尤其适合后续自动化处理。
🔧 操作步骤
- 指定文档结构:如分章节、编号列表。
- 要求特定格式:如表格、JSON、代码块、流程图(文字描述)。
- 标注语言/语法:如"TypeScript 代码"、"Markdown 表格"。
📝 模板句式
"请以【格式】输出,包含:
- 标题层级(1. / 1.1 / 1.2)
- 对比使用表格
- 代码块标注语言"
✅ 正确示例
请以技术报告形式输出,要求:
- 使用 Markdown 格式
- 包含三级标题(###)
- 方案对比用表格呈现
- 附带可运行的 Python 示例(标注
python)
❌ 常见错误
- 无格式要求:模型自由发挥,输出杂乱。
- 格式冲突:"用表格但不要列标题" → 逻辑矛盾。
✅ 检查清单
- 是否指定了整体结构(如报告、列表、表格)?
- 是否要求了代码/数据的格式标注?
- 输出是否便于直接复制到文档或代码库?
5. P -- Precision(精准):消除模糊与歧义
✅ 操作目标
用具体术语、数值、标准替代模糊词汇,确保模型理解无误。
🔧 操作步骤
- 替换模糊词 :
- "快" → "延迟 < 100ms"
- "大量数据" → "100 万条用户日志"
- 使用标准术语 :
- 用 "tokenization" 而非 "分词"
- 用 "zero-shot learning" 而非 "直接使用"
- 明确范围 :
- "仅限 PyTorch 2.0+"
- "不包括移动端部署"
📝 模板句式
"使用精确术语,避免'高效''简单'等模糊表述。
所有性能指标需量化(如 QPS、延迟、准确率)。"
✅ 正确示例
优化目标:在 NVIDIA A10 GPU 上,将 Llama-3-8B 的推理吞吐量提升至 ≥ 30 tokens/s,输入长度 512,输出长度 128。
❌ 常见错误
- 模糊表述:"让模型跑得更快一点。"
- 术语不统一:"用 BERT 那种模型做分类" → 应明确"BERT-base-uncased"。
✅ 检查清单
- 是否替换了所有模糊形容词?
- 是否使用了领域标准术语?
- 所有指标是否可量化、可验证?
🛠️ 附:CRISP 五步操作速查表
| 步骤 | 关键动作 | 自查问题 |
|---|---|---|
| C | 写明角色+场景+约束 | "模型知道我在做什么吗?" |
| R | 列出具体子需求 | "它会漏掉我要的内容吗?" |
| I | 要求原理/边界/证据 | "回答够深吗?能落地吗?" |
| S | 指定格式与结构 | "我能直接用这个输出吗?" |
| P | 用数字/术语替代模糊词 | "有没有歧义或主观词?" |
💡 实战建议:将 CRISP 融入工作流
- 写提示前先填 CRISP 清单(可用模板)
- 对关键问题进行 A/B 测试:普通提问 vs CRISP 提问,对比输出质量
- 团队共享 CRISP 模板:统一技术沟通标准
🌟 终极目标:让大模型成为你的"AI 技术协作者",而非"模糊问答机"。
如果你有一个具体问题,我可以现场演示如何用这五步操作将其转化为 CRISP 优化提示!