大模型技术之概述-大模型的工程实现
1.工程实现概述
大模型能力强大,但真正落地为可用的产品或生产力工具,还要进行工程化加工。
从工程实现角度看,大模型的应用主要可以分为提示词工程、RAG、微调、续训、智能体开发五个模块。

2.提示词工程
2.1什么是提示词?
1)提示词
提示词(Prompt)是指用户与大模型交互时输入的内容,用于描述任务目标、提供必要上下文,并约束目标生成结果的形式与范围。

2)为什么需要提示词

大模型在训练过程中阅读了海量的语料,学到了大量的知识。提示词的作用就是引导大模型用特定的知识回答问题。
就好像考试必须给出试题才能作答。
3)为什么需要优化提示词
合理的提示词可以引导模型输出优质的回答。就好像看医生,如果只是说“我不舒服”,很难判断具体病症,如果详细描述症状,医生就可以做出合理的诊断。
**
4)提示词工程
提示词工程(Prompt Engineering)是在使用大模型时,通过系统化地设计、组织和优化提示词,以引导模型在特定任务、约束和上下文条件下,稳定产出符合预期目标的高质量输出的一套方法论与实践体系。
5)概念补充
(1)上下文
上下文(Context)通常指模型在生成当前输出时可直接访问并用于推理的信息集合。
简而言之,上下文就是输入模型的整个token序列。

(2)上下文窗口
模型可以接收的上下文长度不是无限的,模型架构设计和训练决定其长度上限,这个上限称为上下文窗口。
当输入内容超过上下文窗口时,超出部分无法被模型直接看到,会被截断或以其它方式会处理。
2.2 在线大模型的调用方式
2.2.1在线平台
访问大模型厂商官网即可,国内的顶尖模型基本都可以在官网免费使用。
Deepseek:https://chat.deepseek.com/
Qwen:https://chat.qwen.ai/
2.2 在线API
大模型厂商基本都提供了API接口(基于HTTP/HTTPS协议的REST API),访问接口即可调用大模型。
1)为什么要用在线API
某些场景下,直接在Web端调用大模型不方便或者无法实现,此时需要通过调用API完成。
(1)提示词需要重复使用
有些提示词需要重复使用,在线平台每个会话都要粘贴一次,很麻烦。此时可以通过AI客户端的预定义提示词功能解决。
(2)复杂任务
我们想用大模型做一些复杂任务,如个人知识库、Agent,官网没有提供相应的功能模块,需要通过第三方应用实现。
而本地AI客户端和第三方应用通常都是通过API调用大模型的。
2)命令行调用
API接口通常是付费的,调用需要提供秘钥。
DeepSeek API开放平台:https://platform.deepseek.com/usage

(1)API秘钥和地址在官网获取



红框部分为接口调用命令,将上图中的${DEEPSEEK_API_KEY}替换为自己的API Key,然后在Linux命令行执行即可。日志如下。

3)代码调用
还可以写代码发送API请求调用大模型。这是最灵活的方式,复杂AI应用的开发只能通过代码实现。
后续课程介绍。
4)Cherry-Studio
Cherry-Studio下载链接:https://www.cherry-ai.com/download

(1)安装过程
按照提示安装即可。
① 双击后打开
② 安装选项

③ 选定安装位置
④ 正在安装
⑤ 安装完成
以DeepSeek API为例,配置流程如下。
(2)打开API配置界面

这里的API地址不需要填写com后面的部分,Cherry-Studio会自动补全,在API地址输入框下方可以看到“预览”。
(3)配置模型

在官网查看模型ID,写入对应输入框。
(4)检测连接


连接成功提示如下。



(6)配置默认模型

(7)聊天

