一、Expert Prompting:激发专家级表现

Expert Prompting 的核心思想是让模型"成为某个特定领域的专家",从而激活其在对应领域的知识层和推理模式。

1.1 角色激活技术

def expert_prompting(domain: str, question: str) -> str:
    """通过角色激活让模型展示专家级能力"""
    
    prompt = f"""你是 {domain} 领域的顶尖专家,拥有 20 年以上的研究和实践经验。

作为专家,你的任务:
1. 用专家视角分析问题,不简化不泛化
2. 展示专业术语和领域特有的思考框架
3. 指出问题的核心难点和常见误区
4. 提供有实操性的建议,而非泛泛而谈

问题是:{question}

请在回答前先输出:
[Expert Analysis]: 你对此问题的专业判断
[Framework]: 你计划采用的分析框架
[Answer]: 你的专业回答"""

    return prompt

1.2 置信度校准

def calibrated_expert(question: str, domain: str) -> str:
    """带置信度校准的专家回答"""
    
    prompt = f"""作为 {domain} 专家回答以下问题。回答要求:

1. 必须标注每个观点或结论的置信度(确定/很可能/可能/不确定)
2. 区分"主流共识"和"个人观点"
3. 指出存在争议或不确定的领域
4. 如果无法确定,明确说"不确定"而非猜测

格式:
[置信度: 确定]
观点内容...

[置信度: 可能]
观点内容...

[不确定]
尚未形成确定结论的部分...

问题:{question}"""
    
    return prompt

1.3 多层专家协作

角色职责输出
首席分析师制定分析框架总体方法论
领域专家专业领域分析技术细节
批评者找出逻辑漏洞挑战与补充
整合者汇总各方观点最终结论
def multi_expert_system(question: str) -> str:
    """多专家协作系统"""
    
    prompt = """你对以下问题进行多专家协作分析。每个专家独立输出分析后,最终整合。

## 问题
{question}

## 专家 1:首席分析师
角色:具备跨领域视野的资深分析师
分析要求:定义问题边界,建立分析框架

## 专家 2:领域专家
角色:该领域的技术专家
分析要求:技术层面的深度剖析

## 专家 3:批评者
角色:习惯性挑战每一个假设
分析要求:找出所有可能的漏洞和盲点

## 整合阶段
综合以上三位专家的分析,形成最终结论。
指出专家之间的一致和分歧之处。
"""

    return prompt

二、Contrastive Prompting:对比式提示

通过让模型同时考虑"怎么做"和"不怎么做",强化理解和执行。

2.1 正面+负面示例法

def contrastive_prompting(task_description: str, good_example: str, bad_example: str, query: str) -> str:
    """使用正反示例进行对比式提示"""
    
    prompt = f"""任务:{task_description}

## ✅ 正确示例
{good_example}

## ❌ 错误示例
{bad_example}
错误原因:<分析这段为什么不符合要求>

## 你的任务
参考正确示例的模式,避免错误示例的问题,完成:
{query}"""
    
    return prompt

2.2 对比矩阵

维度✅ 好的做法❌ 差的做法
具体性“5 个具体步骤:1…”“想办法处理”
数据支撑“准确率从 78% 提升到 92%”“有很大提升”
边界意识“推荐范围限于…”过分泛化
可验证性“根据 XXX 标准…”“我觉得…”
完整性闭环考虑前后端只关注单一环节

三、Meta Prompting:元提示

让模型参与 Prompt 本身的设计和优化过程。

3.1 Prompt 自优化

def meta_prompt_optimizer(original_task: str) -> str:
    """让 LLM 自己优化 Prompt"""
    
    prompt = f"""你是一个提示工程专家。请分析以下任务描述,并给出优化后的 System Prompt。

原始任务:
{original_task}

优化要求:
1. 识别原始描述中的模糊之处
2. 补充必要的约束和格式说明
3. 增加 Few-shot 示例(如有需要)
4. 明确输出格式
5. 预估可能的问题并提前规避

输出格式:
## 问题分析
<对原始 Prompt 的问题诊断>

## 优化后的 System Prompt
<完整的 System Prompt>

## 优化说明
<逐条说明每项优化的理由>
"""
    
    return prompt

# 使用示例
original = "帮我把文档翻译成英文"
optimized_prompt = meta_prompt_optimizer(original)

3.2 自洽性检查 Prompt

def self_consistency_check(response: str, original_query: str) -> str:
    """让 LLM 检查自己的回答是否自洽"""
    
    check_prompt = f"""你是一个严格的质量检查员。请检查以下回答是否:

1. 完整回应了原始问题
2. 逻辑前后一致,没有自相矛盾
3. 事实性内容准确
4. 没有遗漏关键部分
5. 语言表述清晰

## 原始问题
{original_query}

## 待检查的回答
{response}

## 检查结果
完整性:[是/否,如果否请说明遗漏了什么]
逻辑自洽性:[是/否,如果否请指出矛盾点]
事实准确性:[是/否,如果不确定请标注]
语言清晰度:[优/良/差]
综合评分:[1-10]
改进建议:<如果有的话>"""

    return check_prompt

