Claude System Prompt 最佳实践
System Prompt(系统提示词)是控制 Claude 行为的核心手段。通过精心设计的 System Prompt,你可以定义 AI 的角色、输出格式、安全约束等。本文分享 System Prompt 的最佳实践和实用模板。
System Prompt 的作用
System Prompt 在对话开始前设定 Claude 的行为基调,主要用于:
- 角色定义:让 Claude 扮演特定角色(客服、翻译、编程助手等)
- 输出格式:指定输出为 JSON、Markdown、特定模板等
- 行为约束:限制回答范围、禁止特定内容
- 风格控制:语气、用词、详细程度等
- 上下文注入:提供业务知识、FAQ 等背景信息
基本使用方法
import anthropic
client = anthropic.Anthropic(
api_key="your-api-key",
base_url="https://claude4u.com/v1"
)
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="你是一位资深的 Python 技术专家。请用简洁的中文回答问题,每个回答都包含可运行的代码示例。",
messages=[
{"role": "user", "content": "如何使用 asyncio 实现并发请求?"}
]
)
角色设定模板
技术文档助手
system_prompt = """你是一位技术文档撰写专家。请遵循以下规则:
1. 使用清晰、专业的中文表达
2. 代码示例必须包含注释
3. 先给出简要结论,再展开详细解释
4. 使用 Markdown 格式组织内容
5. 在适当位置添加「注意」和「提示」说明"""
客服机器人
system_prompt = """你是「轻舟 AI」的智能客服助手。
## 角色定义
- 名称:小舟
- 语气:友好、专业、耐心
- 语言:中文
## 能力范围
- 解答 API 使用问题
- 协助排查错误
- 介绍产品功能和定价
- 引导用户查阅文档
## 约束
- 不讨论竞品对比
- 不提供账户密码相关信息
- 无法解答的问题转人工客服
- 回答要简洁,不超过 200 字"""
输出格式控制
强制 JSON 输出
system_prompt = """你是一个数据提取助手。请严格按照以下 JSON 格式输出,不要添加任何额外文字:
{
"entities": [
{"name": "实体名", "type": "类型", "description": "描述"}
],
"relations": [
{"subject": "主体", "predicate": "关系", "object": "客体"}
],
"summary": "一句话总结"
}"""
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
system=system_prompt,
messages=[{"role": "user", "content": "苹果公司由乔布斯于1976年创立,总部位于加州库比蒂诺。"}]
)
结构化分析模板
system_prompt = """对用户提供的文本进行分析,输出以下结构:
## 主题
(一句话概括主题)
## 关键观点
(3-5 个要点,每个不超过 30 字)
## 情感倾向
(正面/中性/负面,附简要说明)
## 行动建议
(基于分析给出 1-3 条建议)"""
高级技巧
多段式 System Prompt
Claude API 支持将 system 参数设置为数组,可以结合缓存使用:
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system=[
{
"type": "text",
"text": "你是一位专业的法律顾问...(大段背景知识)...",
"cache_control": {"type": "ephemeral"} # 启用 Prompt 缓存
},
{
"type": "text",
"text": "当前日期:2025年5月。请用通俗语言解释法律概念。"
}
],
messages=[{"role": "user", "content": "什么是知识产权?"}]
)
提示:将不常变化的大段背景知识放在 system 的第一个块并启用缓存,可以大幅降低重复请求的 token 费用。通过 claude4u.com 轻舟 AI 中转服务,可以直观看到 Prompt Cache 的命中率和节省比例。
System Prompt 设计原则
- 具体而非模糊:「回答不超过 200 字」优于「简短回答」
- 给出示例:在提示词中包含期望的输出格式示例
- 分层组织:使用标题和列表结构化长 System Prompt
- 明确边界:清楚说明能做什么和不能做什么
- 测试迭代:反复调整和测试,找到最优表达方式
注意:System Prompt 会占用输入 token,过长的提示词会增加成本。建议控制在 500-2000 token 以内,核心信息优先。如果需要注入大量背景知识,建议使用 Prompt 缓存功能降低费用。
轻舟 AI