如果你最近在用Claude 4.5写代码或做任务,可能会发现一个奇怪的现象:之前用得好好的Prompt,现在突然不灵了。比如你说"能帮我改改这段代码吗",Claude可能只会给建议,而不是直接动手改。这不是Bug,而是Claude 4.5的新特性——它的指令遵循能力变得更精确了,需要你也跟着升级Prompt技巧。
Anthropic官方最近发布了一份《Claude 4.5 Prompt工程最佳实践》文档,专门针对Sonnet 4.5、Haiku 4.5和Opus 4.5这几个新模型。咱们今天就拆解这份官方指南,挑出10个最实用的技巧,让你的Claude 4.5更听话、更高效。
Claude 4.5带来的三个核心变化
在讲具体技巧之前,先得理解Claude 4.5到底哪儿变了。Anthropic的工程师在训练这一代模型时,做了三个关键调整:
1. 指令遵循更精确了
Claude 4.5.x模型经过训练,在指令遵循方面比前几代Claude模型更加精确。这听起来是好事,但带来的副作用是:它不再"超越预期"地主动帮你补全想法。之前你说"建议一下怎么优化",它可能直接给你重写了代码;现在它会老实地只给建议,除非你明确说"请重写这段代码"。
2. 沟通风格更简洁
与之前的模型相比,Claude 4.5的回复更直接、更务实。它可能会跳过冗长的总结,直接给你结果。这对追求效率的人来说很爽,但如果你需要详细解释,得在Prompt里主动要求:"请在完成后解释你的思路"。
3. 需要更明确的上下文
Claude 4.5虽然智能,但它希望你告诉它"为什么"要这么做。比如你让它写一个函数,最好加一句"这个函数用于处理用户登录验证,需要考虑安全性"。这种上下文能帮Claude做出更符合你业务场景的决策。
10个必知最佳实践
实践1:明确你的指令
Claude 4.5对清晰、明确的指令响应良好。如果你希望获得早期Claude模型那种"超越预期"的行为,需要在新模型中更明确地请求。
效果较差的写法:
能帮我看看这个函数有什么问题吗?
效果更好的写法:
请修改这个函数以提高性能,并解释你做的优化。
区别在哪?第一种是"建议型",Claude可能只会指出问题;第二种是"行动型",Claude会直接修改并给出理由。
实践2:添加上下文说明
提供指令背后的上下文或动机,能帮助Claude 4.5更好地理解你的目标并提供更有针对性的响应。
效果较差:
写一个用户验证函数
效果更好:
写一个用户验证函数。这是一个金融应用的登录模块,需要支持多因素认证(MFA),并符合PCI DSS安全标准。安全性是首要考虑。
Claude从这些上下文中能推断出:需要用bcrypt加密密码、添加速率限制防止暴力破解、记录审计日志等。这些细节你不用逐条说明,Claude会自己泛化。
实践3:控制响应格式
Claude 4.5在格式控制上更敏感。如果你不想要Markdown格式的回复,最好的方法不是说"别用Markdown",而是告诉它用什么格式。
几个有效技巧:
技巧A - 正向指导:
你的响应应该由流畅的散文段落组成,不要使用列表或标题。
技巧B - 使用XML格式指示器:
请在 <analysis> 标签中写你的分析,在 <recommendation> 标签中写建议。
技巧C - 让Prompt风格匹配期望输出:
如果你希望Claude输出纯文本,那Prompt里也尽量少用Markdown;如果希望它写代码,Prompt里就多用代码块。
实践4:利用Extended Thinking
这是Claude 4.5最强大的新功能之一。Extended Thinking让Claude在回答前先"思考"一段时间,适合复杂推理任务。
什么时候用Extended Thinking?
怎么配置?
在API调用中添加thinking参数,最低预算为1024 tokens,建议从最低值开始逐步增加以找到最佳范围。
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
thinking={
"type": "enabled",
"budget_tokens": 4096 # 思考预算
},
messages=[
{"role": "user", "content": "解释快速排序的时间复杂度并给出优化思路"}
]
)
注意事项:
- • 你会被按完整思考token计费,而不是看到的摘要token
实践5:善用Context Awareness
Sonnet 4.5和Haiku 4.5具备上下文感知能力,能够追踪剩余的context window(即"token预算")。这个功能让Claude能更有效地规划任务,不会在快完成时突然"断电"。
工作原理:
在对话开始时,Claude会收到token预算信息:
<budget:token_budget>200000</budget:token_budget>
每次工具调用后,它会收到更新:
<system_warning>Token usage: 35000/200000; 165000 remaining</system_warning>
这让Claude能更有效地规划任务,不会在快完成时突然"断电"。
实际应用场景:
如果你在一个Agent框架中使用Claude(比如Claude Code),可以在系统Prompt中告诉它:
你的context window在接近限制时会自动压缩,允许你无限期地继续工作。
因此,不要因为token预算担忧而提前停止任务。
这能防止Claude在长任务中自作主张地结束工作。
实践6:工具使用要明确
Claude 4.5模型经过训练以进行精确的指令遵循,需要明确指导使用特定工具。这意味着你得更明确地告诉它该做什么。
错误示范:
你能建议一些更改来优化这个数据库查询吗?
→ Claude只会建议,不会实施
正确写法:
修改这个SQL查询以提高性能,并解释你做的优化。
→ Claude会直接改写查询
或者在系统Prompt中添加默认行为:
<default_to_action>
默认情况下,实施更改而不是仅建议它们。如果用户的意图不明确,
推断最有用的可能行动并继续,使用工具发现任何缺失的细节而不是猜测。
</default_to_action>
实践7:优化并行工具调用
Claude 4.5.x模型在并行工具执行方面表现出色,Sonnet 4.5在同时触发多个操作方面特别积极。
默认行为:
Claude会在研究期间运行多个推测性搜索、一次读取多个文件、并行执行bash命令。这可能成为性能瓶颈。
如何引导:
<use_parallel_tool_calls>
如果你打算调用多个工具并且工具调用之间没有依赖关系,
请并行进行所有独立的工具调用。例如,在读取3个文件时,
应该同时调用3次read_file,而不是依次调用。
</use_parallel_tool_calls>
如果想降低并行度:
在每个步骤之间短暂暂停,按顺序执行操作以确保稳定性。
实践8:避免代码过度工程
Claude Opus 4.5倾向于通过创建额外文件、添加不必要的抽象或构建未请求的灵活性来过度工程化。
防止过度工程的Prompt:
避免过度工程。只进行直接请求或明确必要的更改。保持解决方案简单和专注。
不要添加功能、重构代码或进行超出要求的"改进"。
修复bug不需要清理周围的代码。一个简单的功能不需要额外的可配置性。
不要为一次性操作创建辅助函数、实用程序或抽象。
不要为假设的未来需求进行设计。
鼓励代码探索:
如果发现Claude在没看代码的情况下提建议,加上这句:
在提出代码编辑之前,始终读取并理解相关文件。
不要推测你没有检查过的代码。
实践9:提升前端设计质量
Claude 4.5在构建前端时,如果没有指导,可能会默认使用通用模式,创造出用户所说的"AI低质量"美学。
如何避免:
<frontend_aesthetics>
避免通用的AI生成美学,创造独特的前端设计。
专注于:
- 排版:选择独特字体,避免Arial、Inter等通用字体
- 颜色:使用CSS变量保持一致性,具有鲜明重点的主导颜色
- 动效:为交互使用动画,优先考虑纯CSS解决方案
- 背景:创造氛围和深度,不要默认纯色
避免:
- 过度使用的字体(Inter、Roboto、Arial)
- 陈词滥调的配色(白底紫色渐变)
- 可预测的布局模式
</frontend_aesthetics>
实践10:注意Thinking敏感性
当Extended Thinking被禁用时,Claude Opus 4.5对"think"这个词及其变体特别敏感,建议用传达类似含义的替代词。
解决方案:
用替代词代替"think"及其变体:
- • think → consider、evaluate、analyze
- • thinking → reasoning、analysis
- • thought → consideration、assessment
示例:
# 避免
请think一下这个方案的可行性
# 改为
请evaluate这个方案的可行性
实战场景:如何应用这些技巧
场景1:用Claude写技术文档
任务: 为一个Python库写API文档
优化前的Prompt:
帮我写这个库的文档
优化后的Prompt:
为这个Python数据处理库创建API文档。
背景:这是一个面向数据科学家的工具,用户通常熟悉pandas但不熟悉底层实现。
文档需要包含:每个函数的用途、参数说明、返回值、使用示例。
格式要求:
- 使用<function_doc>标签包裹每个函数文档
- 代码示例需要可直接运行
- 避免使用列表,用流畅的段落说明
输出示例:
<function_doc>
def process_data(df, columns):
这个函数对指定列进行标准化处理...
</function_doc>
为什么这样写更好:
场景2:构建长时间运行的Agent
任务: 用Claude Code完成一个2000行的重构任务
关键Prompt片段:
这是一个非常长的任务,因此明确规划你的工作可能会有所帮助。
鼓励你在整个context window上工作任务——只需确保在有大量未提交的工作时不会耗尽context。
你的context window在接近限制时会自动压缩,允许你从离开的地方无限期地继续工作。
因此,不要因为token预算担忧而提前停止任务。
配合使用:
- • 启用Extended Thinking,设置32K思考预算
- • 让Claude创建progress.txt追踪进度
场景3:优化前端设计
任务: 创建一个有创意的着陆页
完整Prompt:
创建一个AI代码助手的着陆页,需要让人眼前一亮。
设计要求:
- 排版:使用Space Grotesk或JetBrains Mono等独特字体
- 配色:深色主题,橙色(#ff6b35)作为强调色
- 动效:页面加载时代码从下往上滚动的动画效果
- 背景:代码网格纹理 + 微妙的渐变
避免:
- 不要使用Inter字体
- 不要用紫色渐变
- 不要做成卡片式布局(太常见了)
包含以下交互:
- 鼠标悬停时代码高亮
- 点击演示按钮时代码实时执行
- 滚动时视差效果
使用React + TailwindCSS,所有代码在单个文件中。
核心要点总结
Claude 4.5的Prompt工程,本质上是从"暗示"转向"明示"的过程:
- 1. 指令要明确: 别说"能帮我吗",直接说"请修改"
- 2. 提供上下文: 告诉Claude为什么要这么做
- 4. 善用新特性: Extended Thinking适合复杂任务,Context Awareness让长任务不掉链子
- 5. 调整工具使用: 在系统Prompt里设定默认行为
- 7. 防止过度工程: 明确告诉Claude保持简单
- 9. 注意敏感词: 少用"think",多用"consider"
- 10. 结构化思维: 用XML标签组织复杂Prompt
立即可尝试的3个技巧:
- 1. 把你常用的Prompt里的疑问句("能帮我...吗?")改成祈使句("请...")
- 2. 在下次让Claude写代码时,加一句业务背景说明
- 3. 如果任务复杂,在API调用中开启Extended Thinking,从4096 tokens预算开始试
Anthropic的这份官方指南,核心思想其实就一条:把Claude 4.5当作一个精确执行的协作者,而不是一个揣摩心意的助手。你越明确,它越高效。
评论区聊聊:你在用Claude 4.5时遇到过哪些"水土不服"的情况?有没有找到自己的Prompt技巧?
参考清单
本文引用的信息来源如下:
- 1. Claude 4.5 Prompt工程最佳实践 - Anthropic官方文档
- 2. Extended Thinking文档 - Anthropic官方文档
- 3. Context Windows文档 - Anthropic官方文档
- 4. Claude Sonnet 4.5发布公告 - Anthropic官方博客
- 5. Claude Haiku 4.5发布公告 - Anthropic官方博客
我是AIGC 胶囊,在这个快节奏的AI时代,我想陪你走得稳一点。不分享我没用过的,不推荐我没验证的。我把踩过的坑填平,把验证过的路铺好,只为了让你在应用AI时,少走弯路,多拿结果。
如果觉得这篇文章对你有启发,请一键三连,分享给更多正在学习 AI 的朋友。