Claude 中文提示词技巧:避免翻译腔的 6 个写法
翻译腔的根源不是 Claude 不会写中文,而是提示词没有约束它的语气和句式,模型默认套用了英文的表达结构。解决办法只有一条主线:在提示词里把"要中文母语者的写法"这件事讲清楚、给示例、用结构约束住。下面是 6 个能直接落地的写法,每一个都给出可复制的提示词或代码。
1. 在系统提示里明确指定"中文母语者的语气"
很多人只写"用中文回答",这远远不够——Claude 会用中文,但句式还是英文翻译过来的。正确做法是在系统提示(system 字段)里写清楚目标读者和语气,比如"你是中文科技媒体编辑,面向中国开发者写作,避免翻译腔,禁止'随着……的发展'这类空话开头"。
系统提示的权重高于普通用户消息,是约束风格最有效的位置。如果你还不清楚系统提示该怎么配置,可以先看 Claude 系统提示词怎么设置?完整配置步骤图解 把基础打牢。
from anthropic import Anthropic
client = Anthropic()
resp = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
system="你是中文科技媒体资深编辑,面向中国开发者写作。"
"要求:语气自然口语化,禁止翻译腔;不要用'在当今''随着……的发展'开头;"
"多用短句和四字短语,少用'的'字长定语。",
messages=[{"role": "user", "content": "介绍一下 MCP 协议"}],
)
print(resp.content[0].text)
2. 用四字短语和短句替换长定语
翻译腔最典型的特征是"的……的……的"套娃长定语,比如"一个能够处理大量并发请求的高性能的服务器"。中文母语者会写成"一台高并发、高性能的服务器"。你可以在提示词里直接下指令:
- "把长定语拆成短句或四字短语"
- "单句不超过 30 字,超过就拆"
- "能用'很/挺/特别'就别用'非常地'"
这类约束属于"风格规则",写得越具体越管用。结合具体例子约束效果更好,下面第 4 条会讲怎么用示例强化。
2 删掉"进行/作出/予以"这类弱动词
3. 删掉"进行/作出/予以"这类弱动词
英文的 "make a decision" "perform an analysis" 直译成中文就是"作出一个决定""进行一次分析",这是翻译腔的重灾区。中文里直接说"决定""分析"就够了。在提示词里加一句规则即可:
"禁止使用'进行''作出''予以''加以'+ 名词的结构,能用单个动词就用单个动词。"例如把"对数据进行处理"改成"处理数据",把"作出回应"改成"回应"。这条规则几乎能消除一半的机翻感。
4. 给中文 Few-shot 示例,让模型对齐风格
讲规则不如给样例。在提示词里放 1-2 段你认可的中文范文,告诉 Claude "照这个风格写",比一堆抽象规则有效得多。这就是 Few-shot 的核心用法,详细做法见 Claude Few-shot 示例怎么用?3 步提升回答准确率。
示例要选"反翻译腔"的正面样本,最好再配一个"翻译腔"的负面样本做对照:
good_example = "装好依赖,跑一遍测试,绿了就提交。"
bad_example = "在完成了依赖项的安装之后,对测试进行执行,确认通过后做出提交的操作。"
system = f"""你是中文技术写作助手。
正面示例(要学这种):{good_example}
负面示例(不要这样写):{bad_example}
请用正面示例的风格回答。"""
5. 用 XML 标签把"风格要求"和"任务内容"分开
当提示词里既有任务描述又有风格规则时,Claude 容易把两者混在一起处理。用 XML 标签做结构隔离能显著提升遵循度,这是 Anthropic 官方推荐的写法。完整用法见 Claude 提示词 XML 标签用法详解:5 个实战示例。
<style_rules>
- 简体中文,口语化
- 禁止翻译腔,禁止"进行/作出"弱动词
- 单句不超过 30 字
</style_rules>
<task>
把下面这段英文技术文档翻译成地道中文(不是直译):
{english_text}
</task>
把约束放进 <style_rules>,把要处理的内容放进 <task>,模型分得清"哪些是要求、哪些是材料",输出会干净很多。
6. 让模型先自检再改写(思维链 + 自我修订)
对质量要求高的场景,可以让 Claude 分两步走:先写初稿,再用一组检查清单自查并改写。这本质是思维链(CoT)的应用,能让模型主动发现翻译腔并修正,原理详见 Claude 思维链(CoT)提示词写法:让推理更准确。
提示词可以这样写:"先写一版初稿,然后逐句检查是否有:①长定语套娃 ②进行/作出弱动词 ③英式语序。发现一处就改一处,最后只输出改写后的终稿。"Node.js SDK 的调用方式如下:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const msg = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1500,
system: "你是中文写作编辑,输出前自查并消除翻译腔:长定语、弱动词、英式语序各检查一遍。",
messages: [{ role: "user", content: "把这段产品说明改写成地道中文:……" }],
});
console.log(msg.content[0].text);
需要更系统地排查提示词为什么不奏效,可参考 Claude 提示词不生效?8 个常见原因和修复方法。模型选型上,纯文风改写用 Claude Sonnet 4.6 或 Haiku 4.5 即可,复杂长文再上 Opus 4.8。
常见问题
为什么写了"用中文回答"还是有翻译腔?
因为"用中文回答"只约束了语言,没约束句式和语气。Claude 默认会沿用训练语料里大量英译中的表达习惯。要真正消除翻译腔,必须叠加风格规则(禁弱动词、限句长)和中文 Few-shot 示例,单靠一句"用中文"不够。
这些技巧对 Claude Haiku 4.5 这种小模型也有效吗?
有效,而且更需要。小模型的指令遵循能力相对弱,越是要靠明确的系统提示和 Few-shot 示例来兜底。建议给 Haiku 多放一两个正负对照示例,效果提升明显。模型怎么选可以看 Claude 模型怎么选?Opus / Sonnet / Haiku 选型指南。
翻译任务和写作任务的反翻译腔提示词一样吗?
核心规则一样(禁弱动词、拆长定语、给中文示例),但翻译任务要额外强调"意译而非直译",并在提示词里明确"以中文读者读得顺为第一目标,可以调整语序、拆分长句"。否则模型会过度忠实于原文结构,反而保留了英式语序。