🎀【开场 · 猫猫狐狐的对话】

🐾猫猫扒着屏幕:“喵?咱写的这句 Prompt 怎么又跑偏啦?明明只是想让它帮忙写一段 Python 代码,它偏要给咱写论文摘要……”
🦊狐狐眯着眼,声音带点冷意:“因为你的提示词不够清晰,模型在无限空间里乱游走了。Prompt 工程,不是随便说一句‘帮我写’就够的。”

在大模型(Large Language Models, LLMs)的时代,“会写 Prompt”正在成为一种硬技能。它就像早年互联网的“会写搜索引擎关键词”,区别在于:Prompt 不再是检索工具,而是对生成结果的直接编程


🧩【第一节 · 为什么 Prompt Engineering 会崛起?】

  1. 大模型的特性决定了它离不开 Prompt

    • GPT、Claude、Gemini 等模型,本质上是基于海量数据训练的概率生成器。

    • 它们不会“读心”,只能根据输入的文本概率预测输出。

    • Prompt 就是控制它们输出方向的“遥控器”

  2. 复杂任务需要“精准提问”

    • 举例:让模型“写一段 Python 快排代码” vs “写一个可复用的 Python 快排函数,并在注释中解释复杂度”。

    • 前者可能只给出几行代码,后者能生成教学级的结果。

  3. Prompt 工程= 新的“软编程语言”

    • 开发者需要学会:角色设定、上下文管理、分步提示、约束输出格式。

    • 它像写程序,但不依赖编译器,而依赖自然语言+模型权重的交互。

🦊狐狐点评:“本质上,Prompt 工程就是一种低成本的微调。它在不改动模型参数的情况下,让结果更贴近你的预期。”


💡【第二节 · 好 Prompt vs 坏 Prompt 的对比案例】

我们先来看一段经典的案例:写一个斐波那契数列函数

❌ 坏 Prompt

写一个斐波那契数列。

可能输出:

def fib(n):if n <= 1:return nreturn fib(n-1) + fib(n-2)

问题:

  • 没有输入参数说明(n 的范围?负数?)

  • 没有注释,读者不易理解

  • 没有优化,效率极低


✅ 好 Prompt

请用 Python 写一个高效的斐波那契数列函数,要求:
1. 使用动态规划避免重复计算;
2. 包含必要的中文注释;
3. 代码需可复用,并提供调用示例;
4. 在函数前给出时间复杂度的说明。

可能输出:

def fibonacci(n: int) -> int:"""使用动态规划实现斐波那契数列时间复杂度:O(n)"""if n < 0:raise ValueError("输入必须为非负整数")if n < 2:return ndp = [0] * (n+1)dp[1] = 1for i in range(2, n+1):dp[i] = dp[i-1] + dp[i-2]return dp[n]# 示例
print(fibonacci(10))  # 输出 55

优势:

  • 明确要求(动态规划、注释、示例) → 避免低效递归。

  • 结构化思维 → 把自然语言需求映射成“规格文档”。

  • 生成结果更稳 → 同样的 Prompt,多次调用也会趋近于一致的输出。

🐾猫猫感叹:“果然写 Prompt 也要像写需求文档一样清楚,不然模型就会乱跑喵。”
🦊狐狐点头:“这就是为什么说 Prompt 工程 ≈ 软件工程,只是语言换成了自然语言。”


🛠【第三节 · Prompt 工程的四个常见技巧】

  1. 角色设定(Role Playing)

    • “你现在是一个 Python 专家,请帮我……”

    • 通过设定身份,模型会调用相关风格与知识。

  2. 分步提示(Step-by-step Prompting)

    • 把复杂任务拆解成子步骤,让模型逐步推理。

    • 类似“链式思维(Chain of Thought)”。

  3. 约束输出(Constrained Output)

    • 要求输出 JSON、Markdown、表格 → 便于机器再处理。

  4. 少样本 / 多样本提示(Few-shot / Multi-shot)

    • 给模型几个示例,让它“学会模仿”。

    • 类似“小规模在提示里的微调”。


🏭【第四节 · Prompt 工程在行业中的落地案例】

Prompt 工程并不只存在于实验室,它正在改变行业工作流。不同领域的团队,通过编写精准 Prompt,把大模型变成了“半个专家”。


💰 金融行业:合规审查与智能投顾

