第 6 天 · 提示词模板与变量:别再手写一长串
第 6 天 · 提示词模板与变量:别再手写一长串 🧩
💡 今日引入
你有没有过这种体验:要给 AI 写 10 遍"帮我用简单的话讲讲 Python / 讲讲 Transformer / 讲讲 RAG",于是复制粘贴改几个词,改着改着就把某句漏了、某处拼错了?我刚开始就这样。后来才发现,提示词也能像写代码一样"参数化"——一套骨架喂不同的内容,这就叫提示词模板。
🔗 接上昨天
第 5 天我们给 AI 加了 system 角色,messages 数组里多了一个常驻"定调者"。今天再往前走一步:既然 system、user 这些消息经常是"同一段话 + 几个会变的值",为什么每次都手写整串?把它抽成带变量的模板,才真正到"能规模化"的门槛。
📚 核心讲解
1. 手写拼接的三个坑
最直接的方式是用 Python 字符串拼,比如 f-string:
topic = "Python"
difficulty = "初学者"
prompt = f"你是一个{difficulty}级别的编程导师。请用简单易懂的语言解释{topic}。"
尚硅谷教材总结得很到位:
- 可读性差:变量一多,字符串里
{ }和文字搅成一团。 - 没有校验:漏写变量、拼错名字,运行时才炸,不会提前报错。
- 难维护:同样的骨架散落在十几个地方,改一句要改十遍。
一句话——临时 demo 凑合,正式做 AI 应用就别这么干了。
2. 模板化:填空作文,骨架不变、填的内容变
提示词模板(LangChain 里叫 PromptTemplate / ChatPromptTemplate)的思路就是"填空作文":把会变的地方用 {变量} 占位,固定的话写死。
from langchain_core.prompts import ChatPromptTemplate
chat_template = ChatPromptTemplate.from_messages([
("system", "你是一个有帮助的 AI 机器人,你的名字是 {name}。"),
("human", "{user_input}"),
])
prompt = chat_template.invoke({"name": "小明", "user_input": "你叫什么名字?"})
print(prompt) # 已渲染成完整的 messages 列表
同一个 chat_template,传 name="小明" 是一份提示,传 name="小红" 又是一份——骨架一次写好,填充内容随便换。对比一图看懂:

3. 为什么模板比字符串好
- 变量占位、结构清晰:看一眼就知道哪块会变、哪块是定值。
- 自动校验:变量名写错、漏传,模板在渲染时就报错,而不是等模型答非所问。
- 支持复杂场景:多轮对话、RAG、Agent 这些"要拼一大串消息"的活儿,模板是唯一能撑住的写法。
.from_messages() 收的是"(角色, 内容)"的元组列表,所以模板天然贴合我们第 2 天学的 messages 数组——system / human / ai 各占一格,角色不会搞混。
4. 模板要和 LLM 接上才完整
模板本身只是"生成提示词",最后一步是把它喂给模型:
prompt_value = chat_template.invoke({"user_input": "18 岁的我和 38 岁的舅舅一共多少岁?"})
output = model.invoke(prompt_value) # 直接传 prompt_value 即可
print(output.content)
invoke 之后拿到的就是模型回答。到这儿,一个"可复用、带变量、能调模型"的最小闭环就成型了。
✅ 今日小结
- 手写字符串拼接只适合临时 demo,正式应用要用提示词模板(变量占位、结构清晰)。
ChatPromptTemplate.from_messages([(角色, 内容)])把模板和 messages 数组合一,天然支持多轮 / RAG / Agent。- 模板化 + 稳定前缀,既好维护,又顺手吃满 Prompt Cache 降本红利(呼应第 3 天)。
一句话记忆点:提示词模板化,才能规模化。
💬 写在最后
我是阿黎,正在自学 AI 大模型,把这个"32 天带你学会 AI 大模型"的系列当作自己的学习笔记——边学边发,逼自己把概念嚼碎,也顺手给想入门的你留份参考。今天这步看着小,其实是个分水岭:从"每次手写一整段话"到"写一次骨架、填不同内容",你才算真正开始用工程的脑子玩 AI。后面做聊天机器人、RAG、Agent,模板都是地基。有用就关注我、看我博客,咱们一天天把 AI 学透。
#AI学习 #大模型 #跟着学AI #LLM #PromptTemplate #提示词模板
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)