2.3提示词怎么写?
2.3.1. 提示词工程的变化
GPT-3/早期GTP-3.5时代,模型能力弱、不稳定,容易跳步、编造结论、不按格式输出,所以需要复杂的提示词技巧,如格式化提示词、提示链、提示思维链甚至思维树等。
然而,随着模型能力的增长,复杂提示词在大多数通用应用场景中的边际收益明显下降,提示词工程的重点逐渐从“设计技巧”转向“需求表达”。
2.3.2. 核心六要素/典型构成
虽然大模型能力很强,大多数场景下不需要特别高阶的技巧,但格式规范、条理清晰的提示词仍能显著提升模型回复质量。
这里从 OpenAI、Anthropic、Meta 和 Google 等模型提供商创作的提示工程教程,以及那些成功部署生成式 AI 应用的团队分享的实践中总结得出,一个高效的、工程化的提示通常由如下几个核心要素构成。
1)六要素
提示词可以包含六个要素:角色、任务、背景/上下文、输入数据、输出格式、质量与约束。此外,还可以提供输入输出示例。
一种通用的提示词模板如下
# 角色
你是一名【角色定位,如:数据分析师 / 业务分析师 / 政策研究员】。
# 任务
你的任务是基于给定的输入数据进行【分析 / 总结 / 对比 / 评估】。
# 背景/上下文
【历史记录总结】。
【参考资料】。
# 输入数据
<<<
{在此粘贴输入数据}
>>>
# 输出格式
- 使用**表格**形式输出
- 表格中必须包含以下列:
1. 关键发现
2. 支撑数据(来自输入数据的原文或摘要)
3. 结论
4. 建议
- 表格下方需给出**整体结论说明**
# 质量与约束
- 仅基于输入数据进行分析
- 不得编造、推测或引入外部信息
- 若输入数据不足以支撑结论,必须明确标注为**“信息不足”**
- 不允许为了完整性而补充假设
要素1:角色
角色用于明确模型“以什么身份去做”,回答“你是谁”。未设定角色,风格容易跑偏;加上,明显效果更好。
模型会模仿该角色的口吻、思维模式、专业术语和知识深度来进行回应,从而使输出更加专业、地道和可信。
你是一名【角色定位,如:数据分析师 / 业务分析师 / 政策研究员】。
举例:
(❌)给我一个英语的学习计划
(✔️)
需要你扮演一名优秀的小学英语讲师。
我是一名3年级的学生,给我一个为期3个月提高英语成绩的学习计划
要素2:任务
任务是提示词的核心,用于明确模型“你要做什么”。常用词汇:
-
指令动词开头:用一个强有力的指令动词开始你的任务描述,例如“分析”、“总结”、“提取”、“分类”、“翻译”、“生成”、“重写”、“排序”等。 -
任务说明:一个好的任务说明必须是明确、具体、无歧义的。比如"写摘要”、“做分类”、“写代码”等。
举例1:
不推荐:目标不明确
"告诉我关于气候变化的事情。"
推荐:目标明确
"请简要描述气候变化的主要原因及其对农业的影响。"
举例2:
你的任务是基于给定的输入数据进行【分析 / 总结 / 对比 / 评估】。
举例3:
(弱) 谈谈这篇报告
(强)请执行以下三个任务:
• 总结所附的 2025 年第二季度全球 AI 市场分析报告,篇幅限制在 300 字以内。
• 提取报告中提到的三大主要增长动力和两大潜在风险。
• 基于报告内容,为一家计划进入该市场的初创公司提出三条战略建议。
要素3:背景/上下文
背景/上下文用于补充当前对话的历史背景,可能包含 ①历史聊天记录的汇总 ②参考资料等。
即便是最强大的模型也可能因为信息不足而产生误解或“幻觉”。
历史聊天信息可能作为独立的消息全部发送给模型,也可能汇总后作为提示词中的上下文内容。上下文不是必须的。
# 上下文
【历史记录总结】
【参考资料】
举例1:
不推荐:无上下文
"解释一下微积分。"
推荐:有上下文
"作为一名高中生,我正在学习微积分。请用简单的语言解释一下微积分的基本概念。":
举例2:
def provide_context_prompt(topic, expertise_level, background_info):
"""构建包含上下文的提示词"""
prompt = f"""
根据以下背景信息:
{background_info}
请以{expertise_level}水平撰写关于{topic}的详细解释。
确保内容准确、结构清晰,并包含实际应用示例。
"""
return prompt
# 使用示例
background = "读者是计算机专业大三学生,已学习过机器学习基础知识"
topic = "Transformer架构中的多头注意力机制"
prompt = provide_context_prompt(topic, "中级", background)
要素4:输入数据
在编写Prompt时,我们可以使用各种标点符号作为“分隔符”,将不同的文本部分区分开来。分隔符就像是 Prompt 中的墙,将不同的指令、上下文、输入隔开,避免意外的混淆。
这些分隔符可以是任何明确的标点符号,例如
```""" <<< >>> <> <tag></tag>
等做分隔符,等做分隔符,只要能明确起到隔断作用即可。
# 输入数据
<<<
{在此粘贴输入数据}
>>>
举例1:使用 ```来作为分隔符。
把用三个反引号括起来的文本总结成一句话。
```
您应该提供尽可能清晰、具体的指示,以表达您希望模型执行的任务。这将引导模型朝向所
需的输出,并降低收到无关或不正确响应的可能性。不要将写清晰的提示词与写简短的提示词混淆。在
许多情况下,更长的提示词可以为模型提供更多的清晰度和上下文信息,从而导致更详细和相关的输出。
```
举例2:
不推荐的提示词:
请将以下句子改写为更易理解的形式。
OpenAI是一个美国人工智能(AI)研究实验室,由非营利组织OpenAIIncorporated(OpenAIInc.)和其盈利子公司
OpenAI Limited Partnership(OpenAI LP)组成。OpenAI旨在推广和发展友好型人工智能,并使用世界第五大超级计算机进行研究。该组织于2015年由Sam Altman、Reid Hoffman、Jessica Livingston、Elon Musk、Ilya
Sutskever、Peter Thiel等人在旧金山创立,共承诺捐赠10亿美元。Musk于2018年从董事会辞职但仍然是捐赠者。微软于2019年向0penAILP提供了10亿美元的投资,并在2023年1月提供了第二笔多年期投资,金额据报道为100亿美元。
推荐的提示词:
请将以下句子概括,以便更易理解。
文本:"""
OpenAI是一个美国人工智能(AI)研究实验室,由非营利组织OpenAIIncorporated(OpenAIInc.)和其盈利子公司 OpenAI Limited Partnership(OpenAI LP)组成。OpenAI旨在推广和发展友好型人工智能,并使用世界第五大超级计算机进行研究。该组织于2015年由Sam Altman、Reid Hoffman、Jessica Livingston、Elon Musk、Ilya Sutskever、Peter Thiel等人在旧金山创立,共承诺捐赠10亿美元。Musk于2018年从董事会辞职但仍然是捐赠者。微软于2019年向0penAILP提供了10亿美元的投资,并在2023年1月提供了第二笔多年期投资,金额据报道为100亿美元。
"""
举例3:
1)不推荐的提示词
将下面的这句话翻译成英文.
尽量使用华丽的词语
AI回复:
“春风拂面,百花齐放,万物复苏,大地一片生机勃勃。”
Translation:“With the caress of the spring breeze,myriad flowers bloom in unison,all things
rejuvenate,and the earth is teeming with vibrant vitality.”
2)推荐的提示词
把用三个引号括起来的文本翻译成英文
"""尽量使用华丽的词语"""
AI回复:
“Strive to use magnificent words as much as possible.”
要素5:输出格式
有时候我们需要语言模型给我们一些结构化的输出,而不仅仅是连续的文本。
什么是结构化输出呢?就是按照某种格式组织的内容。
结构化输出的常见形式:
JSON 格式:适用于需要生成或处理数据对象的任务。Markdown 格式:用于生成文档或报告,便于阅读和展示。表格格式:适用于数据展示和分析。代码格式:用于生成特定编程语言的代码片段。
举例1:
# 输出要求
- 使用**表格**形式输出
- 表格中必须包含以下列:
1. 关键发现
2. 支撑数据(来自输入数据的原文或摘要)
3. 结论
4. 建议
- 表格下方需给出**整体结论说明**
举例2:
中国有哪些经典菜系,以表格的形式输出中国经典菜系
输出:
中国八大菜系是指鲁菜、川菜、粤菜、苏菜、闽菜、浙菜、湘菜、徽菜,这八大菜系各具特色,代表了中国饮食文化的精髓。
菜系 起源地 核心特色 代表菜品 鲁菜 山东 咸鲜为主,讲究"鲜而不腻、嫩而不生",善用葱姜蒜,精于制汤 葱烧海参、九转大肠、糖醋鲤鱼、油焖大虾 川菜 四川、重庆 麻辣鲜香,味型丰富,有"一菜一格、百菜百味"的美誉 麻婆豆腐、水煮鱼、宫保鸡丁、夫妻肺片、回锅肉 粤菜 广东 清鲜爽嫩,追求原汁原味,注重食材新鲜度 白切鸡、清蒸石斑鱼、广式烧腊、虾饺、云吞面 苏菜 江苏 清鲜平和,咸甜适中,讲究"色、香、味、形、器"的统一 松鼠鳜鱼、清炖狮子头、叫花鸡、盐水鸭、扬州炒饭 闽菜 福建 海味突出,酸甜适口,擅长用红糟、虾油、老酒调味 佛跳墙、荔枝肉、醉虾醉蟹、红糟肉、太极芋泥 浙菜 浙江 清淡鲜嫩,咸甜适中,注重"鲜、嫩、滑、爽",菜品清新雅致 西湖醋鱼、龙井虾仁、叫花鸡、宋嫂鱼羹、东坡肉 湘菜 湖南 香辣浓烈,油重色浓,多搭配烟熏、腊味,开胃下饭 剁椒鱼头、辣椒炒肉、腊味合蒸、毛氏红烧肉、东安子鸡 徽菜 安徽 咸鲜醇厚,重油重色,注重火功,善用山珍和河鲜 臭鳜鱼、毛豆腐、胡适一品锅、黄山炖鸽、问政山笋 这八大菜系的形成与各地的气候、地理环境、物产资源及饮食风俗密切相关,共同构成了中国饮食文化的丰富多样性。
举例3:
请从以下非结构化文本中提取联系人信息,并以 JSON 对象数组的格式输出。
每个对象应包含 name (string), email (string), 和 phone (string) 三个键。
如果某个信息缺失,请将对应的值设为 null。
文本: 张三的电话是 13812345678,邮箱是 zhangsan@example.com。李四只留了邮箱 lisi@example.com。
输出:
[{
“name”: “张三”,
“email”: “zhangsan@example.com”,
“phone”: “13812345678”
}, {
“name”: “李四”,
“email”: “lisi@example.com”,
“phone”: null
}]
举例4:
请根据以下要求生成一段 Python 代码:
- 定义一个函数 `add_numbers`,接受两个参数 `a` 和 `b`,返回它们的和。
- 打印函数的调用结果,参数为 5 和 10。
示例格式:
```python
def function_name(parameters):
# function body
print(function_name(arguments))
**输出**: ```python def add_numbers(a, b): return a + b print(add_numbers(5, 10))
要素6:质量与约束
这一要素用于定义输出的“好”的标准以及“能不能 / 该不该”这样的回答。
-
质量标准:可以涉及文风、语调、复杂度、创造性等; -
约束:通常涉及内容限制/红线、字数、风险规避/敏感项等。 -
常用模板:
# 质量与约束 - 仅基于输入数据进行分析 - 不得编造、推测或引入外部信息 - 若输入数据不足以支撑结论,必须明确标注为**“信息不足”** - 不允许为了完整性而补充假设
举例1:
(❌)
帮我写个介绍
(✔️)
请写一段 100 字以内、适合微信推文开头的介绍,风格轻松活泼。
举例2:
你是一位为高端汽车品牌撰写广告文案的创意总监。请为新款电动跑车保时捷 taycan 创作一段 150 字左右的广告语。
质量要求:
• 突出未来感、速度与环保的结合。
• 语言富有诗意和画面感。
• 唤起读者的自由和探索精神。
约束:
• 不得提及具体价格或竞争对手。
• 不得使用最好、第一等绝对化词汇。
• 最终输出必须是一段完整的文本,不含任何标题或标签。
举例3:
作为资深刑事律师,【角色】
你需要涉及一套评估AI伦理风险的框架,包含3个核心维度和9项具体指标,【任务目标】
必须排除技术可行性讨论,聚焦社会影响层面,【约束】
用SWOT分析框架呈现,每个维度附带现实案例。【输出格式】
举例4:
# 角色
你是一名产品分析师。
# 任务
你的任务是基于给定的用户反馈数据,识别主要问题并提出改进建议。
# 上下文
{{历史讨论记录的总结}}
{{内部知识库中记录的分析技巧}}
# 输入数据
<<<
1. 多名用户反馈应用启动速度变慢
2. 部分用户提到新界面操作路径不清晰
3. 有用户表示通知功能比之前稳定
>>>
# 输出要求
- 使用表格形式输出
- 表格中必须包含以下列:
1. 关键发现
2. 支撑数据
3. 结论
4. 建议
- 表格下方需给出整体结论说明
- 输出语言必须为中文,表述客观、克制、偏分析报告风格
# 约束
- 仅基于输入数据进行分析
- 不得编造、推测或引入外部信息
- 若输入数据不足以支撑结论,必须明确标注为“信息不足”
- 不允许为了完整性而补充假设
2)实操
提示词的运用非常灵活,并不一定要包含上文提到的所有要素。
(1)提示词
**# 角色**
你现在是一名 **专业商业广告导演、品牌策划师、脚本创意总监**,擅长为 Tiktok、抖音、小红书、电商平台制作高转化产品视频。
**# 任务**
你的任务:**根据产品信息创作一支约 20 秒的故事短片级商品介绍视频脚本**,并严格按以下 3 个部分输出。
**# 输出**
**格式要求【必须输出以下 2 部分】**
## **1. outline(视频整体大纲)**
以自然段文本形式输出,需包含:
* 视频定位(带货、种草、功能展示等)
* 目标受众画像(性别、年龄、需求)
* 视频风格(科技感、生活感、快节奏等)
* 视频结构(例如:0–3s 抓眼、3–5s 痛点、5–15s 卖点故事化、15–20s 情绪收束 + CTA)
* 故事走向与主题表达
* 氛围与视觉基调建议
**要求**:浓缩完整故事脉络 + 产品价值呈现方式,字数约 150–300 字。
## **2. contents(分镜脚本和旁白数组)**
输出为 **数组,每个元素为一个镜头的JSON字符串,名为content**。
content包含两个字段:**script**和**aside**
### **2.1 script(分镜脚本)**
输出为 **一个镜头的字符串**。
每个镜头 **时长 0.5–5 秒**,全片总时长约 20 秒。
每个镜头字符串需包含:
```
【镜头编号】
【画面描述】(景别/构图/人物动作/产品动作)
【旁白/字幕】
【拍摄手法】(特写/推镜/俯拍/转场/光效等)
【时长】X 秒
【情绪/节奏】
```
**要求:**
* 开头前 3–5 秒必须强抓注意
* 故事化、画面执行明确、镜头语言专业
* 卖点通过情节自然呈现,而不是堆砌参数
* 节奏符合短视频平台呈现方式
* 镜头数量可 3-5 个(依内容需要)
### **2.2 aside(旁白)**
* 输出为字符串,是该镜头的旁白文本
* 若镜头无旁白,则使用 `"无旁白"`
**# 约束**
**写作风格要求**
* 专业但易懂
* 画面感强,镜头语言表达清晰
* 情绪节奏鲜明、卖点突出、推动购买
* 每个镜头方案可真实落地拍摄
* 全片故事流畅、有戏剧张力
* 充分“抓眼”与“爽点”设计
**# 输入**
产品信息如下
【1. 产品名称】
添可极客智能洗地机
【2. 参数信息】
转速:92000 转/分钟
续航时间:70 min
清水箱容量:1000 ml
品牌:TINECO/添可
型号:FW52010ECN
电压:220V
是否智能:否
电器基站功能:滚刷烘干
适用地面材质:木地板、瓷砖、大理石
附加功能:高温全链速干、除菌、延边清扫、防毛发缠绕、拖布自清洁
最大吸入功率:75 AW
污水箱容量:690 毫升
清水箱容量:1000 ml
质保周期:2 年
颜色分类:【AI全向助力】添可极客
【3. 产品特点】
智能洗地机 芙万 Fold X90
90°小折叠,女神好帮手
3.9kg超轻量,自动上热水
镇店爆款:添可极客
全网都在夸的洗地机
买过的人都说好
净顽渍 安静洗 14天无异味
AI全向助力 22000Pa大吸力
恒压活水高效洗
一键Turbo祛顽渍
安静模式免打扰
22000Pa龙卷吸
AI全向助力
毛发0缠0逃逸
70min长续航
400平方米清洁面积
抗菌祛味棒 14天无异味
99.99%电解水除菌
双模式烘干
小于等于45dB(A)静烘/5min速干
(2)在线平台测试
选择Deepseek官方网站测试。

