AI

Prompt Engineering 高级技巧

超越基础 few-shot,探索 Chain-of-Thought、Self-Consistency 等高级提示工程技术。

超越基础 Prompt

大多数开发者熟悉 zero-shot 和 few-shot prompting,但要充分发挥 LLM 的潜力,需要掌握更高级的技术。

Chain-of-Thought (CoT)

引导模型逐步推理,显著提升复杂任务的准确率:

问题:一个商店有 15 个苹果,卖掉了 8 个,又进货 12 个,还剩多少?

让我们逐步思考:
1. 初始数量:15 个苹果
2. 卖掉 8 个:15 - 8 = 7 个
3. 进货 12 个:7 + 12 = 19 个
答案:19 个苹果

在 prompt 中加入 “Let’s think step by step” 就能激活 CoT 能力。

Self-Consistency

多次生成答案,取多数投票的结果:

def self_consistency(prompt, n=5):
    answers = []
    for _ in range(n):
        response = llm.generate(prompt)
        answer = extract_answer(response)
        answers.append(answer)
    
    # 多数投票
    return max(set(answers), key=answers.count)

这种方法在数学和逻辑推理任务上效果显著。

ReAct 框架

结合推理(Reasoning)和行动(Acting):

Question: 北京今天的气温是多少?

Thought: 我需要查询北京今天的天气信息
Action: search("北京今天天气")
Observation: 北京今天晴,气温 28°C
Thought: 我已经获取到了气温信息
Answer: 北京今天的气温是 28°C。

Tree of Thoughts (ToT)

在复杂问题上探索多条推理路径:

  1. 生成多个初始思路
  2. 评估每个思路的前景
  3. 选择最有希望的思路继续扩展
  4. 必要时回溯到之前的节点

Prompt 模板最佳实践

# 角色
你是一个专业的{角色描述}。

# 任务
{清晰的任务描述}

# 约束
- {约束条件 1}
- {约束条件 2}

# 输出格式
{期望的输出格式示例}

# 示例
输入:{示例输入}
输出:{示例输出}

总结

高级 Prompt 技术能显著提升 LLM 在复杂任务上的表现。关键是根据任务特点选择合适的技术,并通过实验不断优化。