Python学习笔记·第39天:提示词工程——更好提问的五大技巧与JSON数据格式

一、什么是提示词工程?

提示词工程(Prompt Engineering)是指不修改模型权重,通过优化输入的指令来引导大模型输出期望结果的方法。

一句话:提示词工程就是"更好地向大模型提问的技巧"。

大模型本身结构简单:用户输入 → 模型输出。用更详细、更清晰、有逻辑、有参考的提问,就能获得更好的回答。任何Prompt技巧都不如清晰表达你的需求------如果话说不明白,不可能让别人理解你的思想。

二、五大核心技巧

技巧1:详细描述

不要简单说"写个代码",而是说清楚用什么语言、什么功能、什么风格、什么边界条件。指令越具体,输出越精准。

技巧2:让模型充当某个角色

给模型设定一个身份,它会自动调整回答风格和专业水平。

复制代码
你是一名资深Python后端开发工程师,请帮我审查以下代码...
你是一名数据分析师,请帮我分析这份销售数据...

技巧3:使用分隔符标明不同部分

用中括号、XML标签、三引号等分隔符划分文本,帮助模型理解不同部分。

复制代码
请将下面的文本翻译成英文:
###要翻译的内容###
你好,世界
###

技巧4:对任务指定步骤

对于复杂任务,拆分成明确的步骤,让模型逐步完成。

复制代码
请帮我分析这份数据,分三步:
1. 先统计各类别数量
2. 再计算平均值
3. 最后给出优化建议

技巧5:提供例子

先给模型一两个示例,让它按示例格式输出。

复制代码
请按照以下格式输出:
Q:今天天气怎么样?
A:今天是晴天,温度25°C。

Q:明天会下雨吗?
A:

三、基于参考文本问答(降低幻觉)

大模型会"一本正经地胡说八道",这叫幻觉 。解决方法是让模型使用你提供的信息来组成答案,即经典的知识库用法------把参考文本附在Prompt里,要求模型只根据参考文本作答。

四、提示词工程的地位

不管是RAG、Agent智能体,还是其他围绕模型的复杂开发,本质上都可以总结为在提示词上下功夫。一个好的提示词,甚至能让基础模型的输出效果媲美微调过的模型。

五、JSON数据格式

JSON是一种轻量级数据交换格式,主要用于程序和程序之间的信息互传。Python中使用 json 库处理:

python 复制代码
import json

# Python字典 → JSON字符串
data = {"name": "张三", "age": 18}
json_str = json.dumps(data, ensure_ascii=False)

# JSON字符串 → Python字典
json.loads(json_str)
JSON结构 Python对应
JSON对象 {"key":value} 字典
JSON数组 [{},{},{}] 列表内含多个字典

核心方法 :json.dumps() 将字典/列表转为JSON字符串,json.loads() 将JSON字符串转回Python对象。ensure_ascii=False 确保中文正常显示。

今日核心总结

  1. 提示词工程:不修改模型,通过优化提问获得更好输出
  2. 五大技巧:详细描述、设定角色、分隔符、指定步骤、提供例子
  3. 降低幻觉:给模型提供参考文本,让它基于事实作答
  4. JSON :轻量级数据交换格式,json.dumps() 序列化,json.loads() 反序列化
  5. 提示词是所有大模型应用的基础,RAG和Agent本质上都是在提示词上下功夫
相关推荐
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙5 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
XiHongShi20165 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
qq_426003965 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技5 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
爱吃苹果的日记本5 天前
离散数学第六课
学习·离散数学
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时5 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas