Prompt 编写实践
Prompt 是给模型的任务说明。提示词越清晰,模型越容易稳定输出符合预期的结果。
推荐结构
- 角色:模型应该以什么身份回答。
- 目标:这次任务要完成什么。
- 背景:必要的业务信息、约束和上下文。
- 输入:需要处理的文本、数据或文件摘要。
- 输出格式:希望返回 Markdown、JSON、表格、代码还是分点说明。
- 质量要求:准确性、风格、长度、引用、禁止事项等。
好的 Prompt 示例
| 不推荐 | 推荐 |
|---|---|
| 写点东西 | 请写一篇 300 字左右的智能手表产品介绍,面向年轻用户,突出健康监测、运动记录和续航能力,语气自然、有购买引导。 |
| 总结一下 | 请用 5 条要点总结以下会议纪要,每条不超过 30 字,并标出负责人和截止时间。 |
| 帮我改代码 | 请审查以下 TypeScript 代码,重点关注类型安全、异常处理和可读性,输出问题列表与修改建议。 |
提升稳定性的技巧
- 明确任务目标、背景信息、输出格式、风格和约束条件。
- 明确“不要做什么”,例如不要编造事实、不要输出无关解释。
- 对结构化输出给出字段说明和示例。
- 长任务拆成多个步骤,先分析再生成最终结果。
- 对重要业务场景建立固定模板,并用真实样例回归测试。
- 对实时信息、专业结论或合规内容要求引用来源或人工复核。
Prompt 质量会直接影响模型输出质量。模糊指令容易导致回答发散,缺少上下文容易导致模型补全或猜测;生产模板应尽量固定结构,并将业务变量显式填入。
可复用模板
可以把 Prompt 拆成稳定模板和业务变量,方便版本管理和回归测试:
你是一个面向企业客户的技术支持助手。
任务:根据用户问题和已知资料,给出简洁、准确、可执行的回复。
背景:
- 产品:Modelink
- 受众:正在接入大模型服务的开发者
- 限制:不要编造未提供的信息;不确定时说明需要进一步确认
输入:
{{user_question}}
输出要求:
1. 先给结论
2. 再给排查步骤
3. 如需用户补充信息,列出最多 5 项
4. 不要输出内部推理过程结构化输出示例
当结果需要进入程序处理时,应明确字段和取值范围,并在服务端校验:
{
"summary": "一句话结论",
"riskLevel": "low | medium | high",
"actions": ["下一步动作 1", "下一步动作 2"],
"needHumanReview": true
}警告
JSON 示例是输出约束模板,不代表接口 schema。生产环境仍应在服务端校验字段、类型、枚举值和缺失情况。
常见问题
为什么回答不准确?
通常是因为任务目标不清、缺少背景、模型能力不匹配或需要实时数据。可以补充上下文、换用更强模型、启用工具能力,或将最新数据直接提供给模型。
为什么格式不稳定?
应明确输出格式,并尽量给出示例。对强约束格式,建议配合结构化输出校验和失败重试。