在LangChain构建LLM应用的流程中,PromptTemplate(提示模板) 和 Message(消息) 是两个贯穿 “提示生成→对话交互” 的核心组件。前者解决 “提示标准化与复用” 问题,后者则是 “对话上下文承载” 的最小单元 —— 但很多开发者容易混淆两者的定位与用途。本文将全面拆解两者的核心能力,并通过对比明确其本质差异,助力你在实际开发中精准选型。

一、什么是提示词(Prompt)

在大模型领域,经常耳熟能详的一个英文单词是Prompt,那么到底Prompt是什么呢?我们不妨打开有道翻译,看看它的解释:

在讨论大模型时,我们常说的"Prompt" 是指:输入给大模型的问题或者指令,这些输入指令用来引导模型生成相应的回答或输出。提示词的质量直接影响模型的回答效果,决定着模型能否完成预期的任务。

关于提示词以及提示词工程本文不做过多展开,感兴趣的读者可以参考如下推荐链接去学习:

1、OpenAI官方教程:

https://platform.openai.com/docs/guides/prompt-engineering

2、提示工程教程网站:

https://www.promptingguide.ai/zh/introduction

二、提示词模版(Prompt Template)

LangChain 中的 PromptTemplate 是用于定义提示结构、分离静态文本与动态变量的工具,其本质是 “将重复的提示逻辑抽象为可复用模板”,避免开发者每次调用模型时都手动拼接字符串。在LangChain框架中,提示词是由提示词模版(PromptTemplate)类生成的。每一个PromptTemplate类的实例都定义了一种特定的提示词和生成规则。

1、核心价值

  • 复用性:一套模板可在多场景重复使用(如电商客服的 “订单查询提示”,只需替换 “订单号” 变量);

  • 一致性:确保不同输入下的提示格式统一(如所有用户提问都包含 “系统指令 + 用户问题” 结构);

  • 动态注入:支持将外部数据(如用户输入、数据库查询结果)作为变量注入模板,生成个性化提示;

  • 可维护性:模板集中管理,修改静态逻辑(如 “回复风格要求”)时无需改动所有调用代码。

2、提示词模板分类

提示词模板的输出是一个 PromptValue(提示值),该 PromptValue 可传递给LLM(大语言模型)或ChatModel(聊天模型),也可转换为字符串或消息列表。PromptValue 存在的意义,是为了让字符串和消息之间的切换更便捷。提示模板主要分为以下几种类型:

(1)字符串提示模板(StringPromptTemplates)

这类提示模板用于格式化单个字符串,通常适用于较简单的输入场景。例如,构建和使用字符串提示模板的常见方式如下:

from langchain_core.prompts import PromptTemplate

(2)聊天提示模板(ChatPromptTemplates)

这类提示模板用于格式化消息列表,其本身由一系列子模板组成。例如,构建和使用聊天提示模板的常见方式如下:

from langchain_core.prompts import ChatPromptTemplate

在上述示例中,调用该聊天提示模板时会生成两条消息:第一条是系统消息(无待填充变量),第二条是用户消息(会通过用户传入的 “topic” 变量进行格式化)。调用结果如下所示:

(3)消息占位符(MessagesPlaceholder)

这类提示模板用于在特定位置插入消息列表。在前面的聊天提示模板示例中,我们展示了如何格式化两条字符串类型的消息;但如果需要让用户传入一组消息并插入到模板的指定位置,就需要用到消息占位符。使用方式如下:

from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder

上述代码最终会生成 4 条消息:1 条系统消息 + 传入的 3 条消息(2 条用户消息、1 条 AI 消息)。若传入 5 条消息,则最终会生成 6 条消息(1 条系统消息 + 5 条传入消息)。这种方式在需要将消息列表插入模板指定位置时非常实用。

此外,也可不直接使用 MessagesPlaceholder 类,通过以下简化方式实现相同功能:

