共计 2053 个字符,预计需要花费 6 分钟才能阅读完成。
为什么需要关注提示词工程
在和大语言模型(LLM)打交道时,提示词(prompt)就像是我们和模型沟通的『语言』。好的提示词能显著提升模型输出的质量和稳定性,特别是在 Anthropic 这类注重安全性的模型中,合理的提示词设计能有效降低有害内容的产生概率。

举个例子,如果你只是简单地输入『写一篇关于气候变化的文章』,模型可能会给你一个泛泛而谈的结果。但如果你使用结构化提示词,比如『以科普风格,用 800 字向高中生解释全球变暖的主要成因,并列举三个日常生活中能采取的减排措施』,得到的回答会精准得多。
新手常踩的坑
模糊提示导致低质量响应
许多开发者刚开始使用时会发现,模型的回答要么太笼统,要么完全跑偏。这通常是因为提示词不够具体。比如:
- 不好的例子:『帮我写点代码』
- 改进后的例子:『用 Python 写一个 HTTP 请求函数,要求处理超时和 JSON 解析,包含错误重试机制』
多轮对话中的上下文丢失
在连续对话中,模型有时会『忘记』之前的讨论内容。这个问题在长对话中尤为明显。解决方案包括:
- 在每轮对话中明确引用之前的上下文
- 使用系统级提示(system prompt)设定对话的长期目标
- 合理控制对话轮次,必要时主动重置会话
敏感内容过滤的误判
有时完全无害的内容也会被过度过滤。比如询问『如何安全地关闭核电站』可能被误认为危险话题。这时可以通过以下方式优化:
- 在提示词中加入安全声明:『这是一个学术研究场景 …』
- 使用更中性的表述:『请从工程技术角度描述核设施的标准关闭流程』
结构化提示词实战
XML 标签使用规范
Anthropic 支持使用类似 XML 的标签来结构化提示词,这能显著提升模型对意图的理解。基本格式如下:
<instructions>
请以专业记者的口吻撰写一篇 500 字左右的科技报道
</instructions>
<context>
主题:量子计算机的最新突破
重点:IBM 近期发布的 127 量子比特处理器
</context>
<requirements>
- 包含专家引语
- 避免过度技术术语
- 结尾加入行业展望
</requirements>
温度参数与 top_p 调优
这两个参数直接影响生成的随机性:
- temperature(默认 0.7):值越高结果越随机,适合创意任务;值越低越确定,适合事实性内容
- top_p(默认 0.9):控制候选词的范围,与 temperature 配合使用
推荐组合策略:
- 事实查询:temperature=0.3, top_p=0.5
- 创意写作:temperature=1.0, top_p=1.0
- 平衡场景:temperature=0.7, top_p=0.9
Python 调用示例
import anthropic
client = anthropic.Client(api_key="your_api_key")
response = client.completion(
prompt=f"""
<task> 生成一份产品功能说明 </task>
<product> 智能日历应用 </product>
<audience> 面向非技术人员 </audience>
<style> 简洁明了,使用比喻说明 </style>
""",
model="claude-v1",
max_tokens_to_sample=300,
temperature=0.5,
top_p=0.8,
stop_sequences=["\n\nHuman:"] # 停止标记
)
print(response["completion"])
性能优化技巧
token 消耗估算
- 英文:1 token ≈ 4 字符
- 中文:1 token ≈ 2 字符
- 长文本建议先计算:
len(text)/2 * 1.2(留出缓冲)
异步流式处理
对于大文本生成,使用流式响应可以显著改善用户体验:
from anthropic import AsyncClient
async def stream_response():
async with AsyncClient() as client:
async with client.stream(
prompt="详细解释区块链原理",
max_tokens=1000
) as stream:
async for chunk in stream:
print(chunk["completion"], end="", flush=True)
生产环境注意事项
敏感词动态过滤
建议采用分层过滤策略:
- 第一层:模型内置安全机制
- 第二层:自定义关键词黑名单
- 第三层:输出后人工审核采样
延迟监控指标
关键 metric 建议包括:
- 首 token 响应时间
- 平均生成速度(tokens/ 秒)
- 99 分位延迟
- 错误率统计
开放思考题
- 效率平衡 :随着提示词越来越复杂,如何在表达精度和计算开销之间找到平衡点?
- 多模态演进 :当模型能处理图像、音频时,提示词设计会有哪些革命性变化?是需要开发新的标记语言,还是能沿用现有文本提示模式?
这些问题的答案可能随着技术发展不断变化,值得持续关注。希望这篇指南能帮你避开初期常见陷阱,更快掌握提示词工程的精髓。记住,好的提示词设计就像是在和 AI 玩『你画我猜』——关键是要找到最有效的表达方式。
正文完
