本页目录
理解 LLM 的第一步,是理解与它们对话的协议,也就是组成对话的各种消息。
什么是用户消息?什么是 系统提示词?什么是工具调用?什么是推理 Token?下面逐一拆解。
用户消息与助手消息
与 LLM 的简单对话可能是这样的:用户发出的消息称为用户消息,LLM 返回的消息称为助手消息。
在这个场景中,我们只是与 模型提供商 提供的原始模型对话。如果想自定义 LLM 的行为,就可以使用系统提示词。
想继续深入: 加入“面向真正工程师的 AI 编码”候补名单
系统提示词
系统提示词位于消息历史的最前面,LLM 可以看到,但用户通常看不到。
系统提示词也很强大。当用户要求与系统提示词冲突时,LLM 通常会服从系统提示词。例如,可以要求它使用摩尔斯电码回答;之后即使用户要求停止,它仍会继续使用摩尔斯电码。
当然,这并非总是有效,人们越狱系统提示词的例子也很多,但理论上它应该如此工作。
推理 Token
许多模型能够返回推理 Token,看起来像是在回答前先思考输出内容。这些推理 Token 只是助手消息的另一个组成部分。
这里有一个重要概念:一条消息可以包含多个部分。文件部分也采用这种机制,你可以向 LLM 发送文件,也可以在图像生成等场景中接收模型返回的文件。
例如,我们向 LLM 发送一个文件,要求它总结这份 PDF,模型便会返回摘要。
工具
借助工具,你可以告诉 LLM,它能够访问一个写文件工具,例如把文件写入本地文件系统。
接着用户说,请写入一个 todo.md 文件。助手随后生成一条 工具调用 消息。这次工具调用带有一个 id ,并包含一条写文件指令,要求写入 todo.md ,内容为空。
然后,应用取得并执行这次工具调用,再向 LLM 返回一条工具结果,其中带有相同的 id 以及执行结果,结果通常以字符串表示。
最后,助手会总结发生了什么,例如“已成功写入 todo.md 文件”。
因此,工具可以看作 LLM 与我们系统之间的一场对话:
- 工具调用是 LLM 向系统提出请求
- 工具结果是系统把所需信息返回给 LLM
这就是 Claude Code、Cursor 等 AI 应用能够在你的系统上执行操作的方式。后面会更深入地介绍工具。