在上篇文章中 讲到了 AI 应用演进:从基础调用到自主智能体 这篇我们从 AI 应用的细节开始探索。
大模型本质是"概率生成器",依赖用户输入激活任务。若无明确指令,模型会自由发散,输出结果可能偏离需求。
在和大模型进行对话时,就像面对一名智者,使用者为了从智者那里获取更加准确的信息,需要修饰自己的提问,使模型能够更好地理解用户的需求。
修饰提问词的方式有很多种,比如:
- 直接输入问题
- 输入问题和背景信息
- 输入问题和期望的回答格式
为了应对可能出现的各种场景的提问,在和大模型的通信过程中如果指定提问的角色,会使大模型的回答更加专业。
例如提问: "你是一名资深 Python 工程师, 优化以下 SQL..."。
大模型会根据 Python 工程师的专业知识,来优化 SQL 语句。
角色的分类
在主流大模型的设计中,预设了三种角色来构建对话结构、控制模型行为的关键机制。
- 系统角色(System):在对话初始化阶段定义模型的行为边界(如身份、知识范围)和输出规范(如格式、风格),贯穿整个会话周期。
- 用户角色(User):用户角色是指对话的发起方,通常是人类用户。用户角色的主要作用是向模型输入指令或问题,以及接收模型的回答。
- 助手角色(Assistant):助手角色是指对话的接收方,通常是大模型。助手角色的主要作用是根据用户的指令或问题,生成符合要求的回答。
有了这三种角色,就可以构建出一个完善的对话系统。
例如:
sql
系统角色:你是一名资深 Python 工程师,优化以下 SQL 语句。
用户角色:以下是 SQL 语句:
SELECT * FROM user WHERE id = 1
助手:当然可以,我会根据 Python 工程师的专业知识,来优化 SQL 语句。以下是优化后的 SQL 语句:
SELECT id, name, age FROM user WHERE id = 1
用户:请解释一下这个 SQL 语句的执行计划。
助手:好的,我会根据 Python 工程师的专业知识,来解释一下这个 SQL 语句的执行计划。以下是执行结果: xxxxx
公众号会持续输出有关 AI 应用的有关知识和应用落地, 欢迎关注。