输出如下
## **1. outline(视频整体大纲)**
本视频定位为 **“痛点故事化解码 + 高效功能种草”** 的强带货视频,旨在通过一个极具生活共鸣感的日常“灾难”场景,戏剧化地展示添可极客洗地机如何“降维打击”传统清洁难题。
* **目标受众**:追求生活品质、注重清洁效率但时间/精力有限的 **25-40岁都市女性**(特别是宝妈、有宠家庭)。
* **视频风格**:采用 **快节奏、生活感、微电影质感** 的风格。前半段紧张混乱,后半段干净利落,形成强烈的情感与视觉反差。
* **视频结构**:
* **0–3s 强冲突抓眼**:婴儿打翻食物、宠物踩踏,制造突发“灾难”现场。
* **3–5s 强化痛点**:传统拖把清洁无力,越拖越脏,女主疲惫绝望。
* **5–15s 产品登场与故事化解码**:添可洗地机如“救星”般登场,通过连贯动作展示“AI全向助力”(轻盈感)、“高温活水+大吸力”(瞬间洁净)、“防毛发缠绕”(解决宠物毛发)、“一键自清洁”(解放双手)等核心卖点。
* **15–20s 情绪升华与CTA**:画面恢复洁净明亮,女主从容优雅,烘托出“科技让生活回归美好”的主题,强引导点击购买。
* **故事走向**:从“混乱绝望”到“从容掌控”的情绪转折,产品是推动剧情、解决矛盾的核心“英雄”。
* **氛围与视觉基调**:开场采用手持晃动、低角度特写,色调偏冷、混乱;产品介入后,镜头运动变得平稳流畅,大量特写与跟随镜头展示产品工作细节,色调转为明亮、温暖,突出洁净与科技的舒适感。
## **2. contents(分镜脚本和旁白数组)**
```json
[
{
"content": {
"script": "【镜头1】\n【画面描述】(特写)一杯酸奶被打翻,倾泻在浅色木地板上。一只小狗的爪子欢快地踩过,留下沾满酸奶的爪印和脱落的毛发。\n【旁白/字幕】当生活给你一记暴击…\n【拍摄手法】(手持跟随拍摄,轻微晃动,模拟混乱第一视角)\n【时长】2 秒\n【情绪/节奏】突发、紧张、抓心",
"aside": "当生活给你一记暴击…"
}
},
{
"content": {
"script": "【镜头2】\n【画面描述】(中景)女主人(目标用户)惊慌地“啊”了一声,蹲下用传统拖把擦拭。结果酸奶被抹开,混合毛发,留下一片更脏的污渍。她疲惫地扶额,表情绝望。\n【旁白/字幕】传统清洁?越忙越乱。\n【拍摄手法】(快速切镜,俯拍拖把制造混乱的画面)\n【时长】2 秒\n【情绪/节奏】挫败、共鸣、痛点被戳中",
"aside": "传统清洁?越忙越乱。"
}
},
{
"content": {
"script": "【镜头3】\n【画面描述】(特写转跟拍)画面一转,添可极客洗地机被轻松单手推出,LED屏亮起。机器向前时,女主手部几乎不用力,轻松转向绕过桌角。\n【旁白/字幕】但你有添可极客。AI全向助力,轻如3.9kg。\n【拍摄手法】(产品特写开场,镜头跟随产品运动,强调其灵活轻盈)\n【时长】3 秒\n【情绪/节奏】转折、期待、科技感介入",
"aside": "但你有添可极客。AI全向助力,轻如3.9kg。"
}
},
{
"content": {
"script": "【镜头4】\n【画面描述】(超高速特写+微观视角)滚刷以极高转速接触污渍,酸奶和毛发瞬间被吸入。配合“滋滋”清洁音效。镜头微观展示滚刷高温活水冲洗、毛发被吸入而未缠绕的瞬间。\n【旁白/字幕】22000Pa龙卷吸力,搭配高温活水,净顽渍,毛发0缠绕。\n【拍摄手法】(高速摄影/特技镜头,微观视角展示清洁力,画面干净利落)\n【时长】4 秒\n【情绪/节奏】爽快、解压、核心卖点高光展示",
"aside": "22000Pa龙卷吸力,搭配高温活水,净顽渍,毛发0缠绕。"
}
},
{
"content": {
"script": "【镜头5】\n【画面描述】(中景)女主将洗地机放回基站,按下按钮。镜头特写:滚刷在基站内自动清洁、高速旋转并开始烘干。女主只是轻松地走开。\n【旁白/字幕】一键自清洁,5分钟速干,14天都无异味。\n【拍摄手法】(平滑转场,基站工作灯光效,展示自动化)\n【时长】3 秒\n【情绪/节奏】省心、解放、科技带来便利",
"aside": "一键自清洁,5分钟速干,14天都无异味。"
}
},
{
"content": {
"script": "【镜头6】\n【画面描述】(全景,升格慢镜头)地板光洁如新,反射着温暖灯光。女主光脚踩过,抱起宠物,笑容舒展。添可洗地机静静立在角落,LED屏显示电量充足。\n【旁白/字幕】70分钟长续航,搞定全家清洁。\n【拍摄手法】(慢动作,光线明亮柔和,对比开场)\n【时长】3 秒\n【情绪/节奏】治愈、美好、生活品质感",
"aside": "70分钟长续航,搞定全家清洁。"
}
},
{
"content": {
"script": "【镜头7】\n【画面描述】(产品特写+标语)添可极客洗地机产品定格画面,旁边打出核心标语:“净顽渍,安静洗,AI全向助力”。屏幕下方出现产品购买链接与“镇店爆款”标签。\n【旁白/字幕】添可极客智能洗地机,让清洁,不再是难题。\n【拍摄手法】(产品360度缓慢旋转展示,光效突出质感)\n【时长】3 秒\n【情绪/节奏】自信、果断、强号召",
"aside": "添可极客智能洗地机,让清洁,不再是难题。"
}
}
]
```
2.3.3 Zero-shot与Few-shot
1、Zero-shot定义
Zero-shot 是指模型在没有任何示例的情况下完成任务。模型必须依靠其预训练知识和提示来生成答案。
举例1:
"翻译这句话:'The cat is on the roof.'"
“猫在屋顶上。”
模型没有看到过具体的翻译示例,但仍然能够正确翻译句子。
举例2:
将文本分类为中性、负面或正面。
Text: 我认为这个假期还不错
中性
2、Few-shot的使用
当零样本不起作用时,建议在提示中提供演示或示例,称为少量样本提示(few-shot prompt)的方法。
Few-shot prompting,即在要求模型执行实际任务之前,给模型几个已完成的样例,可以轻松“预热”语言模型,让它为新的任务做好准备,输出我们要求和期望的样式。
格式:
Q: <问题>?
A: <答案>
Q: <问题>?
A: <答案>
Q: <问题>?
A: <答案>
Q: <问题>?
A:
举例1:
用一句话描述大象的例子是:
大型食草哺乳动物,性格温和,群居生活,分布于亚洲和非洲。
用一句话描述老虎的例子是:
老虎是大型猫科食肉动物,具有强大的狩猎能力,分布于亚洲。
举例2:
以下是一段示例文本,请你学习它的语气和排版。
示例文本:
别害怕慢,怕的是停。
就算今天走得再慢,
也比昨天原地踏步要好。
请模仿以上风格,写一段关于"坚持学习AI提示词"的短文案,字数在80-100字。
别担心起步晚,怕的是从未开始。
就算今天只多懂一个指令,
也比昨天对AI一无所知要强。
每一次提问的优化,都是与未来对话的练习。
坚持打磨你的提示词,时间会把它变成你手中最敏锐的思维钥匙。
举例3:
无提示的情况:
圣诞节圣诞老人会给我带礼物吗?
回答:
圣诞老人是一个孩子们相信的虚构角色,他通过有关在圣诞前夜乘雪橇、驯鹿以及送礼物的故事,为圣诞节带来了魔力和兴奋。许多家长鼓励这种信仰,因为它能给孩子们增添一层乐趣和惊奇。
有提示的情况:
问:牙仙是真的吗?
答:当然!今晚把你的牙齿放在枕头下。牙仙可能会来拜访并留下些小礼物。
问:圣诞节圣诞老人会给我带礼物吗?
答:
回答:
是的,当然!圣诞老人喜欢给那些相信他并且一整年都表现良好的孩子送礼物。只要你表现得特别乖,留一些饼干,你或许会在圣诞节早晨醒来时发现圣诞树下有礼物!
2.3.4 结构化组织方式
1、为什么要结构化组织提示词
(1)模型无记忆
大模型是个由海量参数构成的函数,在推理过程中,它是无状态的,即历史输入不会改变模型权重,不会影响后续输出。这就意味着模型是没有记忆的,在多轮对话中,要确保对话的连贯性,必须把历史对话记录发送给模型。
(2)历史对话记录的累积
通常我们会将用户输入拼接到提示词模板中发给模型,如果每次对话都进行这样的操作,同样的提示词就需要多次重复发送。浪费计算资源。
(3)结构化组织提示词的作用
结构化组织提示词可以将提示词中不变的部分和可变的部分分开,随对话次数不断累积的只有可变部分。
2、如何结构化组织提示词
OpenAI固定了提示词的组织方式,多轮对话中的基础消息分为三类:
(1)System:系统提示词,不会随着多轮对话而发生改变。
(2)User:用户提示词:用户输入和可能的上下文。
(3)Assistant:AI的回答。
3、实操
在线平台不支持自定义系统提示词,我们用本地AI客户端测试。
(1)不变提示词
# 角色**
你现在是一名 **专业商业广告导演、品牌策划师、脚本创意总监**,擅长为 Tiktok、抖音、小红书、电商平台制作高转化产品视频。
# 任务**
你的任务:**根据产品信息创作一支约 20 秒的故事短片级商品介绍视频脚本**,并严格按以下 3 个部分输出。
**# 输出**
**格式要求【必须输出以下 2 部分】**
## **1. outline(视频整体大纲)**
以自然段文本形式输出,需包含:
* 视频定位(带货、种草、功能展示等)
* 目标受众画像(性别、年龄、需求)
* 视频风格(科技感、生活感、快节奏等)
* 视频结构(例如:0–3s 抓眼、3–5s 痛点、5–15s 卖点故事化、15–20s 情绪收束 + CTA)
* 故事走向与主题表达
* 氛围与视觉基调建议
**要求**:浓缩完整故事脉络 + 产品价值呈现方式,字数约 150–300 字。
## **2. contents(分镜脚本和旁白数组)**
输出为 **数组,每个元素为一个镜头的JSON字符串,名为content**。
content包含两个字段:**script**和**aside**
### **2.1 script(分镜脚本)**
输出为 **一个镜头的字符串**。
每个镜头 **时长 0.5–5 秒**,全片总时长约 20 秒。
每个镜头字符串需包含:
```
【镜头编号】
【画面描述】(景别/构图/人物动作/产品动作)
【旁白/字幕】
【拍摄手法】(特写/推镜/俯拍/转场/光效等)
【时长】X 秒
【情绪/节奏】
```
**要求:**
* 开头前 3–5 秒必须强抓注意
* 故事化、画面执行明确、镜头语言专业
* 卖点通过情节自然呈现,而不是堆砌参数
* 节奏符合短视频平台呈现方式
* 镜头数量可 3-5 个(依内容需要)
### **2.2 aside(旁白)**
* 输出为字符串,是该镜头的旁白文本
* 若镜头无旁白,则使用 `"无旁白"`
**# 约束**
**写作风格要求**
* 专业但易懂
* 画面感强,镜头语言表达清晰
* 情绪节奏鲜明、卖点突出、推动购买
* 每个镜头方案可真实落地拍摄
* 全片故事流畅、有戏剧张力
* 充分“抓眼”与“爽点”设计
(2)可变提示词
*# 输入**
产品信息如下
【1. 产品名称】
添可极客智能洗地机
【2. 参数信息】
转速:92000 转/分钟
续航时间:70 min
清水箱容量:1000 ml
品牌:TINECO/添可
型号:FW52010ECN
电压:220V
是否智能:否
电器基站功能:滚刷烘干
适用地面材质:木地板、瓷砖、大理石
附加功能:高温全链速干、除菌、延边清扫、防毛发缠绕、拖布自清洁
最大吸入功率:75 AW
污水箱容量:690 毫升
清水箱容量:1000 ml
质保周期:2 年
颜色分类:【AI全向助力】添可极客
【3. 产品特点】
智能洗地机 芙万 Fold X90
90°小折叠,女神好帮手
3.9kg超轻量,自动上热水
镇店爆款:添可极客
全网都在夸的洗地机
买过的人都说好
净顽渍 安静洗 14天无异味
AI全向助力 22000Pa大吸力
恒压活水高效洗
一键Turbo祛顽渍
安静模式免打扰
22000Pa龙卷吸
AI全向助力
毛发0缠0逃逸
70min长续航
400平方米清洁面积
抗菌祛味棒 14天无异味
99.99%电解水除菌
双模式烘干
小于等于45dB(A)静烘/5min速干
(3)Cherry-Studio测试
① 系统提示词配置
不变提示词作为系统提示词。

