章节目标:理解 Claude Messages API 的最小调用方式,掌握 提示结构 三要素,并能识别常见的格式错误。
课程导览
- API 范式:Claude 已全面转向 Messages API。任何一次调用都至少需要
model、max_tokens、messages三个参数,其中messages必须由role与content组成,且user/assistant交替。 - 系统提示:通过
system参数补充角色设定与约束;配合temperature=0可获得稳定输出。 - 教学方式:原英文笔记本的执行单元在本站不会直接运行,但我们保留核心代码和错误示例,方便你在本地或 API Playground 中复现。
client = anthropic.Anthropic(api_key=API_KEY)
def get_completion(prompt: str, system_prompt=""):
message = client.messages.create(
model=MODEL_NAME,
max_tokens=2000,
temperature=0.0,
system=system_prompt,
messages=[
{"role": "user", "content": prompt}
]
)
return message.content[0].text
三要素拆解
- 目标 Instruction:一句话说明 Claude 要产出的结果与语境。务必只描述一个动作,避免“分析 + 撰写”同时出现。
- 上下文 Context:补充输入数据、背景或团队约定。缺少上下文时,Claude 会根据经验“脑补”,导致跑偏。
- 输出约束 Output:限定格式、语言、语气与检查项,例如“使用项目符号列出三个洞察,必要时说明信息不足”。
示例骨架
<任务>整理中文客服聊天记录,提炼用户意图。</任务> <输入>{conversation_log}</输入> <输出格式> - 问题概述(50 字内) - 已采取措施 - 下一步建议 </输出格式>
常见错误与修复
- 缺少 role/content 字段:Messages API 运行时会直接报错。确保
messages=[{"role": "user", "content": "..."}]。 - 角色未交替:出现连续
user或assistant时视为非法格式。若需多轮对话,必须“用户→助手→用户”交替输入历史。 - 无输出约束:Claude 默认自由发挥,导致语气或结构难控制。请写明段落数、语种、禁忌事项,并在
Prompt Playground的检查清单中逐一确认。
课后练习
- 打开下方 Playground,将“内部发布通知”场景拆解为三要素,保留变量占位符(如
{release_date})。 - 在“变量与额外说明”栏记录每个变量来源及替换原则。
- 勾选检查清单:确认任务单一、上下文足够、输出结构明确、包含信息不足时的 fallback 语句。
成熟团队会把模板推送到知识库或版本库。下载草稿并附在 PR,可帮助评审了解提示词意图与约束。随后章节会继续强化角色设定、思维链等技巧,请保持模板可复用性。
Prompt Playground
课后练习模板
使用步骤
- 按照课程指引填写提示骨架,保留变量占位符。
- 在 Claude 或 Bedrock 中运行前,检查变量是否替换完整。
- 运行后对照检查清单,记录问题并在笔记区调整。
评分参考
Tips
草稿会自动保存到浏览器中,若想在团队中共享,请点击“下载草稿”并上传到文档库。