Home 开源项目 Guestbook 专栏 Admin
开源项目:

搜索中...

未找到与 "" 相关的文章

换个关键词试试看

输入关键词搜索文章

支持搜索标题、内容、摘要

Prompt Engineering 进阶:结构化提示与少样本学习

admin · 2026-05-22 09:00 · 人工智能 · AI 开发实战 · 44

Prompt Engineering 进阶:结构化提示与少样本学习

同样的 LLM,用不同的提示词,输出质量可能天差地别。**Prompt Engineering(提示工程)**不是"怎么问问题"的技巧,而是"如何精确传达意图"的系统方法。


为什么需要结构化提示

大多数人与 LLM 交互的方式是这样的:

"帮我写个 Python 爬虫"

结果往往不尽人意——代码没有错误处理、没有反爬策略、输出格式混乱。问题的根源在于:意图太模糊,LLM 只能"猜"你想要什么

结构化提示通过固定模板,把模糊需求转化为精确指令。


CRISPE 框架:五维提示结构

一个高质量的提示应该包含五个维度:

Context(上下文)→ Role(角色)→ Intent(意图)→ Specifics(细节)→ Examples(示例)

实战对比

普通提示:

分析这段代码的性能问题

结构化提示:

【Context】你是一名有 10 年经验的 Python 性能优化专家。
【Role】请以技术顾问的身份给出建议。
【Intent】找出以下代码中的性能瓶颈,并给出优化方案。
【Specifics】
- 关注时间复杂度与内存占用
- 给出优化前后的对比数据
- 说明使用的 Python 版本为 3.11
【Examples】
优化前:O(n²) 的嵌套循环
优化后:使用 dict 将复杂度降为 O(n)

【代码】
def find_duplicates(items):
    result = []
    for i in range(len(items)):
        for j in range(i+1, len(items)):
            if items[i] == items[j] and items[i] not in result:
                result.append(items[i])
    return result

后者的输出质量通常显著高于前者。


少样本学习(Few-Shot Learning)

LLM 擅长"照猫画虎"。给出输入-输出的示例对,它就能快速掌握你想要的格式和风格。

格式规范示例

请按以下格式总结技术文章:

输入:《Redis 缓存穿透、击穿与雪崩》
输出:
- 核心问题:缓存失效导致请求直达数据库
- 解决方案:布隆过滤器 + 互斥锁 + 随机 TTL
- 适用场景:高并发读缓存系统

输入:《MySQL 索引优化》
输出:
- 核心问题:查询未命中索引导致全表扫描
- 解决方案:覆盖索引、最左前缀原则、EXPLAIN 分析
- 适用场景:大数据量 OLTP 系统

输入:{用户输入的文章标题}
输出:

通常 2-3 个示例就能让 LLM 稳定输出期望格式。


链式思考(Chain-of-Thought)

对于复杂推理任务,让 LLM "说出思考过程"能显著提升准确率。

直接提问:

一个农场有鸡和兔共 35 只,脚共 94 只,问鸡兔各多少?

LLM 可能直接给答案,也可能算错。

CoT 提示:

请逐步思考:设鸡有 x 只,兔有 y 只。根据题意列出方程组,然后求解。

LLM 会输出完整的推导过程,错误率大幅降低。

进阶技巧:Zero-Shot CoT

在提示末尾加一句"Let's think step by step",即使不给示例,也能触发链式思考。


自我一致性(Self-Consistency)

对于需要高可靠性的任务,可以让 LLM 多次采样并投票:

请独立回答以下问题 3 次,然后选择出现次数最多的答案作为最终结果。

问题:...

这种方法虽然增加了 Token 消耗,但能有效降低"幻觉"概率。


提示优化清单

在提交提示前,对照以下清单检查:

  • 是否明确了角色和专业背景?
  • 输出格式是否通过示例定义?
  • 约束条件(长度、风格、禁用词)是否列出?
  • 是否提供了足够的上下文?
  • 复杂任务是否要求分步思考?
  • 是否说明了目标受众(技术小白 / 资深工程师)?

写在最后

Prompt Engineering 的本质是沟通能力的延伸。它不需要高深的算法知识,但需要对 LLM 的能力边界有清晰认知——知道它擅长什么、容易在哪里出错、如何通过提示规避弱点。

下一篇,我们将进入实战环节:使用 Claude API 构建生产级应用

微博 Twitter

评论 (0)

暂无评论,来说两句吧!

发表评论

支持 Markdown 语法和 Emoji 😀