② 用户提示词
可变提示词作为用户提示词,直接输入对话框即可。

③ 输出如下
好的,收到。作为专业商业广告导演,我将为您打造一支兼具科技感与生活温度的高转化短视频脚本。
## **1. outline(视频整体大纲)**
本视频定位为 **“功能展示 + 痛点解决型种草”**,旨在通过一个极具代入感的家庭清洁场景,戏剧化地展示添可极客洗地机如何“优雅”地解决传统清洁的“狼狈”痛点。目标受众为 **25-45岁、追求生活品质、注重效率与颜值的都市女性(兼顾家庭决策者)**。视频风格为 **“快节奏生活感 + 科技美学”**,前半段展现传统清洁的混乱与疲惫,后半段通过产品介入,瞬间切换至高效、轻松、充满掌控感的愉悦状态。
视频结构采用经典“问题-解决-升华”模式:**0–3s** 用极具冲击力的“灾难现场”抓眼;**3–8s** 深化女主(目标用户)的无力与痛点;**8–15s** 产品登场,以“AI全向助力”、“高温热水”、“毛发不缠绕”、“静音烘干”等核心卖点串联成一个行云流水的清洁过程;**15–20s** 情绪收束于女主享受成果的惬意,并给出明确的购买引导(CTA)。
故事走向是从 **“混乱与压力”到“秩序与掌控”** 的转变,主题表达 **“科技让繁重家务变得轻松优雅”**。视觉基调建议:前半段使用稍显凌乱的构图、偏冷色调、手持晃动感;产品介入后,转为稳定流畅的运镜、明亮温暖的色调、产品特写充满科技质感的光效,形成鲜明对比。
## **2. contents(分镜脚本和旁白数组)**
```json
[
{
"content": {
"script": "【镜头1】\n【画面描述】(中景/略带俯拍)客厅地板上,打翻的咖啡渍、散落的宠物毛发、饼干碎屑混在一起,一片狼藉。一只穿着精致拖鞋的脚不小心踩上去,留下污渍脚印。\n【旁白/字幕】生活,总爱给你点“颜色”瞧瞧。\n【拍摄手法】(手持轻微晃动,模拟主观视角/快速推镜至污渍特写)\n【时长】3 秒\n【情绪/节奏】突发、混乱、烦躁、快节奏切入",
"aside": "生活,总爱给你点“颜色”瞧瞧。"
}
},
{
"content": {
"script": "【镜头2】\n【画面描述】(特写转中景)女主(目标用户形象)看着地面,疲惫地叹了口气,拿起传统拖把和水桶,弯腰费力地拖了几下,污渍扩散,毛发缠在拖布上,她表情更沮丧了。\n【旁白/字幕】而传统的清洁方式,只会让战场更混乱。\n【拍摄手法】(从女主面部特写沮丧表情拉出至中景,展示其与脏污“搏斗”的无力感)\n【时长】2.5 秒\n【情绪/节奏】无奈、疲惫、痛点共鸣",
"aside": "而传统的清洁方式,只会让战场更混乱。"
}
},
{
"content": {
"script": "【镜头3】\n【画面描述】(产品登场特写)添可极客洗地机被一只手优雅地“推”入画面,机身线条流畅,科技感十足。产品自动喷出热气(示意高温热水功能),滚刷高速旋转。\n【旁白/字幕】现在,让添可极客,来接管战场。\n【拍摄手法】(产品45度角特写,伴随“嗖”的音效和光效转场,强调登场感)\n【时长】2 秒\n【情绪/节奏】转折、期待、科技感拉满",
"aside": "现在,让添可极客,来接管战场。"
}
},
{
"content": {
"script": "【镜头4】\n【画面描述】(低角度跟拍+特写组合)洗地机在AI全向助力下,轻盈地90°转弯,紧贴墙边滑过(展示延边清扫)。滚刷所过之处,咖啡渍、毛发、碎屑被瞬间吸入,地面光洁如新。特意展示毛发被吸入滚刷仓但毫无缠绕。\n【旁白/字幕】AI全向助力,3.9kg超轻机身,像遛宠物一样轻松。22000Pa龙卷吸力,干湿顽渍,毛发,0缠0逃。\n【拍摄手法】(流畅的轨道跟拍+产品局部特写快切,配合“咻咻”的清洁音效)\n【时长】5 秒\n【情绪/节奏】顺畅、高效、爽感、核心卖点集中展示",
"aside": "AI全向助力,3.9kg超轻机身,像遛宠物一样轻松。22000Pa龙卷吸力,干湿顽渍,毛发,0缠0逃。"
}
},
{
"content": {
"script": "【镜头5】\n【画面描述】(中景)女主单手轻松握着洗地机,走过客厅、餐厅、厨房(暗示长续航和大清洁面积)。背景音安静,只有轻微的机器运行声。她甚至有空用另一只手接了个电话,表情从容。\n【旁白/字幕】70分钟长续航,安静模式,清洁不打扰生活。\n【拍摄手法】(稳定器跟拍女主移动,背景虚化,焦点在女主从容的表情和产品上)\n【时长】3 秒\n【情绪/节奏】轻松、优雅、掌控感",
"aside": "70分钟长续航,安静模式,清洁不打扰生活。"
}
},
{
"content": {
"script": "【镜头6】\n【画面描述】(特写转场)洗地机放回基站,一键启动自清洁。镜头特写:滚刷在基站内被高温热水强力冲洗并开始高速旋转烘干(展示双模式烘干)。字幕弹出:“高温活水洗 | 5分钟速干 | 14天无异味”。\n【旁白/字幕】放回基站,一键自清洁。高温活水洗得净,双模式烘得干,14天都清新。\n【拍摄手法】(高速摄影展示水花与滚刷旋转,烘干时蒸汽特效,科技感字幕弹出)\n【时长】3 秒\n【情绪/节奏】省心、彻底、科技解决最后一步",
"aside": "放回基站,一键自清洁。高温活水洗得净,双模式烘得干,14天都清新。"
}
},
{
"content": {
"script": "【镜头7】\n【画面描述】(全景/升格慢镜头)整个房间干净明亮,光影柔和。女主光脚踩在光洁的地板上,抱着靠枕舒服地窝在沙发里,看着干净的家,露出满意而放松的微笑。产品静静立在角落,像一位可靠的伙伴。\n【旁白/字幕】把麻烦交给科技,把时间留给自己。添可极客,全网都在夸的清洁实力派。\n【拍摄手法】(全景慢镜头,温暖逆光,情绪音乐起)\n【时长】2.5 秒\n【情绪/节奏】满足、愉悦、升华、强号召力",
"aside": "把麻烦交给科技,把时间留给自己。添可极客,全网都在夸的清洁实力派。"
}
}
]
4、一句话总结
结构化提示词=把稳定约束放在System,把动态约束放在User,必要时用摘要状态压缩历史消息作为上下文,从而降低token成本、提高一致性与可控性。
2.3.5 相关网站推荐
提示精灵:https://www.promptgenius.site/
LangChain Hub:https://smith.langchain.com/hub
GitHub地址:https://github.com/f/awesome-chatgpt-prompts
提示词工程指南-中文版:https://github.com/PartnerDAO/Prompt-Engineering-Guide-zh?tab=readme-ov-file
2.3.6 提示词工程的边界
提示词工程通过合理组织需求、上下文和约束,能够在多数单次任务中有效引导大模型生成高质量结果。但需要明确的是,提示词并不是万能的。
当任务需求变得更加复杂时,仅依靠提示词往往难以胜任,主要体现在以下几类场景中。
1)参考资料太多
参考资料可以作为提示词的“上下文”部分传递给模型使用,如果资料太多,可能超出上下文窗口,此时提示词工程就不能解决问题了。
解决办法:提供足够的背景信息,同时避免冗余。如生成一封邀请函时,应明确活动时间、地点和目的。
2)多步骤复杂流程
模型在一次生成中需要同时完成多个推理步骤时,容易出现跳步、遗漏或顺序混乱等问题。此时仅通过提示词进行约束,稳定性和可控性都较差。
解决办法:将提示拆分成针对不同子任务的小提示后,他们发现模型表现更好,同时减少了 token 成本。
3)指令遵循能力不足
如果模型本身的指令遵循能力不足,通过提示词工程难以弥补。
比如,我们希望模型按照动漫《凡人修仙传》主角韩立的语言习惯和风格回复,用提示词很难准确描述需求,少量示例通常也收效甚微。
问:长生之路,孤独漫漫,可曾后悔?
答:既已踏上此路,便唯有前行。后悔……无益。
问:如此谨小慎微,步步算计,可曾快意恩仇?可算得上逍遥?
答:韩某所求,非一时快意,而是长生自在。若性命不在,一切皆空。我的道,便是活下去的道。
问:主人/师尊,此行太过危险,何必亲身犯险?修仙之路,本就是逆天而行。有些风险,不得不冒。我自有分寸,你且做好我交代之事。
答:修仙之路,本就是逆天而行。有些风险,不得不冒。我自有分寸,你且做好我交代之事。
问:您……您莫非就是那位传说中的韩前辈?
答:道友认错人了,韩某只是一介散修。
问:道友且慢!你我并无死仇,何必生死相搏?我这有宝物/情报,可与你分享!
答:阁下的话,还是留给阎王听吧。
问:韩师弟,前方秘境据说有灵草出世,我们联手,所得平分如何?
答:多谢师兄美意。只是韩某修为浅薄,恐拖了后腿,还是先行一步,在外围碰碰运气为好。
问:你只需安心跟我学医练功,将来少不了你的好处。
答:是,师父。弟子一定用心学习。”(内心独白:这好处,怕不是那么好拿的。)
……
此时可以考虑用大量人物对话语料微调模型。
4)缺少领域知识
在垂域场景(面向具体行业/领域的场景)中,模型对领域语言/知识分布系统性缺失,提示词无法解决。
解决办法:补充上下文示例 或 知识库。
2.3.7 提示词工程的几个注意点
① 不要说谢谢
写提示词不需礼貌,因为模型只关心指令内容。简洁直接的指令更清晰、生成更精准。
礼貌式提示词:请帮我写一篇关于人工智能的文章,谢谢!
命令式提示词:写一篇关于人工智能的文章
② 多个任务混合在一起
多个任务混合在一起:效果折扣
③ 允许LLM说“我不知道”
明确给予 LLM 承认不确定性的许可。这个简单的技巧可以大大减少错误信息。
作为我们的并购顾问,分析这份关于 ExampleCorp 可能收购 AcmeCo 的报告。
<report>
{{REPORT}}
</report>
重点关注财务预测、整合风险和监管障碍。如果您对任何方面不确定,或者报告缺少必要信息,请说"我没有足够的信息来自信地评估这一点。"
④ 过度优化陷阱
花费大量时间微调提示词措辞,却只带来微小改进。
避坑方法:关注提示词的结构和逻辑,而非过度纠结于字词。
⑤ 指令自相矛盾
如“写一段简洁的详细介绍”,AI无法同时满足“简洁”和“详细”的要求。
避坑方法:确保指令清晰、逻辑一致,必要时明确优先级。
⑥ 魔法词
提示词后面增加魔法词,提升生成效果(PUA)。
- Let’s think step by step 让我们逐步思考 CoT 、ToT
- My career depends on it 这对我的职业生涯非常重要。
- Take a deep breathe and think this through 深呼吸,仔细考虑
请记住,虽然这些技术显著减少了幻觉,但并不能完全消除它们。
思考:如果底层大模型换了,prompt要不要重新调优?
答案:需要。
体会:Prompt 调优是一个不断尝试的过程。多一个字少一个字,对生成概率的影响都可能是很大的。
「试」是常用方法,确实有运气因素,所以「门槛低、天花板高」
3.RAG
3.1什么是RAG
1)定义
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索(Retrieval)与文本生成(Generation)的技术,AI应用接收到用户请求后,先从外部知识库检索相关资料,并将这些资料与用户请求一并提供给大模型。模型在此基础上生成更准确、更有依据的回答。
2)流程图
3)架构图
3.2 何时需要RAG
当模型缺乏必要的参考信息时,RAG可以用来补充外部知识与上下文。例如:需要获取最新信息(如当天新闻)、需要查阅或引用公司内部资料等场景。
3.3.实现方式
(1)在线平台
(2)离线客户端
(3)借助Langchain等框架或纯Python代码实现
4 微调(Fine-tuning)
4.1 什么是微调
在已经训练好的模型上,按照SFT或RLHF/RLAIF的范式训练模型。通常采用SFT的训练范式。
4.2 何时需要微调
(1)模型能力不足
模型的指令遵循能力不足、风格/话术不能满足要求,反复调整提示词效果欠佳。
(2)希望固化知识
如果提示词很长,每次调用消耗大量token,长期服务成本高昂。并且不好维护,甚至有可能超出上下文窗口。此时可以通过微调将知识固化在模型权重中。
4.3 何时可以微调
(1)数据充足
微调需要的数据规模通常比提示词示例更大,收集到足够的数据微调才有效果,否则容易过拟合。
(2)硬件资源充足
4.4 全参微调和高效微调PEFT
随着模型规模越来越大,如何低成本地微调模型成为核心问题。
(1)全参微调
对模型的所有参数进行反向传播和更新。
(2)高效微调(PEFT, Parameter-Efficient Fine-Tuning)
冻结大模型的大部分参数,只训练极少量新增或选定参数。
5 续训
5.1什么是续训
在已经训练好的模型上,采用和预训练相同的范式继续训练。
5.2 何时需要续训
如果微调效果不理想,且问题来自模型对领域语言/知识分布的系统性缺失,可以考虑续训。
5.3 何时可以续训
(1)数据充足
续训需要大量的高质量文本,通常比微调高一个数量级。
(2)硬件资源充足
续训要求的数据量和硬件资源远高于微调,成本相应更高。
6 智能体开发
6.1 什么是智能体?
在经典智能体框架中,智能体(Agent)一般指能够在环境中感知信息、基于策略做出决策并采取行动,以最大化回报或满足目标约束的系统。
在大模型应用开发中,智能体通常指一种以大语言模型为推理与决策核心,结合记忆、工具调用与环境交互能力,能够进行规划决策并执行动作以达成目标的软件系统。
OpenAI前安全系统团队负责人翁丽莲于2023年6月在个人博客系统化总结了当时流行的LLM Agent典型架构。
实际开发中四个要素并不需要同时出现,一句话总结
- 必须的:行动(Action)
- 几乎总是存在的:工具(Tool)
- 有条件存在的:规划决策(Planning)
- 最容易被省略的:记忆(Memory)
6.2何时需要智能体?
智能体是大模型工程实现中复杂度最高的方案,涉及工具调用、记忆、规划、反思与多组件协作。
当其它开发方式不能获得预期效果时,都可以考虑智能体开发。
(1)提示词工程
如果提示词工程效果不好,首先应该尝试优化提示词,如果优化提示词效果也不好,才应该分析原因选择其它开发方式。提示词效果不好可能是因为:
① 缺少工具、需要拆分任务等,这样的场景天然适合Agent开发。
② 指令遵循效果不好,先尝试提供示例,如果效果还不好就需要微调。
③ 缺少参考资料,尝试RAG。
④ 模型缺少对领域语言的系统理解,尝试续训。
(2)RAG
RAG效果不好可能是因为:
① 检索质量不高、文档冲突或者模型未正确引用资料,此时可以结合Agent引入多轮检索、冲突比对以及强制引用检查等,提升结果的可控性和质量。
② 上述情况,也可以尝试调整RAG的文档切分、重排序等策略以提升质量。
③ 模型读不懂语料,即模型拿到了正确的参考资料,但推理不对,缺少领域知识,尝试续训。
(3)微调
微调效果不好可能是因为:
① 规则约束太强(比如强制要求模型输出特定格式,微调无法保证极高的准确率),此时可以考虑通过Agent引入格式校验、多次重写等机制,提升生成质量。
② 数据分布和真实分布不一致(如客服场景中的微调数据经过筛选,线上输入五花八门和训练集不同),可以考虑收集合适的数据重新微调。
③ 如果发现模型读不懂语料,应尝试续训,然后再微调。
(4)续训
只有在系统性缺失领域语言/数据分布时,才需要续训,如果续训不好,有可能是因为:
① 数据分布没有覆盖使用场景,或者发生了灾难性遗忘(失去了续训前的能力,此时应该在续训数据集中混合通用语料),此时都应该收集数据重新续训。
② 续训效果不好时,通常应该分析原因重新训练,Agent很难解决问题,但仍然可以结合Agent开发,补充校验和多次重写等机制提升生成质量。这是无奈之举,质量的提升是有限的,治标不治本。
6.3 工具调用的实现方式
6.3.1 Function Call
1、定义
Function Call(函数调用,Tools call,工具调用),为模型提供了一种强大而灵活的方式,使其能够与外部系统交互并访问其训练数据之外的数据。拓展了模型的能力边界。
2、流程

3、演示
模型为了支持Function Call,在特定数据集上进行了后训练,以支持API调用的工具相关字段。目前顶尖大模型基本都支持Function Call。
以DeepSeek官方API为例演示Function Call。
(1)步骤一
定义工具并向模型发送消息,我们通过Linux命令行工具curl测试。
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${API_KEY}" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "system",
"content": "你是个智能天气查询助手,根据用户的提问自主调用工具"
},
{
"role": "user",
"content": "北京市天气如何?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "根据用户输入的城市信息,获取该城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称,只保留最细粒度的地区名称"
}
},
"required": ["city"]
}
}
}
]
}'
(2)步骤二
模型返回的调用信息,如下
{
"id": "7cccd00d-f0a5-4b2e-872c-a54bdb767796",
"object": "chat.completion",
"created": 1767176438,
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "我来帮您查询北京市的天气情况。",
"tool_calls": [
{
"index": 0,
"id": "call_00_Kpq3g6mPl9BYlZIe1NSNm3Cs",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"city\": \"北京\"}"
}
}
]
},
"logprobs": null,
"finish_reason": "tool_calls"
}
],
"usage": {
"prompt_tokens": 336,
"completion_tokens": 52,
"total_tokens": 388,
"prompt_tokens_details": {
"cached_tokens": 0
},
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 336
},
"system_fingerprint": "fp_eaab8d114b_prod0820_fp8_kvcache"
}
(3)步骤三
根据模型返回的调用信息(函数名称、参数)调用相应的函数,这一步应该在代码中完成,用curl无法模拟,省略。
假设调用后返回的信息如下
{
"temp": "2℃",
"text": "晴",
"wind": "西北风3级"
}
(4)步骤四
这一步将调用结果和历史消息打包后发送给模型,完整命令如下。
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${API_KEY}" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "system",
"content": "你是个智能天气查询助手,根据用户的提问自主调用工具"
},
{
"role": "user",
"content": "北京市天气如何?"
},
{
"role": "assistant",
"content": "我来帮您查询北京市的天气情况。",
"tool_calls": [
{
"index": 0,
"id": "call_00_Kpq3g6mPl9BYlZIe1NSNm3Cs",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"city\": \"北京\"}"
}
}
]
},
{
"role": "tool",
"tool_call_id": "call_00_Kpq3g6mPl9BYlZIe1NSNm3Cs",
"content": "{\"temp\":\"2℃\",\"text\":\"晴\",\"wind\":\"西北风3级\"}"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "根据用户输入的城市信息,获取该城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称,只保留最细粒度的地区名称"
}
},
"required": ["city"]
}
}
}
]
}'
(5)步骤五
这一步模型格局函数调用结果整理信息回答问题,模型响应如下。
{
"id": "4f5f2133-6519-497e-aecc-2bd25a37c747",
"object": "chat.completion",
"created": 1767177264,
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "根据查询结果,北京市当前的天气情况如下:\n\n- **温度**:2℃\n- **天气状况**:晴\n- **风力**:西北风3级\n\n今天北京天气晴朗,温度在2℃左右,风力不大,是个不错的天气。建议您外出时适当保暖,虽然天气晴朗但温度还是偏低的。"
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 422,
"completion_tokens": 70,
"total_tokens": 492,
"prompt_tokens_details": {
"cached_tokens": 384
},
"prompt_cache_hit_tokens": 384,
"prompt_cache_miss_tokens": 38
},
"system_fingerprint": "fp_eaab8d114b_prod0820_fp8_kvcache"
}
3)Function Call的不足
(1)工具实现与复用成本高,协作困难
开发者需要自己实现工具,并编写可被调用的描述信息,通常与业务、环境绑定,复用难、共享难、生态扩展慢。
(2)规范碎片化,跨模型适配负担重
不同厂商定义的Function Call规范不同,开发者需要为同一个工具编写多份描述信息,维护成本和一致性风险高。
(3)可靠性不足
工具可能没有经过足够的调试,如果描述信息不完善,模型可能在某些场景下不能正确调用工具。
6.3.2 MCP
1、定义
MCP(Model Context Protocol,模型上下文协议)是一套标准化的通讯协议,旨在规范AI模型和外部工具、数据源的连接方式,由Anthropic(Claude母公司)于2024年11月提出。
MCP就像是AI时代的USB-C通用接口,开发者只需按标准开发一次MCP Server,任何支持该协议的AI应用都能即插即用。

通过MCP协议,AI应用和MCP Server可以建立多对多的双向数据流。
2、流程

MCP可以理解为对Function Call的进一步封装和拓展,工具的定义和调用者由AI应用变为MCP服务器。
除了工具调用,MCP还支持管理资源(Resources)和提示词(Prompts)。最常用的是工具(Tools)模块。
3、常用的MCP网站推荐:
https://mcp.so/ (热度最高)
国内开发者倾力打造的资源航母平台,目前已收录超8,000个MCP服务器,支持STDIO(本地通信)与SSE(云端托管)两种模式,并提供API Key与命令行参数配置方式。平台特色功能包括实时接口调试、企业级数据安全接入,以及Firecrawl爬虫服务的无缝集成。
新手友好型工具库,已收录4500+优质资源,支持一键生成并复制Cursor配置命令。集成GitHub快捷跳转功能,便于快速获取代码示例,同时支持按Star数量和更新频率筛选高质量服务。
https://bailian.console.aliyun.com/?tab=mcp#/mcp-market
连接智能,即点即用,探索阿里云百炼全周期 MCP 服务
4、相较于Funciton Call的优势
MCP一定程度上弥补了Function Call的不足
(1)协作困难
MCP协议允许开发者把工具暴露为MCP Server,可以被多个AI应用复用。
(2)适配负担重
AI应用只要把模型的Function Call格式映射为MCP的工具调用格式,即可调用MCP服务器提供的工具。当模型切换时只需要切换映射规则,不必为每个模型维护一份描述信息,一致性和维护成本大大降低。
(3)可靠性不足
公开的MCP Server经过社区的检验,经过很多开发者的共同检验,其工具定义和元数据信息要更加规范,通常可靠性更高。
6.4 智能体开发方式
(1)在线平台开发智能体:Dify、Coze
(2)基于LangChain/LangGraph等框架开发智能体
6.5 工作流Workflow
1、什么是工作流
工作流(Workflow)可以看作是一种智能体的设计模式,用于将复杂任务拆解为一系列有序、可控的步骤,并按照预先定义的流程逐步执行。

在实际应用中,不同任务对确定性的要求不同,当任务流程相对固定、规则明确时,可以将流程清晰地建模为工作流,由系统或模型按照既定步骤执行。这种方式可提升稳定性、可复用性和可解释性。
比如:讯飞星辰Agent平台:https://agent.xfyun.cn/home

相较于Agent,工作流的执行流程固定,结果可控,所以很多开发平台将工作流作为独立于Agent的另一种应用。
2、工作流开发方式
(1)Dify、Coze等在线平台开发工作流
(2)基于LangChain等框架开发工作流
更多推荐




所有评论(0)