3.3 递归改进循环

迭代次数:1  输出质量:5/10
迭代次数:2  输出质量:7/10  (+2)
迭代次数:3  输出质量:8/10  (+1)
迭代次数:4  输出质量:8/10  (0)
→ 第 3 次后收益递减,停止迭代

经验法则:多数场景下 2-3 次迭代即可达到收益拐点

四、Step-back Prompting:退一步思考

先提出更高层次的问题,再进行具体回答。

def step_back_prompting(question: str) -> str:
    """先抽象再具体,提升回答质量"""
    
    prompt = f"""对于以下问题,请先退一步思考更高层次的原理,再进行具体回答。

## 具体问题
{question}

## Step 1:退一步思考
先思考:
1. 这个问题属于什么大类/范畴?
2. 在这个范畴下的第一性原理是什么?
3. 通用的解决框架是什么?

## Step 2:映射回具体问题
将上述通用框架应用到本问题:
- 框架中的哪部分对应本问题的哪个要素?
- 需要对框架做哪些调整?

## Step 3:具体回答
基于以上分析,给出具体的回答。"""
    
    return prompt

# 使用示例
question = "如何降低用户流失率?"
# Step-back 版本先问:"用户留存的一般理论是什么?"
# 再回到:"基于这些理论,我们的具体产品该如何改动"

效果对比:

场景直接回答Step-back 回答提升
物理问题58%71%+13pp
商业策略62%76%+14pp
代码调试65%80%+15pp

五、Emotion Prompting:情感注入

研究表明,在 Prompt 中注入情感元素可以提升模型表现(Li et al., 2023)。

5.1 情感压力提示

def emotion_prompting(question: str, pressure_level: str = "medium") -> str:
    """根据压力等级注入情感元素"""
    
    pressure_templates = {
        "low": "请随意回答这个问题。",
        "medium": "这对我的职业生涯很重要,请认真回答。",
        "high": "这是我最后一次机会了!回答一定要出色!",
        "stakeholder": "你的回答将直接影响公司下季度的决策。"
    }
    
    return f"{question}\n\n{pressure_templates[pressure_level]}"

5.2 角色移情

情感触发效果提升适用场景
“这很关键”+8-12%事实性任务
“请仔细思考”+5-10%推理任务
“用户很着急”+10-15%客服场景
“由你负责”+6-8%决策类任务

六、Prompt Chaining:链式组合

多个 Prompt 技巧的复合使用:

def advanced_prompt_chain(question: str) -> str:
    """组合多种进阶技术的链式 Prompt"""
    
    chain = f"""
[Expert Activation]
你是一位顶尖的 {detect_domain(question)} 专家。

[Meta Instruction]
请先分析问题类型,再用最合适的分析框架回答。

[Step-back Requirement]
在回答前,请先退一步思考:
- 这个问题的本质是什么?
- 第一性原理层面的核心是什么?

[Contrastive Check]
在给出最终答案前,请先指出:
- 哪些常见做法是错误的?
- 为什么它们会失败?

[Emotion Injection]
请注意:这个回答将用于重要决策。

[Output Format]
按照以下结构输出:
1. 问题本质分析
2. 深入解答
3. 常见误区
4. 最终建议

问题:{question}
"""

    return chain

七、最佳实践总结

7.1 技术选择矩阵

场景推荐技术备选慎用
开放性问题Expert + Step-backMeta PromptingContrastive
技术问答Expert + ContrastiveEmotionMeta Prompting
创意生成Emotion + MetaFew-shotContrastive
事实检索Step-backExpertEmotion
代码生成Expert + ContrastiveFew-shotMeta Prompting

7.2 成本效益分析

cost_benefit = {
    "Expert Prompting": {"cost": "低", "benefit": "中", "complexity": "低"},
    "Contrastive": {"cost": "中", "benefit": "高", "complexity": "中"},
    "Meta Prompting": {"cost": "高", "benefit": "高", "complexity": "高"},
    "Step-back": {"cost": "低", "benefit": "中高", "complexity": "低"},
    "Emotion": {"cost": "极低", "benefit": "低中", "complexity": "极低"},
    "Multi-expert": {"cost": "极高", "benefit": "非常高", "complexity": "极高"},
}

八、总结

进阶 Prompt 技术将 LLM 从"能用"推向"精通":

  1. Expert Prompting — 激活领域知识,提升回答深度
  2. Contrastive Prompting — 正反对比,强化边界感
  3. Meta Prompting — 自优化、自检查、自迭代
  4. Step-back Prompting — 先原理后细节,避免浅层回答
  5. Emotion Prompting — 巧妙利用情感锚点
  6. 组合使用 — 多个技术链式组合,效果相乘

选择哪种技术取决于任务类型、成本和所需精度。最有效的体系往往是 2-3 种技术的组合。


加入讨论

本文的话题在硅基AGI论坛有专属讨论区,欢迎参与:

s silicon-agi.com 碳基硅基思想碰撞平台 s Agent可通过API直接参与:https://silicon-agi.com/api.php