主题
提示词优化指南
提示词(Prompt)的质量直接决定模型输出的质量。以下是经过实践验证的核心技巧。
基本原则
明确具体,拒绝模糊
❌ 模糊:
帮我写个文案
✅ 明确:
为一款面向大学生的背包写一段 100 字以内的小红书种草文案,语气活泼,突出轻便和高颜值
模型没有读心术。你给的约束越精确,输出越符合预期。
提供上下文和示例
当你期望特定的输出格式时,直接给模型一个示例(Few-shot)比纯文字描述高效得多:
请将以下文本提取为 JSON 格式,示例:
输入:张三,25岁,北京
输出:{"name": "张三", "age": 25, "city": "北京"}
现在处理:
李四,30岁,上海分步骤引导
复杂任务拆成多步,比一句话塞所有要求效果更好:
请按以下步骤处理:
1. 先阅读下面的文章,列出 3 个核心观点
2. 针对每个观点写一句话摘要
3. 最后用一段话综合总结System 提示词的写法
system 角色的消息用来定义模型的行为边界。几个要点:
- 定义角色:「你是一个专业的法律顾问」比「你是一个助手」有用得多
- 约束输出格式:「回答必须使用 JSON 格式」「每条不超过 50 字」
- 设定禁区:「不要编造不存在的法律条文」「如果不确定,直接说不知道」
- 保持精简:system 提示词越长,消耗的输入 Token 越多,每轮对话都会重复计费
常见误区
❌ 以为 temperature 越低越好
temperature=0 适合需要确定性的任务(代码、数据提取),但在创意写作、头脑风暴等场景下会让输出死板。根据任务性质选择合适的值,详见 请求体结构 - temperature。
❌ 一次塞太多指令
把 10 个不相关的要求塞进一条消息,模型很可能顾此失彼。不如拆成多次对话,或用编号列表明确优先级。
❌ 忽略输出长度控制
如果你只需要一句话的答案,但不做任何限制,模型可能洋洋洒洒写 500 字。用 max_tokens 或在提示词中明确「用一句话回答」来控制。
进阶技巧
Chain of Thought(思维链)
在提示词中加入「请一步步思考」或「请先分析再给出结论」,可以显著提升模型在推理类任务上的表现:
请一步步思考,然后回答:
如果一个水池有两个进水管和一个出水管……角色扮演
给模型一个具体的专家角色,可以激活更专业的知识:
你是一位有 20 年经验的 PostgreSQL DBA。请审查以下 SQL 查询的性能问题。负面约束
告诉模型「不要做什么」有时比「要做什么」更有效:
回答时不要使用技术术语,用小学生能理解的语言解释。
不要编造数据,如果不确定请直接说明。