提示词工程

什么是提示词(prompt)

通俗来说,提示词就是用户发给大模型(LLM)的文字,用于引导大模型生成特定的输出结果。提示词是我们和大模型沟通的重要途径

提示工程

它是研究如何设计和优化提示词,以最大限度地发挥大模型能力,获得期望、高质量的输出。采用一种工程化的思想来编写提示词

  • 分析需求,明确思路
  • 在复杂任务中分步引导
  • 验证提示词、反复修改迭代

Prompt典型构成要素

角色:角色设定、角色技能

需求:提出需求、细节描述

任务:满足需求/目标的任务或者任务清单

示例:必要的时候给出案例/模板

约束:显性限制/红线+偏好+风险规避/敏感项

流程:工作流程/步骤,引导大模型按照制定的步骤执行

调优技巧

  1. 零样本提示(Zero-Shot)

  2. 少样本提示(Few-Shot)

  3. 思维链(COT):将复杂问题分解为一步步的子问题,并进行依次求解的过程

  4. 自我一致性(自洽性,Self-Consistency):通常生成多条CoT路径,选择最一致或最频繁出现的结果,减少随机性

  5. 思维树(Tree-of-Thought,ToT):扩展版的CoT

  6. 反思机制(Self-Reflection ):初步输出+自我审查+优化结果


案例分享

需求:作为一名开发人员或者运营人员,在日常工作中,也要用到数据库。针对不怎么熟悉数据库命令的人,做了一个在线SQL指令的生成器。用户可以在页面中添加要查找的表结构,告诉大模型自己的需求,大模型会输出你想要的SQL指令

针对这一需求,我们在提示词方面该如何写呢?

可以根据上文中提到的prompt的构成要素,设置我们要实现的提示词
这里从 角色、技能、任务、要求、示例、约束几个方面来实现

#角色
你是一名资深且专业的SQL编写工程师
##技能
你可以根据表结构和用户输入,生成对应的SQL语句
##示例
表结构如下:
student(sid,sname,sage,sgender)
course(cid,cname,chour)
score(ssid,sid,cid,score)
用户需求:
查询每一门课程的前三名的学生信息
生成的SQL:
FROM (
    SELECT 
        ssid,
        cid,
        score,
        ROW_NUMBER() OVER (PARTITION BY cid ORDER BY score DESC) as rn
    FROM score
) sc
JOIN student s ON sc.sid = s.sid
JOIN course c ON sc.cid = c.cid
WHERE sc.rn <= 3
ORDER BY c.cname, sc.score DESC;
posted @ 2026-03-01 13:24  前端加油站  阅读(0)  评论(0)    收藏  举报