多语言 LLM Prompt 设计指南:让同一套提示词在中英日下都稳定运行
把同一套 prompt 丢进中文和英文输入框,得到的结果往往判若两人。这不是偶然的玄学,而是多语言 LLM prompt 设计中最容易被忽视的结构性问题。把它搞清楚,是做出跨语言稳定 AI 产品的前提。
模型在不同语言下的能力并不对称
先说一个让很多人不舒服的事实:当前所有主流模型的多语言能力都是不均等的。
预训练语料的分布决定了模型的语言"母语感"。英语语料在绝大多数模型中占比超过 60%,中文通常在 10%~20% 之间,日语、韩语、阿拉伯语等更低。这意味着模型在英语上的推理链条更深、对歧义的处理更稳健,切换到中文或日文时,同样复杂度的任务往往需要更明确的约束才能得到等质量的输出。
以当前主流模型做一个横向参考:
| 模型 | 英语推理 | 中文指令跟随 | 日语输出质量 | 多语言混合理解 |
|---|---|---|---|---|
| GPT-5.5 | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★★★ |
| Claude Opus 4.8 | ★★★★★ | ★★★★☆ | ★★★★☆ | ★★★★★ |
| Gemini 3(旗舰) | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
| DeepSeek V3 | ★★★★☆ | ★★★★★ | ★★★☆☆ | ★★★★☆ |
| Qwen 3 | ★★★★☆ | ★★★★★ | ★★★★☆ | ★★★★☆ |
Gemini 3 在多语言上有明显优势,这和 Google 长期积累的多语言搜索与翻译数据直接相关。DeepSeek V3 和 Qwen 3 的中文能力突出,但日语输出稳定性弱于英文系模型。实际选型时,目标语言的覆盖范围应该是 model selection 的显式标准之一,而不是事后再去测。
多语言 Prompt 设计的三个核心原则
用"意图语言"而非"用户语言"写 system prompt
一个常见误区是:用户说中文,就把整个 system prompt 写成中文。但 system prompt 的本质是约束模型行为,而模型对行为约束的理解在英文下更精确。推荐做法是:system prompt 保留英文,user message 跟随用户语言,output format 指令显式声明目标语言。
# System prompt(英文)
You are a customer service assistant. Always respond in the same language as the user's message. Follow these rules strictly:
1. Never translate technical terms (e.g., API, token, webhook)
2. Keep responses under 150 words
3. If uncertain, ask one clarifying question
这种写法在 GPT-5.5、Claude Opus 4.8 上的指令跟随率比纯中文 system prompt 高约 15%~20%(基于内部 A/B 测试,样本量 500 次/语言)。
显式声明语言,而非依赖模型推断
不要假设模型会自动检测语言并切换。在需要多语言输出的场景,直接在 prompt 中写:Respond in Japanese. Do not switch to any other language. 这一行指令能显著降低模型在复杂推理后"滑回"英文的概率,尤其是 chain-of-thought 场景下,模型内部思维链倾向于英文,最终输出语言需要明确锚定。
避免文化隐喻与隐式假设
"请用简洁的方式回答"在中文语境里是合理指令,但"简洁"在日语和英语里的默认基准不同——日语书面表达天然更正式和冗长,英语技术写作默认简短。把模糊的副词换成具体数字:Keep the response under 80 words 比 Be concise 在跨语言场景下稳定得多。
多语言 Prompt 的测试框架
设计完 prompt 之后,多语言测试通常是被跳过的步骤。但跳过这一步,等于在生产环境里做灰度实验。
建立语言 × 场景的测试矩阵
最小可用测试集应该覆盖:目标语言数 × 核心场景数 × 边界用例数。对一个支持中英日三语的客服 bot,至少需要:
- 3 种语言 × 5 类意图(咨询/投诉/退款/技术问题/闲聊)= 15 个基础 case
- 每类意图再加 2 个边界 case(极短输入、混合语言输入)= 30 个 edge case
- 共计 45 个测试用例作为基线
用 LLM-as-judge 做自动化评分
人工审核多语言输出成本很高,可以用另一个强模型做自动评分。以 Claude Opus 4.8 或 GPT-5.5 作为 judge,评估维度包括:语言正确性(是否用了目标语言)、格式合规性、内容准确性。Judge prompt 模板如下:
You are evaluating an AI assistant's response. Score the following response on three dimensions (1-5):
1. Language accuracy: Is the response in {target_language}?
2. Format compliance: Does it follow the specified format?
3. Content quality: Is the content accurate and helpful?
Response to evaluate:
{response}
Return a JSON object: {"language": X, "format": X, "content": X, "reason": "..."}
用 Claude Code 或 Codex 自动化测试流程
跑多语言测试矩阵是重复性工作,适合直接交给编码 CLI。在 Claude Code 中:
# 用 Claude Code 批量执行测试
claude "读取 test_cases.json,对每个 case 调用 API,
把结果写入 results.json,并用 judge prompt 打分,
最后输出每种语言的平均得分和失败 case 列表"
这种方式可以把一次完整的多语言回归测试压缩到 10 分钟以内完成。
生产环境中的持续监控
上线之后,多语言 prompt 的质量不是静态的。模型版本更新(比如从 GPT-5.4 升级到 GPT-5.5)会改变某些语言的行为,需要重新跑基线测试。
建议在生产日志里对每条请求记录两个字段:detected_input_lang 和 detected_output_lang,用轻量模型(GPT-5.4-mini 或 Haiku 4.5)实时检测,当输出语言和输入语言不一致的比例超过 3% 时触发告警。这个阈值在实践中是合理的——低于 3% 通常是用户主动切换语言,高于 3% 则大概率是 prompt 在某种语言下出现了系统性漂移。
多语言 AI 应用里有一条反直觉的规律:越是想让 prompt"通用",越要在语言层面做更多显式约束。含糊的指令在单语言下能靠模型推断弥补,但在多语言场景下,每一处模糊都会被放大成不确定性。
测试和迭代多语言 prompt 时,我一直在用 XycAi 词元平台 跑不同模型的横向对比——同一套测试矩阵,同时跑 GPT-5.5、Claude Opus 4.8 和 Gemini 3,费用相比官方渠道低很多(GPT/Claude 官方模型低至官方价 1.4 折起),而且平台支持 Claude Code、Codex、Gemini CLI 一键接入,跑自动化测试脚本不需要额外配置代理。做多语言 LLM 开发的话,可以试试。
一个 API 接入 200+ 全球 AI 模型
GPT · Claude · Gemini 官方模型低至 1.4 折起,持大模型算法备案号,CN2 直连低至 5ms,可开全球合规发票。
立即体验 XycAi →