要让deepseek公众号提示词在不同业务场景中稳定复用,必须剥离临时变量、固化为带占位符的结构化流程;需提取可变字段(用户身份、触发动作、业务节点),保留不可删减的固定骨架(xml解析规则、5秒超时等),按微信消息生命周期构建三层json模板,并通过yprompt注入与版本管理确保一致性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让DeepSeek公众号提示词在不同业务场景(如客服问答、活动通知、菜单引导)中稳定复用,必须剥离每次对话的临时变量,固化为带占位符的结构化流程,避免每次重写导致格式错乱、约束遗漏或上下文断裂。
提取原始提示词中的可变与不可变要素
打开最近一次成功驱动公众号交互的提示词,逐字比对三次以上有效对话记录。圈出所有变化部分:用户身份(如“新注册会员”“VIP老客”)、触发动作(如“点击【积分兑换】”“发送关键词‘抽奖’”)、业务节点(如“订单支付后”“活动倒计时24小时”)——这些是必须参数化的字段。【不可删减的固定骨架包括:微信XML消息解析规则、响应超时阈值(≤5秒)、禁止返回markdown或代码块、必须以
按微信消息生命周期构建三层JSON模板
新建本地文件wechat-prompt-flow.json,粘贴以下结构:
{ "stage": "{trigger_stage}", "context": "用户刚完成{user_action},当前处于{business_node}环节,所属标签为{user_tag}。微信原始请求已解析为纯文本:{raw_text}。", "constraints": [ "严格输出符合微信服务端要求的XML格式", "响应内容必须包裹在
注意:{trigger_stage}填入“event_click”或“text_match”,{timestamp}必须用int(time.time())动态生成——【若此处填固定数字,微信会判定消息过期而丢弃】。
用YPrompt实现一键注入与版本管理
方法一:安装YPrompt桌面版(v2.3+),拖入wechat-prompt-flow.json → 点击「New Prompt」→ 在变量面板按顺序填入:
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
trigger_stage → event_click
user_action → 点击菜单【我的订单】
business_node → 订单查询结果页
user_tag → silver_member
raw_text → 【空字符串】(事件型消息无正文)
timestamp → 1749848705
方法二:命令行快速注入(适合CI/CD集成):
yprompt inject --template wechat-prompt-flow.json --values '{"trigger_stage":"text_match","user_action":"发送关键词\'优惠券\'","business_node":"领券入口","user_tag":"new_user","raw_text":"优惠券","timestamp":"1749848705"}'
这一步操作起来很简单,直接把文件拖进去就行。YPrompt会自动校验占位符是否全部填充,缺失项标红提示,防止漏填导致XML结构崩坏。
验证流程是否真正可复用
第一步:在微信开发者工具中模拟三种典型请求——
① 用户首次关注(event=subscribe)→ 填入trigger_stage=event_subscribe,user_tag=new_user
② 用户发送“查物流” → 填入trigger_stage=text_match,raw_text=查物流
③ 用户点击自定义菜单“联系客服” → 填入trigger_stage=event_click,user_action=点击【联系客服】
第二步:将三次生成的XML响应分别粘贴至微信公众号后台「开发者工具→接口调试器」中测试。若全部返回“success”且手机端收到对应消息,则流程通过验证。
第三步:将当前模板另存为wechat-prompt-flow-v1.2.json,文件名含日期与版本号。后续任何字段调整(如新增语音消息支持)都必须新建版本,严禁覆盖原文件——【旧版本仍需支撑存量用户,覆盖即导致历史消息无法解析】。