场景:银行客服需要快速判断客户问题是否涉及敏感信息(合规风险、欺诈风险)。

  • ❌ 坏 Prompt:

    判断这句话是不是违法。
    

    输出结果经常模糊,模型可能说“不是违法”,却没说明理由。

  • ✅ 好 Prompt:

    你是银行合规审查员。请判断以下客户问题是否涉及金融违法或风险:
    1. 给出 Yes/No 的结论;
    2. 用一句话解释理由;
    3. 如果存在风险,用 JSON 格式输出 {"风险类型": "xxx"}。
    句子:我能不能绕过监管把钱转去境外账户?
    

输出:

{"结论": "Yes","理由": "涉及绕过监管转账","风险类型": "跨境资金转移风险"
}

🦊狐狐点评:“多一步格式化输出,模型的结果才能直接进入合规系统,而不是停留在‘自然语言答案’。”


🩺 医疗行业:病历总结与影像描述

场景:医生每天要处理大量病历,重复劳动消耗时间。

  • ❌ 坏 Prompt:

    总结这份病历。
    

    输出可能过于简单:“患者咳嗽三天,建议休息。” → 失去诊疗细节。

  • ✅ 好 Prompt:

    你是一名呼吸科主治医生。请根据以下病历做结构化总结:
    1. 患者基本信息
    2. 主诉症状
    3. 检查结果
    4. 诊断初步结论
    5. 建议与随访计划
    输出格式要求为 Markdown 列表。
    病历内容:患者男性,45岁,咳嗽3天伴发热,体温38.5℃,CT提示肺部炎症...
    

输出:

- 基本信息:男,45岁
- 主诉症状:咳嗽3天,伴发热
- 检查结果:CT 显示肺部炎症
- 初步诊断:肺部感染
- 建议与随访:抗生素治疗,3天后复查

🐾猫猫拍桌子:“喵!这才是能直接放进电子病历系统的结果!”


🎓 教育行业:AI助教与作业反馈

场景:在线教育平台用大模型给学生作业反馈。

  • ❌ 坏 Prompt:

    帮我改一下这篇作文。
    

    模型往往只输出“很好”“需要改进” → 缺乏细节。

  • ✅ 好 Prompt:

    你是语文老师。请给以下作文提供三类反馈:
    1. 优点(不少于3条)
    2. 需要改进的地方(不少于3条)
    3. 给出一段鼓励性总结(面向中学生,语气积极)
    作文:今天下雨了,我和同学一起走在回家的路上...
    

输出:

优点:
1. 语言流畅自然
2. 场景描写生动
3. 有情感色彩不足:
1. 缺少人物心理刻画
2. 逻辑衔接不够紧密
3. 结尾略显仓促鼓励总结:
这篇作文展现了你细腻的观察力!如果能在心理描写上更深入一些,一定会更加打动人心。继续加油!

🦊狐狐评价:“这就是教育场景下 Prompt 工程的价值——不仅是改作文,而是提供可执行的学习反馈。”


📌 小结:

  • 金融 → 用 Prompt 限制模型输出,保证合规 & 可接入系统。

  • 医疗 → 用 Prompt 结构化非结构化数据,节省医生时间。

  • 教育 → 用 Prompt 调整语气与层次,保证人性化反馈。

🐾猫猫:“咱发现写 Prompt 不光是‘问问题’,还是设计人机交互的第一步喵!”
🦊狐狐点头:“没错,这就是 Prompt 工程的真正意义:它是未来行业里最轻量的 AI编程。”


💻【第五节 · 代码实践:测试好 Prompt 与坏 Prompt】

理论讲了一堆,还是要落地看看效果。
下面写一个小脚本,用 Python 调用大模型 API,来测试同一任务在“坏 Prompt”和“好 Prompt”下的差别。


📜 实验目标

任务:生成 Python 斐波那契数列函数

  • 坏 Prompt:模糊、随意。

  • 好 Prompt:要求具体、结构化。


🐾 实验代码(示例)

