CLAUDE LABEN
CLI — Claude Code v2.1.261 が9月4日に出ました。全67変更のうち46件が修正で、CLI 側は入力処理とバックグラウンド実行の不具合が中心ですSKILLS — 新しい /skill-doctor が、読み込み済みスキルのうち未使用のものと、それぞれが毎ターン食っている文脈量を一覧にします。片づけの起点として素直に便利でしたCOST — 実運用環境の実測では、スキル一覧だけで毎ターン約13,800トークン。うち84件が一度も呼ばれておらず、同名プラグインの二重有効化による重複が全体の41%を占めていましたLIMIT — bashOutputMaxChars と taskOutputMaxChars が加わり、コマンド出力とバックグラウンド出力をファイル退避せずインラインで渡せる量を最大128K文字まで引き上げられますBREAKING — プロンプトの単語編集キーが Bash 準拠になり、keybindingFlavor は効かなくなりました。auto モードでは、図表レンダラURLへの埋め込みリンクがアップロード扱いになりますSAFEGUARDS — 9月1日に Enterprise Frontier Safeguards が発表されました。監視に使う活動データを Anthropic 側ではなく顧客が持つクラウドに置く設計で、追加課金はないとされていますCLI — Claude Code v2.1.261 が9月4日に出ました。全67変更のうち46件が修正で、CLI 側は入力処理とバックグラウンド実行の不具合が中心ですSKILLS — 新しい /skill-doctor が、読み込み済みスキルのうち未使用のものと、それぞれが毎ターン食っている文脈量を一覧にします。片づけの起点として素直に便利でしたCOST — 実運用環境の実測では、スキル一覧だけで毎ターン約13,800トークン。うち84件が一度も呼ばれておらず、同名プラグインの二重有効化による重複が全体の41%を占めていましたLIMIT — bashOutputMaxChars と taskOutputMaxChars が加わり、コマンド出力とバックグラウンド出力をファイル退避せずインラインで渡せる量を最大128K文字まで引き上げられますBREAKING — プロンプトの単語編集キーが Bash 準拠になり、keybindingFlavor は効かなくなりました。auto モードでは、図表レンダラURLへの埋め込みリンクがアップロード扱いになりますSAFEGUARDS — 9月1日に Enterprise Frontier Safeguards が発表されました。監視に使う活動データを Anthropic 側ではなく顧客が持つクラウドに置く設計で、追加課金はないとされています
記事一覧/API & SDK
API & SDK/2026-09-06中級

訳文は自然なのに、実行時に落ちる翻訳がありました

多言語アプリの文言を Claude API で訳したとき、意味は正しいのに書式指定子だけが壊れることがあります。重大度で分けた受け入れ検査と、壊れた行だけを訳し直す修復ループを実装と実測でまとめました。

Claude API121ローカライズ3多言語対応3品質ゲート6個人開発126

プレミアム記事

段階公開を 5% で回していた壁紙アプリに、特定の言語の端末からだけクラッシュ報告が上がってきた夜がありました。直前に触ったのはアプリ内文言の差し替えだけで、コードには手を入れておりません。

訳文を上から順に読み返しました。どれも自然で、意味も合っています。読んでいる限り、どこにも異常が見当たりませんでした。

原因が見えたのは、訳文を「文章」として読むのをやめ、記号だけを縦に並べたときでした。原文の %1$@ が、訳文では %@ になっていたのです。

訳の良し悪しを見ている限り、書式指定子の壊れは一生見つかりません。 語彙の問題ではなく、構文の問題だからです。

落ちていたのは意味ではなく、引数の受け渡しでした

書式指定子は、実行時に値を差し込む穴です。iOS の String(format:) も Android の String.format も、この穴の個数と型を頼りに引数を割り当てます。

翻訳モデルは文を訳します。穴は文の一部として扱われるので、語順を組み替える過程で位置番号が落ちたり、プラットフォームの流儀に合わせて書き換えられたりします。悪意も不注意もなく、ただ「自然な訳文」を作った結果として起きます。

まず、引数が足りない/型が合わないときに何が起きるかを手元で確かめました。Python の % 書式で確認した実際の出力です。

"%s / %s" に1つだけ渡す: TypeError: not enough arguments for format string
"%d" に文字列を渡す:      TypeError: %d format: a real number is required, not str
"%(n)s" に空の辞書:       KeyError: 'n'
"%s" に2つ渡す:           成功 -> 'a'   ← 例外にならない

最後の行が大事でした。穴が余ると落ち、穴が足りないと落ちません。 Android の String.format も同じ非対称で、供給されない引数を参照すると MissingFormatArgumentException、型が合わなければ IllegalFormatConversionException を投げますが、引数を使い残しても例外は出ません。

つまり「指定子が消えた」と「指定子が増えた」は、まったく別の事故です。前者は情報が黙って欠けるだけ、後者は端末が落ちます。同じ「不一致」として一律に扱うと、止めるべきものを止められず、止めなくてよいものでリリースが止まります。

壊れ方を並べると、六つに収まりました

手元で拾えた壊れ方を分類してみたところ、次の六つに収まりました。

壊れ方原文訳文結果
位置番号の消失%1$@ 件を %2$d 秒で%@ items in %d seconds順序が言語依存になる
流儀の取り違え%1$@%1$siOS 側で不正
指定子の欠落%1$@ を %2$@ にMoved %1$@情報が消える
指定子の増加%1$@ を保存Saved %1$@ to %2$@実行時に落ちる
字形の破損%1$@%1$@ / % 1$@指定子として読まれない
エスケープの喪失%1$d%%%1$d%裸の % が残る

字形の破損は、日本語話者が中間に入る運用だと特に出やすいと感じています。全角の は目視でまず見分けがつかず、本番運用に出てから端末のクラッシュとして返ってくるのがいちばん痛い落とし穴でした。

回避の順番も、この分類のおかげではっきりしました。落ちる四つを機械で止め、落ちない二つは人に返します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
訳文を読んでも気づけない書式指定子の壊れを、配信前に機械で止められるようになる
指定子の欠落と増加を同じ扱いにせず、落ちる壊れ方と黙って情報が消える壊れ方を分けて判断できるようになる
壊れた行だけを伏字つきで訳し直す修復ループを、既存の翻訳パイプラインに足せるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-07-13
画像を原寸で送るか縮小するか — Opus 4.7 の高解像度ビジョンで1枚ごとに解像度を決めるコスト設計
Opus 4.7 の高解像度ビジョンで壁紙の細部分類は上がったのに、全部を原寸で送ったら週のトークンが跳ねました。1枚ごとに解像度と使うモデルを決める preflight を設計し、精度を保ったままコストを下げた実測を残します。
API & SDK2026-07-12
APIキーに有効期限を付けると、失効は事故ではなく予定になる — 無人運用の鍵カレンダー設計
Console で APIキーに有効期限を設定できるようになりました。無人で回している夜間ジョブを止めないために、二重鍵の重ね替えとローカルの失効台帳で「予定された失効」を運用に組み込む方法をまとめます。
API & SDK2026-07-10
画像分類の信頼度を鵜呑みにしない — クラス別しきい値の較正と棄却ルーティング
全体の一致率は92%なのに特定カテゴリだけ71%——Claude Visionの自己申告confidenceを鵜呑みにせず、クラス別にしきい値を較正して低信頼の判定を人手キューへ棄却する設計を実測記録として残します。検証セットの規模、較正が静かに腐る問題、採用の判断基準まで扱います。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →