news 2026/10/29 20:02:45

小白程序员轻松掌握大模型提示词工程三板斧,秒变AI专家

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小白程序员轻松掌握大模型提示词工程三板斧,秒变AI专家

本文揭示了使用大模型时,提问方式直接影响结果质量的核心技巧。作者以实例对比,详细讲解了提示词工程的三板斧:角色设定、Few-shot示例和思维链。通过设定角色、提供示例和引导思考步骤,可以有效提升大模型的回答质量和专业性,让小白程序员也能快速上手,获得专家级输出。文章还结合Spring AI,给出了实用的代码示例和参数调优建议,帮助读者将技巧落地应用。

01 · 先讲个扎心的事实

上个月我让两个同事用同一个大模型 API 写接口文档。

A 同事的 prompt 是:“帮我写接口文档。”

B 同事的 prompt 是:“你是资深后端架构师,熟悉 RESTful 规范。请为下面的接口写文档,包含:请求参数说明、响应码、异常场景。接口信息:……”

结果你猜怎么着?A 拿到一份"看起来像那么回事但没法用"的泛泛而谈;B 拿到一份可以直接贴进 Wiki 的规范文档。

模型是同一个模型,变的只是提问方式。 这个"提问方式",就是 Prompt Engineering(提示词工程)。

网上把提示词工程吹得很玄,什么"魔法咒语"“驯服 AI 的密码”。拆开看,核心就三板斧:

  1. 角色设定(Role Prompting)——告诉 AI 它是谁

  2. Few-shot(少样本示例)——给 AI 看几个例子

  3. 思维链(CoT,Chain-of-Thought)——让 AI 把思路写出来

这三招单独用都有用,组合起来效果翻倍。下面挨个讲。


02 · 先建立直觉:大模型是个"戏精"

在动手之前,先建立一个直觉,后面所有技巧都好理解了。

大模型本质上是个"根据前文续写"的机器。你给它一段文字,它按照训练时学到的规律,接着往下写。它没有数据库,也没有"查一下资料再回答"的能力——它只有根据上文续写的本能。

所以,你的 prompt 就是剧本,它只是个照着剧本演的演员。

  • 剧本里写"你是医生",它就切换到医生的说话方式
  • 剧本里给了三个问答示例,它就有样学样模仿那种格式
  • 剧本里说"先一步步算",它就会把计算过程写出来

三板斧的本质,就是给剧本加人设、加示范、加解题思路。就这么简单。


03 · 第一板斧:角色设定

原理:让 AI 切换到"对的频道"

模型在训练时见过海量的文本:有医生写的、律师写的、客服写的、程序员写的。它们的说话方式、专业术语、思考习惯完全不同。

角色设定做的事,就是帮模型切换到对应的频道。

★

打个比方。一个新员工入职,你让他"以客服身份回客户消息"和"以总监身份点评方案",他输出的东西完全不一样。AI 也是一样,角色就是它的"岗位说明书"。

对比一下

同一个问题,两种问法:

❌ 普通问法: "解释一下什么是 RAG?" → 回答:RAG 是检索增强生成(Retrieval-Augmented Generation),是一种…… ✅ 角色设定: "你是一位有 15 年经验的 Java 架构师,习惯用大白话解释技术,回答先给结论再讲原理。 请解释:什么是 RAG?" → 回答:一句话:RAG 就是"先查资料,再回答"。 原理是……落地到 Spring AI 里,你只需要……(自动带上了技术人的视角)

后者明显"懂行"得多——它默认你知道上下文,直接讲重点,而不是从幼儿园水平开始科普。

Spring AI 怎么写

String answer = chatClient.prompt() .system("你是一位有 15 年经验的 Java 架构师," + "习惯用大白话解释技术,回答先给结论,再讲原理。") .user("解释一下 RAG 是什么?") .call() .content();

system()就是角色设定,和 OpenAI 的 system message 一一对应。角色描述写得越具体,效果越明显——“资深架构师"不如"有 15 年经验、带过 50 人团队、擅长用类比讲技术的架构师”。

三个实用要点

  • 角色 + 约束一起写:顺手规定"回答不超过 200 字"“不要用专业黑话”,省得后面反复纠正
  • 角色要贴任务:写代码用"资深工程师",写文案用"公众号主编",别混着来
  • 可以多层叠加:“你是项目经理,同时扮演评审专家,指出方案的风险”——一个 prompt 里可以同时给多个视角

04 · 第二板斧:Few-shot(少样本示例)

原理:AI 是"模仿型选手"

Few-shot 翻译过来叫"少样本学习",学术上叫上下文学习(In-Context Learning)。意思很直白:给模型看几个"输入→输出"的例子,它就能照着这个套路干活。

为什么有效?因为模型是统计机器,示例就是它的"条件反射触发器"——看到两个"评价→情感"的例子,它就知道接下来要输出"情感"而不是别的。

★