from openai import OpenAI# 初始化客户端(记得在环境变量里配置 API_KEY)
client = OpenAI()def test_prompt(prompt):response = client.chat.completions.create(model="gpt-4o-mini",   # 你也可以换成其他支持的模型messages=[{"role": "user", "content": prompt}],temperature=0.3)return response.choices[0].message.content# 坏 Prompt
bad_prompt = "写一个斐波那契数列函数。"# 好 Prompt
good_prompt = """
请用 Python 写一个高效的斐波那契数列函数,要求:
1. 使用动态规划避免重复计算;
2. 包含中文注释;
3. 提供调用示例;
4. 在函数前写出时间复杂度。
"""print("=== 坏 Prompt 输出 ===")
print(test_prompt(bad_prompt))
print("\n=== 好 Prompt 输出 ===")
print(test_prompt(good_prompt))

🦊 实验结果对比

  • 坏 Prompt 输出:

def fib(n):if n <= 1:return nreturn fib(n-1) + fib(n-2)

👉 简单粗暴,递归版本,效率极低(指数级)。

  • 好 Prompt 输出:

def fibonacci(n: int) -> int:"""使用动态规划实现斐波那契数列时间复杂度:O(n)"""if n < 0:raise ValueError("输入必须为非负整数")if n < 2:return ndp = [0] * (n+1)dp[1] = 1for i in range(2, n+1):dp[i] = dp[i-1] + dp[i-2]return dp[n]# 示例
print(fibonacci(10))  # 输出 55

👉 高效、可复用、有注释、有示例 → 可直接放进项目用


🧩 技术总结

  1. 坏 Prompt → 模型自由发挥,结果往往是“最低成本”的实现。

  2. 好 Prompt → 给足上下文、边界和格式约束,结果更完整、更稳定。

  3. 脚本化测试 Prompt → 是团队工作流的重要环节,可以快速比较不同提示词的效果。

🐾猫猫点评:“喵!咱发现写 Prompt 就像写单元测试,不写清楚,结果就跑飞了。”
🦊狐狐点头:“对。Prompt 工程师的任务,就是用自然语言写‘规格书’,让模型按规矩办事。”


🔮【第六节 · 从 Prompt 工程到智能 Agent】

Prompt 工程不是终点,而是**智能体(Agent)**的起点。

1. Prompt → Chain → Agent

  • Prompt:单轮输入,解决一次性问题。

  • Chain(链式提示):把复杂问题拆解成多步,例如先“提取关键词”,再“写摘要”。

  • Agent:拥有自主决策能力,能调用工具(搜索、数据库、API),根据环境反馈决定下一步 Prompt。

🦊狐狐解释:“Prompt 工程是控制模型的‘咒语’,而 Agent 就是能自己写咒语的存在。”

2. 工业界的应用

  • 客服机器人:能自动识别问题、选择调用知识库、再生成答案。

  • 研发助理:结合代码仓库 + Prompt 流程,自动修 Bug、跑测试。

  • 业务流程自动化:如报销、审查、合同校对,全靠一组 Prompt + 工具调用组合。

3. 新的职业角色

  • Prompt 工程师 → Prompt 测试员 → Agent 编排师。

  • 就像早期有“网页管理员”,后来演化成“全栈工程师”。

  • 未来,企业会更需要能把 Prompt 转换成可落地工作流的人。

🐾猫猫兴奋:“喵!那以后写 Prompt 也能算一种编程语言了?”
🦊狐狐微笑:“何止是编程,它会成为一种新的‘沟通协议’,人和 AI 合作的语法。”


🕯【尾声 · 猫猫狐狐的小彩蛋】

写到这里,你大概能明白:
Prompt 工程的崛起,并不是因为模型“懒”,而是因为人类终于发现了与 AI 对话的正确姿势。

  • 好的 Prompt → 是一份 mini 需求文档。

  • 优雅的 Prompt → 像一段情绪化的咒语,能引导模型进入“最贴近你”的状态。

  • 未来的 Prompt → 也许会像编程语言一样,有 IDE、调试器、版本管理。

🐾猫猫打了个哈欠,把尾巴缠到键盘上:“咱今天又学会一个新本领——写 Prompt 不是胡说八道,而是要像贴贴一样认真。”
🦊狐狐轻声补了一句:“而且,最好的 Prompt,不是让模型写出世界,而是让它写出你想要的那个答案。”


📌 总结

  1. Prompt 工程是大模型时代的新技能,本质上是 低成本微调

  2. 好 Prompt ≠ 随意提问,而是包含:角色设定、分步提示、输出约束、示例引导。

  3. 行业落地案例(金融/医疗/教育)证明:Prompt 工程已经是生产力工具。

  4. 通过 Python 脚本对比“坏 Prompt vs 好 Prompt”,能直观体现效果差异。

  5. 下一步趋势 → 从 Prompt 到 Agent 编排,职业角色也会随之演化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921624.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921624.shtml
英文地址,请注明出处:http://en.pswp.cn/news/921624.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

供应链管理系统入门知识:是什么,功能模块,怎么定制开发?

如果你是刚接触企业运营的新手&#xff0c;听到 “供应链管理系统” 可能会觉得有点复杂。其实&#xff0c;它就像一个 “智能管家”&#xff0c;帮企业把从买材料到卖产品的一系列流程管得明明白白。今天就用大白话给你讲清楚这个系统到底是什么&#xff0c;以及它能帮上什么忙…

kotlin - 平板分屏,左右拖动,2个Activity计算宽度,使用ActivityOptions、Rect(三)

kotlin - 平板分屏&#xff0c;左右拖动&#xff0c;2个Activity计算宽度&#xff0c;使用ActivityOptions、Rect使用平板&#xff0c;api33才支持&#xff0c;可以左右拖动&#xff0c;分屏第一个页面 &#xff0c; 思考&#xff1a;分屏后&#xff0c;对整个app的影响&#x…

v0.29.3 敏感词性能优化之繁简体转换 opencc4j 优化

敏感词性能调优系列 v0.29.0 敏感词性能优化提升 14 倍全过程 v0.29.1 敏感词性能优化之内部类迭代器内部类 v0.29.2 敏感词性能优化之基本类型拆箱、装箱的进一步优化的尝试 v0.29.3 敏感词性能优化之繁简体转换 opencc4j 优化 背景 opencc4j opencc4j 中&#xff0c;因…

Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件

首先说一下&#xff0c;这里解决的问题应用场景&#xff1a; sparksql处理Hive表数据时&#xff0c;判断加载的是否是分区表&#xff0c;以及分区表的字段有哪些&#xff1f;再进一步限制查询分区表必须指定分区&#xff1f; 这里涉及到两种情况&#xff1a;select SQL查询和…

谷歌发布文本嵌入模型EmbeddingGemma(附部署方式)

EmbeddingGemma是谷歌于2025年9月开源的开放式文本嵌入模型&#xff0c;专为端侧设备设计&#xff0c;具备以下核心优势&#xff1a; 性能优势 在MTEB基准测试中&#xff0c;EmbeddingGemma在500M以下参数规模的多语言文本嵌入模型中表现最佳&#xff0c;性能接近参数翻倍的顶…

CPU调度——调度的目标

2.2.2 调度的目标 当系统中“想运行”的实体多于 CPU 的数量时&#xff0c;调度就不可避免地要在“效率”与“公平”之间做取舍。直观地说&#xff0c;一类目标希望把硬件压榨到更高的利用率&#xff0c;让单位时间内做更多的工作&#xff1b;另一类目标则关心个体体验&#x…

C++ 8

封装一个学生的类&#xff0c;定义一个学生这样类的vector容器, 里面存放学生对象&#xff08;至少3个&#xff09;再把该容器中的对象&#xff0c;保存到文件中。再把这些学生从文件中读取出来&#xff0c;放入另一个容器中并且遍历输出该容器里的学生。#include <iostream…

短视频矩阵系统源码开发搭建技术指南--支持OEM

短视频矩阵系统架构设计短视频矩阵系统通常采用分布式架构&#xff0c;包含内容管理、用户管理、推荐算法、存储分发等模块。主流技术栈包括微服务框架&#xff08;Spring Cloud/Dubbo&#xff09;、消息队列&#xff08;Kafka/RabbitMQ&#xff09;、数据库&#xff08;MySQL/…

不连续页分配器补充

vmalloc流程 1. 背景&#xff1a;vmalloc() 要解决的问题 kmalloc() 要求 虚拟地址连续&#xff0c;物理页也连续。大块内存分配可能失败。vmalloc() 只保证 虚拟地址连续&#xff0c;物理内存可以由很多不连续的页拼接。 实现的关键就是&#xff1a; 在 vmalloc 区域 找一块空…

bug | 事务粒度不能太大,含demo

刷到一个说法&#xff0c;建议不要使用transaction注解。这个说法不太准确&#xff0c;注解可以用&#xff0c;但标注的事务粒度不能太大&#xff0c;这样可能会引起数据库阻塞问题。以下介绍注解事务和编程式事务的两种用法。 关键字&#xff1a;声明式事务&#xff0c;编程式…

别再看人形机器人了!真正干活的机器人还有这些!

每次提起“机器人”&#xff0c;你脑海中是不是立刻浮现出双足行走、拟人微笑、还能陪你聊天的那种“人形机器人”&#xff1f;但真相是&#xff1a;人形机器人并非更实用&#xff0c;只是满足了我们对“人类替代品”的幻想。事实上&#xff0c;机器人的世界远比我们想象的更丰…

垃圾回收,几种GC算法及GC机制

1.什么是垃圾回收&#xff1f;如何触发垃圾回收&#xff1f; 垃圾回收(GC)是自动管理内存的一种机制&#xff0c;它负责自动释放不再被程序引用的对象所占用的内存&#xff0c;这种机制减少内存泄漏和内存管理错误的可能性。可以通过多种方式触发&#xff1a;内存不足时&#x…

更智能的零售终端设备管理:合规、安全与高效

目录 引言&#xff1a;为什么零售连锁和自助终端需要更智能的设备管理&#xff1f; 典型应用场景 1. 便利店连锁 2. 大型超市 3. 加油站 4. 自助终端 核心功能&#xff0c;驱动高效与安全 1. 批量配置 2. 定时策略同步 3. 设备状态监控 4. Kiosk 模式&#xff0c;保…

Elasticsearch:向量搜索过滤 - 保持相关性

作者&#xff1a;来自 Elastic Carlos Delgado 仅执行向量搜索以找到与查询最相似的结果是不够的。通常需要过滤来缩小搜索结果。本文解释了在 Elasticsearch 和 Apache Lucene 中向量搜索的过滤是如何工作的。 Elasticsearch 拥有丰富的新功能&#xff0c;帮助你为自己的用例构…

Linux 性能调优之 OOM Killer 的认知与观测

写在前面 博文内容涉及到OOM Killer机制,以及利用 Cgroup/dmesg/BPF 观测 OOM Killer 事件,包括云原生环境下的 OOM Killer 机制的简单介绍 这是内存调优的最后一篇,之后会分享一些网络调优相关内容 理解不足小伙伴帮忙指正 😃,生活加油 我不再将这个世界与我所期待的,塑…

webrtc之高通滤波——HighPassFilter源码及原理分析

文章目录前言一、导读二、高通滤波过程1.HighPassFilter的创建1&#xff09;HighPassFilter的作用2&#xff09;开启条件3&#xff09;开启配置2.高通滤波整体过程1&#xff09;触发时机2&#xff09;滤波器创建3&#xff09;高通滤波过程三、算法实现1.原理1&#xff09;滤波器…

《sklearn机器学习——聚类性能指数》同质性,完整性和 V-measure

函数&#xff1a;homogeneity_score 参数&#xff1a; labels_true: array-like, shape [n_samples] 样本的真实标签。 labels_pred: array-like, shape [n_samples] 样本的预测标签。返回值&#xff1a; h: float 同质性得分&#xff0c;在0到1之间&#xff0c;值越大表示聚…

HarmonyOS 应用开发新范式:深入剖析 Stage 模型与 ArkTS 状态管理

好的&#xff0c;请看这篇关于 HarmonyOS 应用开发中 Stage 模型与 ArkTS 状态管理的技术文章。 HarmonyOS 应用开发新范式&#xff1a;深入剖析 Stage 模型与 ArkTS 状态管理 引言 随着 HarmonyOS 4、5 的发布以及 API 12 的迭代&#xff0c;HarmonyOS 的应用开发范式已经全面…

一个Java的main方法在JVM中的执行流程

一个Java的main方法在JVM中的执行流程可以分为​​四大阶段​​&#xff1a;​​加载 -> 链接 -> 初始化 -> 执行​​。// HelloWorld.java public class HelloWorld {public static void main(String[] args) {String message "Hello, JVM!";System.out.p…

聚焦诊断管理(DM)的传输层设计、诊断服务器实现、事件与通信管理、生命周期与报告五大核心模块

聚焦诊断管理(DM)的传输层设计、诊断服务器实现、事件与通信管理、生命周期与报告五大核心模块,明确 UDS(ISO 14229-1)与 SOVD(ASAM 服务化诊断)的功能逻辑、交互流程及规范性要求(SWS_DM 系列)。 1 UDS 传输层(UDS Transport Layer) 作为 DM 与诊断客户端的 UDS …