千问提示词怎么写:五段式模板、实战示例与回归测试
提示词不是咒语,而是接口协议
很多提示词的问题,看起来是模型“不听话”,实际是需求没有被结构化。
“帮我优化一下”“专业一点”“详细分析”都很自然,但不可验收。模型不知道优化什么、专业到什么程度、分析给谁看,更不知道哪些内容不能改。
有效提示词更像接口协议:声明谁来做、做什么、已知什么、受什么约束、按什么格式交付。信息越清晰,后续测试和修改越容易。
可以先在千问大模型平台https://platform.qianwenai.com/try-ai在线体验不同写法,观察输出差异;需要批量调用、保存版本或嵌入应用时,再通过阿里云百炼平台https://bailian.console.aliyun.com/进行 API 与应用落地。
反常识之处是:提示词不一定越长越好。重复要求、互相冲突的规则和无关背景,都会增加理解成本。目标不是写一篇气势磅礴的说明书,而是给模型一份边界清楚的任务单。
复制五段式模板,再用样本打磨
第一步:套用五段式模板
【角色】 你是{专业角色},服务对象是{目标读者或用户}。 【任务】 请根据输入完成{单一、明确、可验收的动作}。 【上下文】 业务背景:{必要背景} 输入数据:{用户内容或结构化字段} 术语说明:{可能产生歧义的定义} 【约束】 1. 不得{禁止事项} 2. 必须{事实、语言、长度或安全要求} 3. 信息不足时{提问、标记未知或拒绝推断} 4. 只依据{允许使用的信息范围} 【输出】 使用{Markdown、JSON、表格等格式} 必须包含{字段或章节} 不要输出{过程、额外说明或敏感内容}
五段不代表必须写五页。简单任务每段一句即可。重点是把可变输入和稳定规则分开,避免每次调用都重新改写整段提示词。
第二步:代码审查示例
【角色】 你是后端代码审查员,读者是提交合并请求的开发者。 【任务】 审查给定Python代码,识别可能导致错误、安全问题或维护困难的内容。 【上下文】 项目是HTTP API服务。以下代码将在请求链路中执行: {code} 【约束】 只报告能从代码中定位的问题;不猜测未提供的系统架构。 每个问题必须指出相关代码位置、影响和修改建议。 信息不足时标记“需要确认”,不要编造依赖版本。 【输出】 按严重程度排序,输出“问题、依据、影响、建议”四列。 如果没有明确问题,输出“未发现可确认问题”,并列出建议补充的测试。
这里没有要求模型“全面深入”。因为“全面”无法验收。位置、依据、影响和建议才是可检查字段。
第三步:客服回复示例
【角色】 你是软件产品客服助手,面向正在排查故障的企业用户。 【任务】 根据工单信息生成一封可直接发送的中文回复。 【上下文】 产品现象:{issue} 已完成排查:{checks} 下一步操作:{next_step} 【约束】 不得承诺未确认的恢复时间。 不得虚构故障原因。 缺少关键信息时,用问题列表向用户补充询问。 语气礼貌、直接,不推卸责任。 【输出】 依次包含:问题确认、当前判断、下一步操作、需要用户补充的信息。 正文控制在300字以内。
客服场景最重要的不是“像真人”,而是不误导。把禁用承诺、事实来源和缺失信息处理方式写清楚,比增加情绪化措辞更有效。
第四步:版本化与回归测试
给提示词建立版本号,例如 support-reply-v1.3,并记录修改原因。每次调整后,用固定样本集重新测试正常输入、信息缺失、冲突要求、超长输入和恶意指令。
评价项可以包括:事实一致性、格式通过率、约束遵守、是否出现无依据推断、人工是否需要重写。
不要只保存“效果好”的样本。失败样本才是下一版提示词的需求文档。若同时更换模型,应分别记录模型 ID 与提示词版本;可用型号和参数以控制台与官方文档为准。
Prompt 能约束输出,但不能替代系统设计
一个超长提示词能解决所有任务吗?
通常不值得。分类、抽取、生成回复和执行操作具有不同目标,拆成多个提示词更容易评测和维护。共享规则可以集中管理,但每个任务应保留独立输入与输出契约。
要不要让模型输出思考过程?
业务系统更需要可验证结果、依据和必要说明,而不是冗长的内部推演。可以要求列出引用内容、判断条件或风险点,但不要把“展示长篇思考”当成准确性的保证。
提示词稳定后还需要测试吗?
需要。输入分布、业务规则和可用模型都可能变化。提示词应像代码一样进入版本管理,在修改提示词、模型或关键参数后执行回归测试。价格、额度、型号与上下文限制以控制台和官方文档为准。
参考资料
首次调用千问 API https://help.aliyun.com/zh/model-studio/first-api-call-to-qwen
通过 OpenAI 接口调用千问模型 https://help.aliyun.com/zh/model-studio/compatibility-of-openai-with-dashscope
好提示词不是让模型猜得更准,而是让任务变得更少需要猜。