类比:带实习生,讲十遍规则不如甩给他三个做好的样例。规则他记不住,样例他看一眼就会。

对比一下

同样是情感分析:

❌ 只讲规则: "请判断下面这条评论的情感倾向:东西不错,就是发货有点慢" ✅ 给足示例: "请判断评论的情感倾向。 示例1:太喜欢这个产品了 → 积极 示例2:服务太差,拉黑 → 消极 示例3:一般般吧,能用 → 中性 现在判断:东西不错,就是发货有点慢"

注意,加了示例之后,模型连"输出格式"都学会了——它知道答案就是"积极/消极/中性"三个词,不会给你写一段小作文。

Spring AI 怎么写

最朴素的方式,直接把示例写进 prompt:

String answer = chatClient.prompt(""" 把用户评价归类为【好评】【中评】【差评】。 示例1: 评价:快递晚了两天,但包装很仔细。 类别:中评 示例2: 评价:客服当晚就解决了我的问题,效率超高! 类别:好评 现在请归类: 评价:货不对板,申请退款也没人理。 类别: """) .call() .content(); // 输出:差评

示例多了之后,建议用PromptTemplate管理,还能动态遍历示例列表:

String template = """ 你是情感分析助手。参考示例给评论分类: {{#each examples}} 评论:{{this.text}} 情感:{{this.sentiment}} {{/each}} 评论:{{review}} 情感: """; PromptTemplate pt = new PromptTemplate(template); Prompt prompt = pt.create(Map.of( "examples", List.of( Map.of("text", "太喜欢这个产品了", "sentiment", "积极"), Map.of("text", "服务一般,不会再来了", "sentiment", "消极")), "review", "东西不错,就是发货有点慢" )); String result = chatClient.prompt(prompt).call().content();