prompt_template = ChatPromptTemplate([

三、Message

LangChain 中的 Message 是对话场景下交互信息的最小单元,它不仅包含 “内容”,还绑定了 “角色”(如用户、系统、模型),是Chat Model与外界交互的 “标准数据格式”。

1.核心价值

  • 区分交互角色:明确消息的发送者(系统 / 用户 / 模型 / 工具),让 Chat Model 理解对话逻辑(如优先遵循 System指令,响应Human 输入);

  • 承载上下文:多轮对话中,Message 列表构成 “聊天历史”,让模型能 “记住” 过往交互(如用户之前提到的 “订单号”);

  • 支持多模态与工具调用:扩展文本之外的内容(如图像、工具调用结果),是多模态对话与工具联动的基础。

  1. 分类与详细解析:按角色划分的 Message 类型

LangChain 按 “交互角色” 将 Message 分为 4 大类,每种角色对应明确的功能定位,覆盖从基础对话到工具调用的全场景。

类型 角色 核心作用 适用场景
SystemMessage system 设定模型的 “行为准则”,定义对话的全局规则(如语气、能力边界、输出格式) 所有对话场景,尤其是需要约束模型行为时(如 “你是电商客服,仅回答订单问题”)
HumanMessage human 承载用户的输入信息(如提问、需求描述) 用户与模型的直接交互(如 “查询我的订单状态”)
AIMessage AI 承载模型的输出信息(即模型的回复内容) 多轮对话中记录模型历史回复,用于上下文衔接
ToolMessage 承载工具 / 函数调用的结果(如 API 返回数据、数据库查询结果) 工具调用场景(如模型调用 “天气 API” 后,用此类型传递天气数据给模型)

(1)SystemMessage:模型的 “行为说明书”

  • 核心逻辑:优先级最高的消息,用于预先定义模型的行为,且模型会默认认为 System 指令是 “全局规则”,贯穿整个对话;

  • 注意事项:内容需具体、明确,避免模糊表述(如 “回答简洁” 不如 “回答不超过 3 句话,每句不超过 20 字”)。

from langchain_core.messages import SystemMessage

(2)HumanMessage 与 AIMessage:对话的 “输入输出载体”

  • HumanMessage:用户输入的直接映射,可包含文本、多模态内容(如图像 URL,需模型支持);

  • AIMessage:模型回复的存储载体,多轮对话中需将历史 AIMessage 与 HumanMessage 一起传入模型,确保上下文连贯。

代码示例(多轮对话列表):

from langchain_core.messages import HumanMessage, AIMessage

(3)ToolMessage:工具调用的 “结果传递器”

  • 核心逻辑:当模型调用外部工具(如 API、数据库)后,工具的返回结果需用 ToolMessage 封装,再传入模型,模型会基于该结果生成最终回复;

  • 关键属性:除了 content(工具结果),还需指定 name(工具名称,与模型调用时的工具名一致),确保模型关联 “调用请求” 与 “结果”。

代码示例(工具调用流程):

from langchain_core.messages import HumanMessage, AIMessage, FunctionMessage
  1. Message 的格式与兼容性

LangChain 支持两种主流的 Message 格式,确保与不同模型生态兼容:

  • LangChain原生格式:基于langchain_core.messages 中的类(如 SystemMessage),结构清晰,支持多模态扩展;

  • OpenAI 格式:字典格式,键为 role(对应 type)和 content(对应 content),如 {“role”: “system”, “content”: “你是助手”},适合从 OpenAI 生态迁移的项目。

两者可通过 from_dict 和 to_dict 方法互相转换:

from langchain_core.messages import SystemMessage
  1. Message 的核心特性总结
  • 输入:角色(type)+ 内容(content,支持文本 / 多模态)+ 可选属性(如工具调用信息);

  • 输出:标准化的 Message 对象,可直接传入 Chat Model;

  • 核心目标:承载对话上下文,区分交互角色,支持复杂对话与工具联动;

  • 依赖场景:所有 Chat Model 调用场景,是多轮对话、工具调用、多模态交互的基础。

四、PromptTemplate 与 Message 的关系

很多开发者混淆两者,核心是未明确 “模板” 与 “消息” 的差异。下表从 6 个核心维度对比,帮你彻底厘清:

对比维度 PromptTemplate Message
本质属性 「提示生成器」:静态逻辑与动态变量的组合,是 “生产提示的模板” 「交互数据单元」:对话中实际传递的信息载体,是 “生产出的产品”
核心结构 静态文本 + 变量占位符(如 {user_question}),结构是 “模板化的规则” 角色(type)+ 内容(content),结构是 “结构化的交互数据”
核心用途 1. 标准化提示生成流程;2. 复用提示逻辑;3. 动态注入变量(如用户输入) 1. 承载对话上下文;2. 区分交互角色(系统 / 用户 / 模型);3. 传递工具调用结果
与模型的交互模式 「预处理阶段」:在调用模型前,将模板与变量结合,生成最终的 “输入内容”(字符串或 Message 列表),不直接与模型交互 「交互阶段」:直接作为模型的输入 / 输出(输入是 Human/System Message,输出是 AIMessage),是模型交互的 “直接对象”
生命周期 初始化后可重复使用(如一套客服模板可服务所有用户),生命周期长 动态生成与销毁(每轮对话生成新的 Message,对话结束后可丢弃或归档),生命周期短
依赖关系 ChatPromptTemplate 依赖 Message 的角色定义(如 SystemMessage 模板),最终生成 Message 列表 可独立创建(如手动构建 Message 列表),也可由 ChatPromptTemplate 生成,是 “被生成的对象”

五、应用场景分析

在实际 LLM 应用中,两者并非孤立,而是协同工作,以下是两个典型场景:

  1. 多轮对话机器人(如客服助手)
  • PromptTemplate:用 ChatPromptTemplate 定义 “系统指令 + 历史占位符 + 用户问题模板”,确保所有用户的对话都遵循统一规则;

  • Message:用 MessagesPlaceholder 动态注入 “聊天历史”(HumanMessage + AIMessage 列表),让模型记住过往交互;

  • 流程:每次用户提问 → 模板注入 “历史 + 新问题” 生成 Message 列表 → 传入模型 → 模型返回 AIMessage → 更新聊天历史。

  1. RAG 问答系统(基于文档的问答)
  • PromptTemplate:用 ChatPromptTemplate 定义 “系统指令(基于文档回答)+ 文档片段变量 + 用户问题模板”,如:
rag_template = ChatPromptTemplate.from_messages([
  • Message:模板注入 “文档片段(动态变量)+ 用户问题” 生成 Message 列表,传入 Chat Model,模型返回基于文档的 AIMessage;

  • 优势:模板确保 “文档片段 + 问题” 的格式统一,Message 确保模型能正确识别 “系统指令” 与 “用户问题” 的角色。

六、总结:如何正确选择与使用?

当你需要标准化提示逻辑、复用提示结构时,用PromptTemplate,优先选择 ChatPromptTemplate(适配 Chat Model,与 Message 无缝衔接)。

当你需要承载对话上下文、区分交互角色时:用Message,按场景选择 SystemMessage(定规则)、HumanMessage(用户输入)、AIMessage(模型回复)。

核心原则:PromptTemplate 是 “生产 Message 的工具”,Message 是 “与模型交互的载体”—— 先定义模板确保逻辑统一,再通过模板生成 Message 实现交互。

掌握两者的核心逻辑与区别,是构建稳定、可维护的 LangChain 应用的基础。无论是简单的对话机器人,还是复杂的 RAG 系统、工具调用应用,都需要通过 “模板标准化” 与 “消息结构化” 的协同,实现高效的 LLM 交互。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

Logo

更多推荐