出力をローカライズする AI スキル/プロンプトは、定義と例を正準言語で統一し、出力言語は『ユーザーの言語で書け』指示で制御する
MCP
設計判断
国際化
AIツール設計
判断
運用
原則
MCP の公開面やエージェントのスキル/プロンプト定義を単一の正準言語(例: 英語)に統一する規約のもとで、そのスキル自体が読者の母語など多言語の出力を生成する場合(プロフィール・レポート・要約の生成など)に、両者をどう両立させるかの判断基準。
判断基準
- 定義(指示文)も、その中の例示も、正準言語で書く。出力サンプルとしてローカライズした文字列(ユーザーの母語の例文)を定義に埋め込まない。定義言語と出力言語は別物として扱う。
- 出力言語は『ユーザーの言語で書け(write in the user's language)』という一文の指示で制御する。これで定義は単一言語のまま、出力だけ読者の言語になる。
- 出力に固定見出しなどローカライズが要る要素があっても、定義側に母語の literal を持たせない。『見出しはユーザーの言語で』と指示して生成時に localize させる。literal を持つと正準言語の残存チェックに引っかかり、かつ出力言語が変わったとき陳腐化する。
- 例示は出力の『言語』ではなく『型・パターン』(姿勢+却下案の対比、良い例/悪い例の対比など)を示すためのもの。正準言語の例で十分に機能するので、母語の例に置き換えない。
なぜ
公開面の言語が混在すると、AI が読むスキーマ/指示とユーザーが見る出力の一貫性が落ち、保守性も下がる。一方で出力は読者の言語であるべき。『定義は正準言語・出力は指示で制御』と分離すると、定義側の言語純度を残存チェックで機械的に守りつつ、出力はローカライズできる。
失敗症状・検証
- 失敗症状: ローカライズした例文や出力見出しの literal を定義に埋め込むと、正準言語の残存チェックで弾かれ、出力言語を変えたとき例が古くなる。
- 検証: 定義ファイルに正準言語以外の文字が残っていないかを grep やテストで検出し、別言語のユーザーで実行して出力がその言語になることを確認する。