{{#each}}是 Spring AI 模板引擎(StTemplateRenderer)的遍历语法,示例列表用 Java 的List<Map>直接传进去就行。

三个实用要点

  • 示例的质量 > 数量:2~3 个好例子胜过 10 个随意例子。每个例子都要能代表一类典型情况
  • 把"边界情况"也放进去:比如情感分析,加一条"一般般吧 → 中性"的例子,模型就不容易把中性硬归成两极
  • 负例也有用:在示例里顺手标注"这不是退换货问题,属于咨询",能帮模型学会区分

05 · 第三板斧:思维链(CoT)

原理:让 AI 把"草稿纸"亮出来

思维链(Chain-of-Thought)是 2022 年 Google 一篇论文提出的,现在已经是提示词工程里含金量最高的一招。

核心思想一句话:别让模型直接给答案,让它先把推理过程写出来。

为什么分步写就能更准?因为大模型的推理有个特点:它的"思考"发生在生成文字的过程中。你让它直接给答案,它靠"直觉"答题,容易出错

★

打个比方:直接问是"心算",思维链是"列竖式"。心算高手也会栽在复杂题上,但列竖式几乎不会错。

两种用法

① Zero-shot CoT:什么都不用准备,加一句话

在问题后面追加"请一步步思考后再回答",立刻生效:

String answer = chatClient.prompt() .user("一个笼子里有鸡和兔,共 35 个头、94 只脚,各有几只?" + "请一步步思考,最后给出结论。") .call() .content();

模型会输出类似:

设鸡 x 只,兔 y 只: x + y = 35 2x + 4y = 94 由 x = 35 - y,代入得 2(35-y) + 4y = 94 70 + 2y = 94,y = 12 所以兔 12 只,鸡 23 只。

② Few-shot CoT:示例里带上推理过程

比 Zero-shot 更强。示例里展示"怎么一步步想",模型就会照抄这个思考模式:

String template = """ 解答下面应用题,每道题都要写出完整的推理步骤。 示例:小明买了 3 个苹果和 2 个梨,共花 17 元;苹果 3 元一个,梨多少钱? 解:苹果总价 = 3 × 3 = 9 元 梨的总价 = 17 - 9 = 8 元 梨的单价 = 8 ÷ 2 = 4 元 答案:4 元。 题目:{{question}} """; PromptTemplate pt = new PromptTemplate(template); Prompt prompt = pt.create(Map.of("question", "学校买来 5 个篮球和 4 个足球,共 620 元;篮球 60 元一个,足球多少钱?")); String answer = chatClient.prompt(prompt) .options(ChatOptions.builder().temperature(0.2).build()) // 推理任务调低温度,输出更稳定 .call() .content();

注意那个.temperature(0.2)——推理类任务把温度调低,模型就不容易"放飞自我"瞎编过程。

一个提醒

思维链不是万能的。简单问题(“今天天气怎么样”)加"一步步思考"纯属浪费 token,还可能把简单的说复杂。判断题、分类题、简单问答,直接用;数学题、逻辑推理、多条件决策,才上 CoT。


06 · 三板斧合体:一个能直接抄的工单分类 Demo

单招练完,看看组合拳的威力。下面这个例子同时用了三招:

  • 角色设定:资深客服主管,管住了说话方式和专业度
  • Few-shot:两个示例定义了"分类标准"和"输出口径"
  • 思维链:规定了处理流程(先分类 → 再评级 → 后总结 → 给建议)
  • 再加一个:结构化输出.entity(),直接把结果映射成 Java 对象
// 目标类型:一个 record 就够 public record Ticket( String category, // 问题分类 String level, // 紧急程度 String summary, // 一句话摘要 String suggestion) // 处理建议 {} @RestController public class TicketController { private final ChatClient chatClient; public TicketController(ChatClient.Builder builder) { this.chatClient = builder.build(); } @GetMapping("/ticket") public Ticket handle(@RequestParam String feedback) { return chatClient.prompt() .system(""" 你是资深客服主管,负责给用户反馈分类。 分类标准参考两个例子: 例1:用户说「登录失败三次,账号被锁」→ 账号问题 / 紧急 例2:用户问「会员一年多少钱」→ 咨询 / 普通 处理流程:先定分类 → 再评紧急程度 → 概括问题 → 给出处理建议。 只输出 JSON,不要任何多余文字。 """) .user(feedback) .call() .entity(Ticket.class); } }

请求GET /ticket?feedback=页面一直转圈打不开,急死人了,返回的就是一个标准的 Java 对象:

{ "category": "系统故障", "level": "紧急", "summary": "页面无法加载", "suggestion": "优先排查服务可用性,同步安抚用户" }

整个过程中模型做了分类、评级、摘要、建议四件事,你的业务代码一行解析都不用写。这就是组合拳的威力:角色管语气,示例管格式,思维链管过程,结构化输出管结果。


07 · 三板斧之外的几个旋钮

把三板斧练熟之后,还有几个"旋钮"值得知道,它们和上一期聊的 LLM 原理直接挂钩:

旋钮作用一句话建议
temperature控制回答的随机性(0~2)事实问答调低(0.20.4),创意写作调高(0.81)
topP核采样,控制候选词范围一般和 temperature 二选一调,别两个都动
maxTokens限制回答长度顺手设上,防止模型长篇大论烧钱
输出格式约束JSON / JSON Schema配合.entity()用,直接拿到 Java 对象

这些参数为什么这么调,背后的道理就在 LLM 原理那篇文章里(Softmax 之后怎么采样、温度怎么改变概率分布)。建议串起来看。


08 · 写在最后

很多人把提示词工程当成"魔法咒语",到处收藏口诀。其实拆穿了就是一句话:

★

把话说清楚,把场景说具体,把要求说完整。

  • 告诉它"你是谁"(角色)

  • 告诉它"照什么样子做"(Few-shot)

  • 告诉它"按什么步骤想"(思维链)

    如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包:

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2026 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要《AI大模型入门+进阶学习资源包》,下方扫码获取~

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

以上资料如何领取?

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 19:52:23

大模型千并发测试:挑战与优化方案

1. 大模型千并发测试的核心挑战当我们需要对百亿参数级别的大模型进行高并发压力测试时&#xff0c;系统会面临三个维度的极限挑战&#xff1a;1.1 计算资源瓶颈以典型的1750亿参数GPT-3模型为例&#xff0c;单次推理需要&#xff1a;GPU显存&#xff1a;至少16GB&#xff08;F…

作者头像 李华
网站建设 2026/10/29 19:52:20

恶劣天气下YOLOv8目标检测的预处理优化方案

1. 恶劣天气下的图像预处理挑战在计算机视觉领域&#xff0c;恶劣天气条件下的目标检测一直是个棘手的问题。浓雾、大雨等天气现象会显著降低图像质量&#xff0c;导致传统YOLOv8模型的检测性能急剧下降。我最近在做一个交通监控项目时就深有体会——雨天环境下车辆检测的准确率…

作者头像 李华
网站建设 2026/10/29 19:50:05

如何免费解析网盘直链下载地址:LinkSwift 直链下载助手完整指南

如何免费解析网盘直链下载地址&#xff1a;LinkSwift 直链下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云…

作者头像 李华
网站建设 2026/10/29 19:47:47

F3D:一条命令打开 60 多种 3D 文件的命令行查看器

F3D&#xff1a;一条命令打开 60 多种 3D 文件的命令行查看器 【免费下载链接】f3d Fast and minimalist 3D viewer. 项目地址: https://gitcode.com/GitHub_Trending/f3/f3d 要确认一个 .stl 的孔位对不对&#xff0c;双击文件却要等完整的 CAD 软件启动&#xff0c;还…

作者头像 李华
网站建设 2026/10/29 19:47:37

Druid连接池:8个最常配错的参数、默认值与生产推荐值

Druid连接池&#xff1a;8个最常配错的参数、默认值与生产推荐值 【免费下载链接】druid 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品&#xff0c;为监控而生的数据库连接池 项目地址: https://gitcode.com/gh_mirrors/druid/dr…

作者头像 李华